Hallo Zusammen,
ich habe eine Frage zu den Achsensystemen in Catia V5 R18.
Es gibt 4 Arten (Typen) von Achsensystemen:
a) Standard
b) Achsendrehung
c) Eulersche Winkel
d) Explizit
Sie werden in meinem Skript mit
Für (a) oAxissystem.type = 0
Für (b) oAxissystem.type = 1
Für (c) oAxissystem.type = 2
Für (d) oAxissystem.type = 3
In meinem Skript gibt es viele Operationen, die in catia konstruiert werden.
Am Anfang von dem Skript sollen die Anwender ein Achsensystem selektieren (1.Selektion), dann sollen sie eine
Kante selektieren, um später ein Kreismuster um diese kante zu erzeugen.
Ich möchte, wenn die Anwender die Z-Achse selektiert haben, muss eine Fehlermeldung geben
MsgBox "Das Kreismuster kann nicht um die Z-Achse erzeugt werden. bitte nur die X- oder Y-Achse selektieren. Das Makro wird beendet"
Exit Sub
Wie kann ich in meinem Skript festlegen, welche Achse die Anwender selektiert haben?
Das sollte für alle Achsensystemen gelten.
Code:
Option Explicit
Public oAxissystem As Object
Public Const MacroID = "3D-DATA 1.0"
Sub CATMain()
Dim oSel
Dim sFilter(0)
Dim oSelection
' Selektion einer Achse
Set oSel = CATIA.ActiveDocument.Selection
sFilter(0) = "AxisSystem"
oSelection = oSel.SelectElement2(sFilter, "Bitte selektiere ein Achsensystem", True)
If oSel.Count2 = 0 Then
MsgBox "kein Achsensystem wurde selektiert" & Chr(13) & "Das makro wird beendet!", vbOKOnly + vbCritical, MacroID
Exit Sub
End If
If oSelection = "Normal" Then
Set oAxissystem = oSel.Item2(1).Value
End If
oSel.Clear
' Selektion einer Kante
sFilter(0) = "TriDimFeatEdge"
oSelection = oSel.SelectElement2(sFilter, "Bitte selektiere eine Kante, um das Kreismuster zu erzeugen", True)
If oSel.Count2 = 0 Then
MsgBox "keine Kante wurde selektiert" & Chr(13) & "Das makro wird beendet!", vbOKOnly + vbCritical, MacroID
Exit Sub
End If
Set Achse = oSel.Item2(1).Value
oSel.Clear
' Hier sollte das Ausschliessen von Z-Achse sein
'MsgBox "Das Kreismuster kann nicht um die Z-Achse erzeugt werden. bitte nur die X- oder Y-Achse selektieren. Das Makro wird beendet"
'Exit Sub
End Sub
Vielen Dank im Voraus
mit freundlichen Grüßen
Estafanos
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP