Zum Hauptinhalt springen
Featured image for iLogic: Import BOM Settings

iLogic: Import BOM Settings

·358 Wörter·2 min·
Inhaltsverzeichnis
Inventor iLogic - Dieser Artikel ist Teil einer Serie.
Teil 19: Dieser Artikel

Wie im Post iLogic: Stücklisten beschrieben, erlauben Baugruppen in Inventor über Assemble > Bill of Materials auf die Stückliste zuzugreifen. In der Stücklistenansicht werden definierte Properties angezeigt. Welche Properties angezeigt werden, wird am Dokument und nicht global gespeichert. Daher können die angezeigten Properties von Dokument zu Dokument zu variieren.

Inventor erlaubt eine vordefinierte Config im XML-Format über den Button Import… zu importieren:

Eine solche Config für darzustellende Properties muss zuvor in einem Dokument definiert und anschließen über den Button Export… exportiert und kann anschließend maßgebend in anderen Baugruppen genutzt werden.

Da das händische Importieren einer solchen Datei einen Akt zeitraubener Klickarbeit darstellt, kann der Import auch mit iLogic automatisiert werden.

Code zum Import der BOM Settings

Die BOM Settings können über das BOM Object manipuliert werden. Für den Import einer Settings-Datei stellt die Inventor API explizit die Methode BOM.ImportBOMCustomization bereit. Diese erwartet als einzigen Parameter einen absoluten Dateipfad zur Settings-Datei als String:

ImportBOMCustomization Method zum Import einer BOM Settings Datei

Im realen Anwendungsfall kann ales Beispiel eine BOM-Setting-Datei mit dem Namen BOM-Settings.xml herhalten. Der absolute Pfad dieser beispielhaften Datei soll lauten: C:\foo\BOM-Settings.xml

Dim oDoc As Document = ThisDoc.Document

' Sicherstellen, dass Import nur in Baugruppen erfolgt
If oDoc.DocumentType = kAssemblyDocumentObject Then
    Dim oBOM As BOM = oDoc.ComponentDefinition.BOM
    ' Absoluter Pfad zur BOM-Settings-Datei
    Dim sBOMSettingsFile As String = "C:\foo\BOM-Settings.xml"

    ' Import der Datei im aktiven Baugruppendokument
    oBOM.ImportBOMCustomization(sBOMSettingsFile)
End If

BOM nach Import öffnen

Möchte man die BOM nach dem Import einer Setting-Datei öffnen, kann auch dies mit iLogic erfolgen. Dabei muss die BOM über das ControlDefinition Object angesprochen und geöffnet werden. Um dies zu bewerkstelligen muss der zuvor gezeigte Code um lediglich 2 Zeilen erweitert werden:

Dim oBOMControlDef As ControlDefinition = ThisApplication.CommandManager.ControlDefinitions.Item("AssemblyBillOfMaterialsCmd")
oBOMControlDef.Execute2(True)

Wichtig an der Stelle ist, dass die Methode ControlDefinition.Execute2 und nicht ControlDefinition.Execute verwendet wird, da eine synchrone Ausführung des Befehls zur Laufzeit des iLogic Codes erfolgen muss.

Der Finale Code könnte dergestalt sein:

Dim oDoc As Document = ThisDoc.Document

' Sicherstellen, dass Import nur in Baugruppen erfolgt
If oDoc.DocumentType = kAssemblyDocumentObject Then
    Dim oBOMControlDef As ControlDefinition = ThisApplication.CommandManager.ControlDefinitions.Item("AssemblyBillOfMaterialsCmd")
    Dim oBOM As BOM = oDoc.ComponentDefinition.BOM
    Dim sBOMSettingsFile As String = "C:\foo\BOM-Settings.xml"

    ' Import der Datei im aktiven Baugruppendokument
    oBOM.ImportBOMCustomization(sBOMSettingsFile)
    ' BOM Aufrufen
    oBOMControlDef.Execute2(True)
End If
Inventor iLogic - Dieser Artikel ist Teil einer Serie.
Teil 19: Dieser Artikel