Hallo,
Irgendwie sitz ich grad auf dem schlauch, und hoffe das mir jemand nen guten tipp geben kann ;-)
Ich möchte ein Makro schreiben wo der User ein Geometrisches Set irgendwo im Strukturbaum auswählen kann. Dieses Geometrische Set soll dann deklariert werden, damit ich darin in meiner Programmstruktur weitere Geometrische Sets anlegen kann. (ich hab versucht das ganze Baum-Hierarchie-unabhängig über den Namen zu steuern, doch es hat irgendwie nicht geklappt :-( )
in meinem Makro funktioniert das nur wenn ich ihm sage wo das Geometrische set sich gerade befindet. (doch das ist unmöglich alles abzufangen... weil der User ja selbst in einem von seinem selbst angelegten Geosets dieses Makro ausführen soll)
*verwirrt*
anbei hab ich den code:
wär lieb wenn euch was dazu einfallen würde.
vielen dank schonmal im voraus
Code:
Sub CATMain()
Dim AktuellesPartDocument As PartDocument
Set AktuellesPartDocument = CATIA.ActiveDocument
Dim AktuellesPart As Part
Set AktuellesPart = AktuellesPartDocument.Part
'----- Selektion definieren und leeren -----
Dim UserSel1 As Object
Set UserSel1 = AktuellesPartDocument.Selection
UserSel1.Clear
'----- Auswahl_USfilter festlegen -------------------
Dim Was_US(0 To 0)
Was_US(0) = "HybridBody"
'-------------------------------------------
'USfilter = User Selektion filter
'Was_Us = Was User Selektion
'-------------------------------------------
'User Auswahl (kann nur ein geometrisches Set anwählen.)
Dim Auswahl_US1 'As Object
Auswahl_US1 = UserSel1.SelectElement2(Was_US, "Bitte selektieren sie ein geometrisches Set, in welches sie die Struktur erstellen möchten.", True)
AktuellesPart.Update
MsgBox UserSel1.Item(1).Value.Name
'------------------------------------------
'Namensabfrage was der User selektiert hat (später wieder rauslöschen)
'------------------------------------------
Dim VarUS As String
VarUS = UserSel1.Item(1).Value.Name
AktuellesPart.Update
Dim GSHBS_US1 As HybridBodies
Set GSHBS_US1 = AktuellesPart.HybridBodies
Dim GSHB_US1 As HybridBody
Set GSHB_US1 = GSHBS_US1.Item(VarUS) '<== Hier soll er das Geometrische Set mit dem Variablen Namen (vom User ausgewählt)
' das sich irgendwo im Strukturbaum befindet deklariert werden.
'------------------------------------------
'GSHBS_US1 = GeometrischesSetHybridBodieS_UserSelektion1
'GSHB_US1 = GeometrischesSetHybridBody_userSelektion1
'------------------------------------------
Dim GSHBS_T As HybridBodies
Set GSHBS_T = GSHB_SE.HybridBodies
Dim GSHB_T As HybridBody
Set GSHB_T = GSHBS_US1.Add()
GSBHS_US1.Name = "Test"
'-------------------------------------------
'GSHBS_T = GeometrischesSetHybridBodieS_Test
'GSHB_T = GeometrischesSetHybridBody_Test
'-------------------------------------------
End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP