Servus CADler,
stehe hier vor eine Aufgabe.
Ich muss per Ilogic diverse Bauteile in der Baugruppe und unterbaugruppe ausblenden.
Das ganze soll unter Inventor Professional 2014 laufen.
Ich bin wie folgt vorgegangen.
1.) In der Hauptbaugruppe habe ich ein Benutzerdefinierten Parameter angelegt.
Diesen habe ich als Boolean True or False angelegt.
2.) Über eine IF Then Anweisung habe ich die Bedingung geschrieben wenn der Parameter
True ist.
If iProperties.Value("Custom", "Varia")= True Then
Component.IsActive("Behälter1") = 0
Component.IsActive(MakePath("Behälter2", "Flange for Ventilation Pipe DN 200:1")) = 0
Component.IsActive(MakePath("Behälter2", "Combiflex PU Festflansch InlineDN200:1")) = 0
Component.IsActive(MakePath("Behälter2", "DIN 2458 Rohr 219.1 x 3.2 - 5000:1")) = 0
Component.IsActive(MakePath("Behälter2", "DIN 2458 Rohr 219.1 x 3.2 - 153:2")) = 0
Component.IsActive(MakePath("Behälter2", "DIN 2458 Rohr 219.1 x 3.2 - 153:1")) = 0
Component.IsActive(MakePath("Behälter2", "Losflansch-DIN2642-DN200:1")) = 0
Component.IsActive(MakePath("Behälter2", "DIN 2605 90 Grad Schenkelrohrtyp 3 219.1 - 4.5S:1")) = 0
Component.IsActive(MakePath("Behälter2", "DIN 2605 90 Grad Schenkelrohrtyp 3 219.1 - 4.5S:2")) = 0
Component.Visible("Schlauch 1") = 0
Component.Visible("Schlauch 2") = 0
3.) Wenn der Parameter False ist dann wird über Else IF das ganze umgestellt
Else If iProperties.Value("Custom", "Varia")= false Then
Component.IsActive("Behälter1") = 1
Component.IsActive(MakePath("Behälter2", "Flange for Ventilation Pipe DN 200:1")) = 1
Component.IsActive(MakePath("Behälter2", "Combiflex PU Festflansch InlineDN200:1")) = 1
Component.IsActive(MakePath("Behälter2", "DIN 2458 Rohr 219.1 x 3.2 - 5000:1")) = 1
Component.IsActive(MakePath("Behälter2", "DIN 2458 Rohr 219.1 x 3.2 - 153:2")) = 1
Component.IsActive(MakePath("Behälter2", "DIN 2458 Rohr 219.1 x 3.2 - 153:1")) = 1
Component.IsActive(MakePath("Behälter2", "Losflansch-DIN2642-DN200:1")) = 1
Component.IsActive(MakePath("Behälter2", "DIN 2605 90 Grad Schenkelrohrtyp 3 219.1 - 4.5S:1")) = 1
Component.IsActive(MakePath("Behälter2", "DIN 2605 90 Grad Schenkelrohrtyp 3 219.1 - 4.5S:2")) = 1
Component.Visible("Schlauch 1") = 1
Component.Visible("Schlauch 2") = 1
Die letzten beiden Komponenten kann ich nur über Component.Visible unsichtbar schalten da es sich hierbei um Routed Systems Komponenten handelt die in dem Struckturbaum erst auf dritter Ebene liegen.
Mein Momentanes Problem ist das die MathPath Funktion nicht greift.
Die Baugruppe Behälter 2 liegt auf der gleichen Ebene wie Behälter 1.
Die zu deaktivierenden Komponenten sind unter der Baugruppe Behälter 2 abgelegt und sind reine Bauteil.ipt.
Wenn ich die Regel ausführe dann wird zwar Behälter 1 deaktiviert aber der Rest nicht.
Zudem lass ich die Regel in einer Benutzerdefinierten Detailgenauigkeit laufen da die Regel mir in der Hauptansicht ein Fehler ausspuckt.
Das ganze mache ich aus dem Grund das ich hier eine Baugruppe habe die ca. 2090 Bauteile umfasst.
Es ist ersteinmal ein Versuch. Sollte dieser Klappen wird die Regel etwas umfangreicher.
Vielleicht kann mir jemand helfen. Vielleicht habe ich auch den komplett falschen Ansatz. Leider ist die Ilogic Dokumentation nicht wirklich hilfreich.
IAssembly hat den Nachteil das ich nur die Hauptkomponenten Einschließen und Auschließen kann. Und nicht einzelen Bauteile in der Unterbaugruppen. Und diese machen aber die Variantenvielfalt aus.
Erstmal vielen Dank
Technikus
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP