Komponentenfunktionen - Referenz (iLogic)

iLogic bietet Regelfunktionen zum Festlegen oder Lesen des Unterdrückungsstatus und der Farben von Komponenten sowie eine Funktion zum Ersetzen einer Komponente durch eine andere.

Diese Funktionen dienen zur Festlegung verschiedener Konfigurationen für Bauteilen oder Baugruppen.

Sie können ein Modell erstellen (Bauteil oder Baugruppe), das die zur Bereitstellung aller gültigen Konfigurationen eines Produkts erforderlichen Komponenten enthält. Diese Methode wird auch als Super-Modellieren bezeichnet. Verwenden Sie die Funktion Component.Replace, wenn die Bauteil- oder Baugruppenkomponenten zu komplex oder zu zahlreich sind und das Super-Modellieren sich als untauglich herausstellt.

Erweitern Sie zum Öffnen der Komponentenfunktionen den Knoten Komponenten auf der Registerkarte System im Bereich Snippets des iLogic-Dialogfelds Regel bearbeiten.

Komponentenbenennung

Passen Sie alle Komponentennamen an, bevor Sie sie in einer Regel verwenden. Durch Ändern des von Autodesk Inventor zugewiesenen Komponentennamens stellen Sie sicher, dass er beim Ändern einer referenzierten IPT- oder IAM-Datei nicht geändert wird.

Im Falle einer Inhaltscenter-Komponente ist eine Namensänderung für die Funktionen Component.IsActive und Component.Replace erforderlich.

Component.IsActive

Liest oder legt den Unterdrückungsstatus und die Stücklistenstruktur für eine Baugruppenkomponente fest. Verwenden Sie diese Funktion, um eine Komponente in eine Baugruppenkonfiguration aufzunehmen bzw. diese aus der Konfiguration auszuschließen.

Die Funktion kann bei einer Komponente oder einer Komponentenanordnungen angewendet werden. Verwenden Sie bei Anordnungen den Namen der Anordnung. Die Anordnung muss auf der gleichen Baugruppenebene wie die Regel sein, d. h. nicht in einer Unterbaugruppe.

Es dürfen keine untergeordneten Komponenten unterdrückt werden. Eine bessere Alternative ist die Unterdrückung mithilfe einer Regel innerhalb der Komponente.

Beispiel: Eine Baugruppe mit dem Namen ObersteBaugruppe enthält Unterbaugruppe:1. Diese Unterbaugruppe enthält Beispielbauteil:1.

Verwenden Sie eine Regel innerhalb Unterbaugruppe:1, um Beispielbauteil:1 zu unterdrücken. Diese Regel kann über einen Parameter verfügen, der den Unterdrückungsstatus festlegt. Diesen Parameter können Sie mit einer Regel in ObersteBaugruppe definieren.

Wenn Sie Component.IsActive zur Unterdrückung einer Komponente verwenden, ist die Stücklistenstruktur der Komponente auf Referenz gesetzt. Dadurch wird verhindert, dass die Komponente in der Stückliste aufgeführt wird. Sie wird in der Modelldatenansicht jedoch nicht in den Ansichten Strukturiert oder Nur Bauteile angezeigt. Wenn die Unterdrückung der Komponente aufgehoben wird (mit Component.IsActive), wird die Komponente in iLogic auf den Status vor der Unterdrückung zurückgesetzt (Normal, Unteilbar, Gekauft oder Phantom).

Erstellen und aktivieren Sie vor der Verwendung einer iLogic-Regel zum Ändern des Unterdrückungsstatus einer Baugruppenkomponente eine neue benutzerdefinierte Detailgenauigkeit.

Syntax

Component.IsActive("ComponentName")

Beispiele

Sie können 1 anstelle von true und 0 anstelle von false verwenden.

So legen Sie den Unterdrückungsstatus und die Stücklistenstruktur fest

Component.IsActive("PartA:1") = false
Component.IsActive("PartB:1") = 0
Component.IsActive("PartC:1") = false
Component.IsActive("PartD:1") = 0

So lesen Sie den Unterdrückungsstatus und die Stücklistenstruktur

MyBooleanParam = Component.IsActive("ComponentName:1)
If Component.IsActive("PartE") Then
' do something
End If

Component.iComponentIsActive

Mithilfe einer Variante der Funktion Component.IsActive kann der Unterdrückungsstatus einer iPart- oder iAssembly-Komponente gelesen oder festgelegt werden. Wenn Sie den Komponentennamen nicht manuell ändern, dann ist für die Verwendung von iParts und iAssemblies die folgende dafür vorgesehene Syntax erforderlich.

Es wird empfohlen, den Namen der Komponente zu ändern. Wenn Sie diesen Schritt ausgeführt haben, können Sie Component.IsActive statt dieser Funktion verwenden.

Syntax

Component.iComponentIsActive(“iPartParentName:1”)

iPartParentName

Der Name des Bauteils ohne die IPT-Dateinamenerweiterung

Component.Color

Liest oder legt die Farbe einer Komponente fest.

Syntax

Component.Color(“iPartA:1”)

Beispiele

Farbe festlegen:

Component.Color("iPartA:1") = "Green"
Component.Color("iPartA:2") = "Aluminum (Cast)"
Component.Color("iPartA:3") = "As Material"

Farbe lesen:

MyStringParameter = Component.Color("iPartA:1")

Component.Visible

Liest oder legt die Sichtbarkeit einer Komponente fest. Diese Funktion ändern nicht die Stücklistenstruktur der Komponente fest.

Syntax

Component.Visible("componentName")

Beispiele

Sichtbarkeit festlegen:

Component.Visible("Plate") = true
Component.Visible("Bearing") = false

Sichtbarkeit lesen:

parameter = Component.Visible("Plate")
parameter = Component.Visible("Bearing")
If Component.Visible("PartE") Then
do something
End If

Component.SkipDocumentSave

Legt fest, ob ein Komponentendokument bei Änderungen gespeichert wird, und unterdrückt anschließend mithilfe einer Regel die Komponente.

Syntax

Component.SkipDocumentSave = True

Wenn die Funktion auf True gesetzt ist, wird das Dokument nicht gespeichert.

Der Standardwert lautet False(Component.SkipDocumentSave = False ); das Komponentendokument wird gespeichert.

Component.Replace

Ersetzt ein Bauteil oder eine Unterbaugruppe durch ein anderes Bauteil bzw. eine andere Unterbaugruppe. Diese Funktion kann auch zum Ersetzen von Komponentenanordnungen verwendet werden.

Verwenden Sie iMates für Komponenten, die ausgetauscht werden, damit die Baugruppenabhängigkeiten erhalten bleiben. Sie können ein Bauteil durch ein anderes Bauteil oder eine Baugruppe sowie eine Baugruppe durch ein Bauteil austauschen.

Mit dieser Funktion wird in mehreren Ordnern nach der Datei gesucht, durch die ersetzt werden soll:

Der Dateiname kann ein relativer Pfad sein (relativ zu den zu durchsuchenden Speicherorten).

Wichtig: Stabilisieren Sie den Komponentennamen, bevor Sie diese Funktion verwenden, um die Änderung des Komponentennamens beim Austauschvorgang zu verhindern. Benennen Sie zum Stabilisieren des Komponentennamens diesen um. Der neue Name darf nicht mit dem Namen der aktuellen Datei oder einer der möglichen alternativen Ersetzungsdateien übereinstimmen. Stattdessen sollte es ein allgemeiner Name sein, der die Komponente generell beschreibt. Wenn Sie den Namen nicht stabilisieren, wird der Komponentenname beim Ersetzen entsprechend einem anderen Namen geändert. Die Komponente wird beim nächsten Ausführen der Regel nicht mehr von dieser erkannt.

Syntax

Component.Replace(“ComponentToReplaceName”, “OtherPartfilename.ipt”, <replaceAll>)

ComponentToReplaceName

Der Name des Bauteils bzw. der Baugruppe, die ersetzt werden

OtherPartfilename

Das Bauteil oder die Baugruppe, durch die ersetzt werden soll

<replaceAll>

Setzen Sie den Booleschen Wert auf True, um alle Instanzen dieser Komponente zu ersetzen. Setzen Sie den Wert auf False, um nur die angegebene Instanz zu ersetzen.

Beispiel

If PartType = "Type A" Then
Component.Replace("Widget","PartA.ipt", True)
ElseIf PartType = "Type B" Then
Component.Replace("Widget","PartB.ipt", True)
End If

Component.Replace (mit angegebener Detailgenauigkeit)

Mit dieser Variante der Funktion Component.Replace wird die Komponente einer Baugruppe durch eine andere Komponente mit einer bestimmten Detailgenauigkeit ersetzt.

Syntax

Component.Replace("SubAssem:1", "OtherAssemFilename.iam<Level of Detail>", <replaceAll>)

In dieser Funktion ist das Argument <replaceAll> mit dem Argument zu vergleichen, das im Zusammenhang mit der allgemeineren Funktion Component.Replace beschrieben wurde.

Sie haben auch die Möglichkeit, eine Unterbaugruppe durch die gleiche Unterbaugruppe mit einer anderen Detailgenauigkeit zu ersetzen.

Component.ReplaceiPart

Diese Funktion, die für iParts mit benutzerdefinierten Parametern erforderlich ist, wird auch für Norm-iParts empfohlen. Verwenden Sie diese Funktion anstelle von Component.Replace, wenn es sich bei der Komponente um ein iPart handelt. Nach dem Ersetzen können Sie iPart.ChangeRow oder iPart.FindRow verwenden, um die jeweilige iPart-Konfiguration zu ändern.

Geben Sie im Falle eines iParts mit benutzerdefinierten Parametern die Werte für die benutzerdefinierten Parameter nach rowNumber ein. Die Werte müssen in der Reihenfolge aufgeführt werden, in der sie in der Tabelle angezeigt werden.

Syntax

Component.ReplaceiPart("iPart1:1", "OtherPartfilename.ipt", True, rowNumber)

Verwenden Sie rowNumber, um eine Komponente zu ersetzen und gleichzeitig eine iPart-Zeile auszuwählen.

Beispiele

Geben Sie zum Festlegen der benutzerdefinierten Parameter die benutzerdefinierten Werte erneut in Component.ReplaceiPart und später im Rahmen einer Regel in iPart.ChangeRow oder iPart.FindRow ein.

Für ChangeRow:

Component.ReplaceiPart("iPart1:1", "OtherPartfilename.ipt", True, rowNumber, customParam1, customParam2)
iPart.ChangeRow("iPart1:1", rowNumber, customParam1, customParam2)

Für FindRow:

Component.ReplaceiPart("iPart1:1", "OtherPartfilename.ipt", True, rowNumber, customParam1, customParam2)
i = iPart.FindRow("iPart1:1", "Dia", ">=", 3.0, "r;|", customParam1, customParam2)

MakePath

Definiert den Pfad eines Komponentennamens in einer Baugruppe. Führen Sie zum Festlegen des Pfads alle Baugruppenebenen in der Reihenfolge auf, in der sie in der Baumstrukturansicht erscheinen. Diese Funktion ist erforderlich, um einen Komponentennamen festzulegen, der bereits an einer anderen Stelle in der Baugruppe vorhanden ist.

Syntax

MakePath(“SubassemblyComponentName”,“PartComponentName”)

Beispiele

Component.Color(MakePath("SubAssem1:1", "Part2:1")) = “Green”
Component.IsActive(MakePath("SubAssem1:1", "SubSubAssem2:1", "Part2:1")) = “Yellow”