Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Kreis aus VDA-Datei erstellen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Kreis aus VDA-Datei erstellen (772 mal gelesen)
Filippo
Mitglied
CAx-Systemverwalter


Sehen Sie sich das Profil von Filippo an!   Senden Sie eine Private Message an Filippo  Schreiben Sie einen Gästebucheintrag für Filippo

Beiträge: 168
Registriert: 09.11.2003

erstellt am: 18. Okt. 2012 12:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

mit diesem Makro kann ich Kreise aus VDA-Dateien erstellen.

Code:
Sub CATMain()

'Kreis aus VDA-Datei
'S1C5 = CIRCLE / -877.819557,-1248.547217,-659.850036,  3.516760,        00008200
'  -0.999960, 0.000000, 0.008903, 0.000046,-0.999987, 0.005164,          00008210
'    0.000000,360.000000                                                00008220

    Call goCreateCircle(-877.819557, -1248.547217, -659.850036, 3.51676, -0.99996, 0#, 0.008903, 0.000046, -0.999987, 0.005164, 0#, 360#)
End Sub

Sub goCreateCircle(ByVal x As Double, _
                    ByVal y As Double, _
                    ByVal z As Double, _
                    ByVal radius As Double, _
                    ByVal h1 As Double, _
                    ByVal h2 As Double, _
                    ByVal h3 As Double, _
                    ByVal v1 As Double, _
                    ByVal v2 As Double, _
                    ByVal v3 As Double, _
                    ByVal RadiusStart As Double, _
                    ByVal RadiusEnde As Double)
                   
    Set partDocument1 = CATIA.ActiveDocument
    Set part1 = partDocument1.Part
   
    Dim hybridBody1 As MECMOD.HybridBody
    Dim HybridShapeCircleExplicit1 As HybridShapeCircleExplicit
    Set hybridBody1 = part1.HybridBodies.Add()
    part1.Update

    Dim reference1 As INFITF.Reference
    Set reference1 = part1.CreateReferenceFromObject(part1.HybridShapeFactory.AddNewPointCoord(x, y, z))

    Dim originElements1 As MECMOD.OriginElements
    Set originElements1 = part1.OriginElements

    Dim hybridShapePlaneExplicit1 As HybridShapeTypeLib.HybridShapePlaneExplicit
    Set hybridShapePlaneExplicit1 = part1.OriginElements.PlaneXY

    Dim reference2 As INFITF.Reference
    Set reference2 = part1.CreateReferenceFromObject(hybridShapePlaneExplicit1)

    Dim hybridShapeCircleCtrRad1 As HybridShapeTypeLib.HybridShapeCircleCtrRad
    Set hybridShapeCircleCtrRad1 = part1.HybridShapeFactory.AddNewCircleCtrRad(reference1, reference2, False, radius)

    Call hybridShapeCircleCtrRad1.SetLimitation(1)

    Call hybridBody1.AppendHybridShape(hybridShapeCircleCtrRad1)

    part1.InWorkObject = hybridShapeCircleCtrRad1
    part1.Update

    Dim reference4 As INFITF.Reference
    Set reference4 = part1.CreateReferenceFromObject(hybridShapeCircleCtrRad1)

    Set HybridShapeCircleExplicit1 = part1.HybridShapeFactory.AddNewCircleDatum(reference4)

    Call hybridBody1.AppendHybridShape(HybridShapeCircleExplicit1)

    part1.InWorkObject = HybridShapeCircleExplicit1

    part1.Update

    Call part1.HybridShapeFactory.DeleteObjectForDatum(reference4)

    part1.Update
End Sub


Dieses Makro verwendet aber nur die XYZ-Koordianten und den Radius.
Ich würde aber auch die Vektor-Daten(h1-h3 und v1-3) und Start-Ende-Radius verwenden.
Kann mir jemanden mit den Vektor-Daten helfen?
Die Vektor-Daten sind damit man den Kreis auf verschiedene Ebene erstellt.

Vielen Damk schon in Voraus
Filippo

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bgrittmann
Moderator
Konstrukteur


Sehen Sie sich das Profil von bgrittmann an!   Senden Sie eine Private Message an bgrittmann  Schreiben Sie einen Gästebucheintrag für bgrittmann

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 18. Okt. 2012 13:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Filippo 10 Unities + Antwort hilfreich

Servus
Du könntest probieren die Ebene über eine Gleichung (AddNewPlaneEquation) zu erstellen. Dazu musst du die Koeffizienten berechnen.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Filippo
Mitglied
CAx-Systemverwalter


Sehen Sie sich das Profil von Filippo an!   Senden Sie eine Private Message an Filippo  Schreiben Sie einen Gästebucheintrag für Filippo

Beiträge: 168
Registriert: 09.11.2003

erstellt am: 18. Okt. 2012 13:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Bernd,

Zitat:
Dazu musst du die Koeffizienten berechnen.

und wie geht das, etwa so "(h1*v1)+(h2*v2)+(h3*v3)=d" ?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz