Spalten aus BOMView auslesen / Inventor VBA
DerBrain87 14. Jan. 2020, 15:29

Hallo zusammen,
ich möchte gerne aus einer Baugruppe die Daten nach Excel exportieren, welche bei Stückliste unter den Modelldaten aufgelistet sind.
In meiner Exceldatei sollen genau die gleichen Spalten enthalten sein, wie in der Inventor-Stückliste. Jene Lösungsvorsätze die ich bisher fand gingen stets über die iProperties der referenzierten Dokumente, aber genau dies möchte ich vermeiden.
Mir geht es hierbei momentan lediglich darum, die Daten in ein Array zu bekommen. Der eigentliche Export in eine Exceldatei ist für mich kein Problem.
Folgendes habe ich bereits:

Code:

Dim oBOMRows As Inventor.BOMRowsEnumerator: Set oBOMView = ThisApplication.ActiveDocument.ComponentDefinition.BOM.BOMViews(1).BOMRows
Dim i As Integer
For i = 1 To oBOMRows.Count
Dim oBOMRow As Inventor.BOMRow: Set oBomRows(i)
' Hier fehlt es mir...
Next i

Was mir fehlt ist etwas in dieser Art:

Code:

For j = 1 to oBomRow.Columns.Count
  myVariable(i, j) = oBomRow.Item(i,j).Value
Next j

Da es Methoden wie '.Item', '.Columns' etc. alles nicht gibt, hoffe ich noch auf eine Funktion, wie 'GetResultText' bei SketchedSymbols geben könnte. Bisher aber nichts finden können...
Gibt es denn eine PropertySet-freie Variante an diese Daten zu kommen?

Danke schonmal für die Mithilfe (auch wenn ich befürchte, dass es nicht ohne die iProperties gehn wird )

p.s. dass mein Code-Schnipsel nicht übermäßig schön programmiert ist, ist mir durchaus bewusst. Aber solange ich noch Inventor-Funktionen suche investiere ich keine Zeit in Code-Kosmetik 

rkauskh 14. Jan. 2020, 16:00

Hallo

Meines Wissens gibt es das was du suchst nicht. Deswegen machen die anderen alle den Umweg in die iProps.    Stücklistenposition, Menge und eine Referenz auf die ComponentDefinition sind im Großen und Ganzen alles woraus die BOM in der Bauruppe besteht.
Da du eh so exportieren willst wie angezeigt, warum nimmst du nicht

Code:
ThisApplication.ActiveDocument.ComponentDefinition.BOM.BOMViews(1).Export($FileName As String, $FileFormat As FileFormatEnum, [$Options As Object])

DerBrain87 14. Jan. 2020, 16:21

Danke für den Vorschlag.
Da vor dem Export noch eine benutzerdefinierte Ausdünnung dieser Daten geplant ist, funktioniert die Inventor-Export-Funktion für mich leider ebenfalls nicht...

rkauskh 14. Jan. 2020, 17:14

Hallo

Ok, ich hatte es im ersten Beitrag so verstanden, dass die BOM so wie sie ist exportiert werden soll. Die BOM komplett exportieren und in Excel ausdünnen ist keine Option?

DerBrain87 16. Jan. 2020, 11:18

Eher nicht.
Hab es jetzt halt doch über die iProperties gemacht.
Trotzdem vielen Dank für die Mühe.

Gruß