Hallo Werner,
Ich habe hier mal ein Script, welches dir vielleicht helfen könnte. Allerdings habe ich hier kein Inventor, um es für dich anzupassen.
Dim oDoc As Inventor.PartDocument
Set oDoc = ThisApplication.ActiveDocument
Dim VARIABLE As Boolean
Dim EXTRUSION As Inventor.ExtrudeFeature
For Each EXTRUSION In oDoc.ComponentDefinition.Features.ExtrudeFeatures
If TypeOf EXTRUSION Is Inventor.ExtrudeFeature Then
If EXTRUSION .Name = "Extrusion1" Then
If VARIABLE = False Then
EXTRUSION.Delete
End If
End If
End If
Next
Jetzt zur Erläuterung: Dieser Text ist in der Lage eine Extrusion, nämlich die Extrusion mit dem Namen "Extrusion1" zu löschen, wenn die Variable "VARIABLE" falsch (False) ist. Wenn die Variable nicht falsch ist, dann wird die Extrusion nicht gelöscht. Es durchsucht den Modellbrowser nach dem Namen und löscht dann das Feature abhängig von der Variable.
Du müsstest jetzt damit folgendes probieren, da ich wie gesagt momentan keinen Inventor zur Verfügung habe:
1. EXTRUSION nicht als Extrusion, sondern als Baugruppe definieren
2. oDoc nicht als Bauteil, sondern als Baugruppendokument definieren
3. Die If-Schleife umschreiben (Es ist ja erkennbar, wie die aufgebaut ist. So nach dem Motto: "If TypeOf Baugruppe Is Inventor.BaugruppenFeature Then...")
4. Der Punkt wo steht "Extrusion.Delete" muss umgeschrieben werden nach sowas wie "Baugruppe.Hide"
5. Auch müsstest du natürlich die Variable noch irgendwie definieren. Z.B. per Eingabeabfrage. (Dialogbox: "Baugruppe ausblenden? Ja/Nein")
Damit kann man die Variable schon mal ausreichend Abfragen.
Ok. Das war's. Wie gesagt, ich kann dir nicht versprechen, das das funktioniert. Ich bin auch kein Profi, aber ich glaube, das es so ungefähr funktionieren müsste.
Versuch's mal.
MfG, Heiner
------------------
The engineer constructs weapons, the civil engineer constructs targets!