Hallo,
ich möchte die Existenz eines Achsensystems abfragen. Wenn es vorhanden ist, soll es für die
Erstellung einer Isoansicht verwendet werden.
Ich habe es so versucht:
'-----------ACHSENSYSTEME ABFRAGEN------------------------
For i = 1 To oPart.axisSystems.Count '<<Objekt axisSystems wurde ganz oben erzeugt
Set axisSystem1 = oPart.axisSystems.Item(i)
'---------WENN "Achsensystem.2" VORHANDEN AUSWAEHLEN------------------
If axisSystem1 = "Achsensystem.2" Then '<<<hier kommt die Fehlermeldung: Das Objekt unterstüzt die Eigenschaft oder Methode
' nicht oPart.axisSystems1
Set axisSystem1 = axisSystems1.Item("Achsensystem.2")
oIsoView.GenerativeBehavior.SetAxisSysteme Nothing, axisSystem1
End If
Next
Da es meine erste Schleife ist, die ich erstelle, weiß ich nicht so recht ob
es total falsch ist was ich da gemacht habe, oder ob "nur" der Objektpfad falsch ist.
Das gesamte Makro erstellt ein Baltt, auf dem die Isoview eines geöffneten Parts
erzeugt wird.
Das Achsensystem heißt, wenn vorhanden immer "Achsensystem.2".
Einen Beispielpart (erstellt mit V5R16), der eine solche Achssystemstruktur hat hab ich hochgeladen.
Der gesamte Code ist:
Sub CATMain()
Set oPart = CATIA.ActiveDocument.Part
Set axisSystems1 = oPart.AxisSystems
'--------------------ZEICHNUNG ERZEUGEN UND AKTIVIEREN
Set oDrawing = CATIA.Documents.Add("Drawing")
Set oSheet = oDrawing.Sheets.ActiveSheet
Set oIsoView = oSheet.Views.Add("Isometric View")
'-------------------------ISOMETRIE ANSICHT ERZEUGEN
Set oIsoViewGB = oIsoView.GenerativeBehavior
oIsoViewGB.Document = oPart
'-------------WENN VORHANDEN ACHSENSYSTEM "Achsensystem.2" AUSWAEHLEN
'-------------WENN NICHT VORHANDEN "Absolutes Achsensystem" VERWENDEN
'-----------ACHSENSYSTEME ABFRAGEN------------------------
For i = 1 To oPart.axisSystems.Count '<<Objekt axisSystems wurde ganz oben erzeugt
Set axisSystem1 = oPart.axisSystems.Item(i)
'---------WENN "Achsensystem.2" VORHANDEN AUSWAEHLEN------------------
If axisSystem1 = "Achsensystem.2" Then '<<<hier kommt die Fehlermeldung: Das Objekt unterstüzt die Eigenschaft oder Methode nicht oPart.axisSystems1
Set axisSystem1 = axisSystems1.Item("Achsensystem.2")
oIsoView.GenerativeBehavior.SetAxisSysteme Nothing, axisSystem1
End If
Next
'-------------- ISOMETRIEANSICHT DEFINIEREN
oIsoView.GenerativeBehavior.DefineIsometricView -0.5, 0.5, 0.1, -0.1, -0.7, 0.5
' Indicates whether to project 3D points
oIsoView.GenerativeBehavior.PointsProjectionMode = catPointsProjectionModeOn
oIsoView.x = 335
oIsoView.y = 195
oIsoViewGB.Update
'--------------REFRAME
Set specsAndGeomWindow1 = CATIA.ActiveWindow
Set specsViewer1 = specsAndGeomWindow1.ActiveViewer
specsViewer1.Reframe
specsViewer1.Reframe
End Sub
Den Code für die Schleife habe ich im wesentlichen von
http://ww3.cad.de/foren/ubb/Forum137/HTML/003013.shtml#000007
übernommen.
Viele Grüsse
HaWu
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP