ich habe ein Makro geschrieben das mir die Bauteile in einer Gruppe aktiviert. Das Makro funktioniert aber nur wenn ich bereits vorher die Gruppe selektiere. Gibt es eine Möglichkeit zuerst das Makro zu starten und danach die Gruppe oder ein Bauteil zu selektieren?
Dann könnte ich mein Makro so schreiben dass wenn bereits eine Gruppe oder ein Bauteil selektiert ist dieses aktiviert wird und wenn noch keines selektiert ist muss zuerst ein Bauteil selektiert werden und dann wird es sofort aktiviert (ohne das Makro nochmal selbst zu starten).
erstellt am: 21. Feb. 2014 11:35 <-- editieren / zitieren --> Unities abgeben: Nur für graaas
Servus Dazu kannst du die Methode "SelectElement2". Über den Parameter "iObjectSelectionBeforeCommandUsePossibility" kannst du definieren ob schon zuvor selektierte Elemente akzeptiert werden, oder die Selektion neu aufgerufen wird.
Gruß Bernd
------------------ Warum einfach, wenn es auch kompliziert geht.
leider kenne ich mich mit der Funktion nicht so gut aus. Wie muss ich das anstellen. Mein bisheriger Code schaut so aus (wobei jetzt das Makro noch beendet wird wenn keine Selektion vorhanden ist).
Code:Sub CATMain()
Set productDocument1 = DMU.ActiveDocument Set selection1 = productDocument1.Selection
'Wenn keine Selektion vorhanden dann beenden If selection1.Count = 0 Then Exit Sub Else
'Wenn Selektion vorhanden dann prüfen ob es eine Gruppe ist oder ein normales Bauteil und aktivieren Set test = selection1.Item2(1).Value
If TypeName(test) = "Group" Then CATIA.StartCommand ("Select Content") CATIA.StartCommand ("Activate Terminal Node") Else CATIA.StartCommand ("Activate Terminal Node") End If End If
E = selection1.SelectElement2(Was, "Objekt wählen", False)
If E = "Normal" Then Set test = selection1.Item2(1).Value
If TypeName(test) = "Group" Then CATIA.StartCommand ("Select Content") CATIA.StartCommand ("Activate Terminal Node") Else CATIA.StartCommand ("Activate Terminal Node") End If