Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Problem mit achsensystem (Typ:AxisRotation) erzeugung

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:  Problem mit achsensystem (Typ:AxisRotation) erzeugung (1331 mal gelesen)
jbinder
Mitglied
Student

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

Beiträge: 2
Registriert: 07.05.2015

erstellt am: 07. Mai. 2015 16:24    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,
Entschuldigen Sie mir bitte füur meine Fehler, ich bin einen Auslander 

Also hab ich ein Problem mit ein Excel-Makro,
Ich versuche ein AchsenSystem (Typ AxisRotation) zu erzeugen, aber wahrscheinlich hab ich einen Fehler in mein Kod weil es leider nicht funktionniert...
Ich kann ein normale Achsen System erzeugen (Type Standard) aber mit Achsen-Drehung funktionniert es nicht...
Normalerweise braucht man 4 eingaben: Ursprung (Kein problem), Achse (Idem), Referenz (hier gibt es ein Problem!) und Winkel.

Es scheint dass vba nicht Typ AxisRotation erkennt, jedes mal erzeugt es ein normales AchsenSystem...

Vielen dank für eure Hilfe!!

Jérémy

Code:
'------------------------------------------------------------------------
'Create the Starting Geometry
'------------------------------------------------------------------------

Sub GeometryStart(PTab() As Double, Nom As String, B As Double)    'PTab()=geometric parameters'

    'Get CATIA and create bodies
    Dim PtDoc, MeineKoerper, HBodies, Parameter As Object
    Set PtDoc = GetCATIAPartDocument
    Set MeineKoerper = PtDoc.Part.Bodies
    Set HBodies = PtDoc.Part.HybridBodies
       
    Dim Koerper As Object
    Set Koerper = MeineKoerper.Add()
    Koerper.Name = Nom
   
'Create Abschnitte and Schnitte
    Set FA = HBodies.Add()
    FA.Name = Nom & "_Abschnitt"
       
    For i = 1 To 2 * PTab(0, 0)
           
        Set FS = FA.HybridBodies.Add()
        FS.Name = Nom & "_Schnitt_" & i
               
'Create the origin points
        Dim Punkt As Object
        Set Punkt = PtDoc.Part.HybridShapeFactory.AddNewPointCoord(PTab(i, 1), PTab(i, 2), PTab(i, 3))
        Punkt.Name = "Ursprung_Schnitt_" & i
        FS.AppendHybridShape Punkt
     
'Create the Y Lines
        Dim Ref1 As Object
        Dim Richtung, LinieY As Object
        Set Ref1 = PtDoc.Part.CreateReferenceFromObject(Punkt)
        Set Richtung = PtDoc.Part.HybridShapeFactory.AddNewDirectionByCoord(0, 10, 0)
        Set LinieY = PtDoc.Part.HybridShapeFactory.AddNewLinePtDir(Ref1, Richtung, 0, 300, False)
        LinieY.Name = Nom & "_LinieY_Schnitt_" & i
        FS.AppendHybridShape LinieY
       
'Create the "Winkel-Ebene" and the perpendicular-Ebene
        Dim RefY, UrsprungsElemente, EbeneZX, Ref5, EbeneXY, Ref3, Ebene2, Ref4, Ebene3 As Object
        Set RefY = PtDoc.Part.CreateReferenceFromObject(LinieY)
        Set UrsprungsElemente = PtDoc.Part.OriginElements
        Set EbeneXY = UrsprungsElemente.PlaneXY
        Set Ref3 = PtDoc.Part.CreateReferenceFromObject(EbeneXY)
        Set Ebene2 = PtDoc.Part.HybridShapeFactory.AddNewPlaneAngle(Ref3, RefY, PTab(i, 5), 0)
        FS.AppendHybridShape Ebene2
        Set Ref4 = PtDoc.Part.CreateReferenceFromObject(Ebene2)
        Set Ebene3 = PtDoc.Part.HybridShapeFactory.AddNewPlaneAngle(Ref4, RefY, 90, 0)
        FS.AppendHybridShape Ebene3
        Set EbeneZX = UrsprungsElemente.PlaneZX
        Set Ref5 = PtDoc.Part.CreateReferenceFromObject(EbeneZX)
       
'Create the X Lines
        Dim Richtung2, LinieX As Object
        Set Richtung2 = PtDoc.Part.HybridShapeFactory.AddNewDirection(Ebene3)
        Set LinieX = PtDoc.Part.HybridShapeFactory.AddNewLinePtDir(Ref1, Richtung2, 0, 300, False)
        LinieX.Name = Nom & "_LinieX_Schnitt_" & i
        FS.AppendHybridShape LinieX

'Create the Z Lines
        Dim Richtung3, LinieZ As Object
        Set Richtung3 = PtDoc.Part.HybridShapeFactory.AddNewDirection(Ebene2)
        Set LinieZ = PtDoc.Part.HybridShapeFactory.AddNewLinePtDir(Ref1, Richtung3, 0, 300, False)
        LinieZ.Name = Nom & "_LinieZ_Schnitt_" & i
        FS.AppendHybridShape LinieZ
       
'Create The AxisSystem
        PtDoc.Part.Update
        Dim Axis, RefX, RefZ, Rot As Object
        Set Axis = PtDoc.Part.AxisSystems.Add
        Axis.Name = Nom & "_Axis_" & i
        Axis.Type = catAxisSystemAxisRotation
        Axis.OriginType = catAxisSystemOriginByPoint '0
        Axis.OriginPoint = Ref1
        Axis.XAxisType = catAxisSystemAxisSameDirection '0
        Set RefX = PtDoc.Part.CreateReferenceFromObject(LinieX)
        Axis.XAxisDirection = RefX
        Axis.AxisRotationReference = Ref5

       
''Choose between ZY-Ebene or XY Ebene To create the profiles
'        If B = 1 Then
'            Axis.YAxisDirection = RefY
'            Axis.ZAxisDirection = RefZ
'        ElseIf B = 2 Then
'            Axis.YAxisDirection = RefZ
'            Axis.ZAxisDirection = RefY
'        End If
'
       
        PtDoc.Part.UpdateObject Axis
       
    Next
   
'Create geometrical set for profile geometry
    Dim FA1, FS1 As Object
   
    For j = 1 To 2 * PTab(0, 0)
   
        Set FA1 = HBodies.Item(Nom & "_Abschnitt")
        Set FS1 = FA1.HybridBodies.Item(Nom & "_Schnitt_" & j)
        Set Hbody = FS1.HybridBodies.Add()
        Hbody.Name = "Profil_Schnitt_" & j
       
    Next j

End Sub


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

jbinder
Mitglied
Student

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

Beiträge: 2
Registriert: 07.05.2015

erstellt am: 07. Mai. 2015 16:51    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

Ok, ich hab ne Lösung gefunden:

VBA excel erkennt nicht diese Syntax: Axis.Type = catAxisSystemAxisRotation
Man muss lieber schreiben: Axis.Type = 0 oder 1 oder 2 (0=Standard, 1=axisRotation, 2=EulerAngles)

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