# FileBomRow

A file BomRow is of type PsObject and represents a single row entry in the CAD BOM from a file in Vault.

The $fileBomRow object is dynamically generated based on the Properties coming from the CAD BOM and provides additionally all the members from its corresponding File (except for Virtual Components). The BOM specific properties are named the same as in the CAD BOM, including whitespaces and starting with the ‘Bom_’ prefix. If you want to access such a property you have to enclose it in single quotes. ## Syntax $bomRow.'Bom_Part Number'


The following properties are always added in addition to the File members:

Type

Name

Description

string

Bom_Number

The Part Number of the component. When the component has no Part Number, it is the component name.

int

Bom_RowOrder

The Order of the component in the BOM. It doesn’t really affect the BOM structure, but it helps with sorting rows.
0 for components for which no information is available in the Structured BOM View (e.g. Structured View disabled)

string

Bom_PositionNumber

The Position Number of the component in the BOM.
Empty for components for which no information is available in the Structured BOM View (e.g. Structured View disabled)

string

Bom_Unit

The Unit of Measure of the component (e.g. Each, inch, liter, kg,…).

string

Bom_XRefTyp

The XRefTyp which specifies whether the component is internal or external in relation to the design file.

string

Bom_Structure

The BomStructure of the component can be Normal, Phantom, Purchased, Reference, DynamicPhantom or Inseperable.

double

Bom_Quantity

The Quantity (QTY) is the total quantity of the occurrence calculated based on the components Item Quantity, its Unit Quantity and overridden component Quantities.

int

Bom_ItemQuantity

The Item Quantity (Item QTY) is the number of instances of a component in the BOM.

double

Bom_UnitQuantity

The Unit Quantity (Unit QTY) is the amount which each discrete instance of a component adds to the total quantity.

string

Bom_ModelState

The model state name of the used component in the BOM.
”Master” specifies the primary model state and is also returned for files without associated model states.

$fileBomRow is supporting this feature • all active properties can be accessed via the displayName • all active properties can be accessed via _SystemName except: the ones with guids (=user defined) ## Examples Example of a bomRow (on an english environment): Bom_RowOrder : 3 Bom_PositionNumber : 7 Bom_Number : ERP-41880947 Bom_Unit : Each Bom_ItemQuantity : 2 Bom_UnitQuantity : 1.2 Bom_Quantity : 2.4 Bom_XRefTyp : External Bom_Structure : Normal Bom_ModelState : Master Bom_Author : B. ROEPKE Bom_KeyWords : Vault, Tutorial, Padlock Bom_Revision : A Bom_Category : Vault Sample Models Bom_Company : Autodesk, Inc. Bom_Cost Center : PRODUCT DESIGN Bom_Creation Time : 11.04.1976 22:30:33 Bom_Description : 164987124 Bom_Designer : B. ROEPKE Bom_Engineer : B. ROEPKE Bom_Cost : 17 Bom_Part Number : ERP-41880947 Bom_Project : PADLOCK Bom_Vendor : Autodesk, Inc. Bom_Checked By : B. ROEPKE Bom_Date Checked : 19.12.2002 08:09:56 Bom_Design Status : 3 Bom_Engr Approved By : D. BRISSON Bom_Engr Date Approved : 24.12.2002 08:09:56 Bom_Mfg Date Approved : 01.01.1601 00:00:00 Bom_User Status : RELEASED Bom_Catalog Web Link : http://www.autodesk.com/inventor/ Bom_Document SubType : {E60F81E1-49B3-11D0-93C3-7E0706000000} Bom_Document SubType Name : Assembly Bom_EquivalenceValue : 100002 Bom_Subject : Bach Bom_Manager : Georg Bom_Title : 2077753685 Classification : None _Classification : None Version : 3 _VersionNumber : 3 Comment : Property Edit _Comment : Property Edit Number of Attachments : Autodesk.DataManagement.Client.Framework.Vault.Currency.Properties.ImageInfo _NumManualAttachments : Autodesk.DataManagement.Client.Framework.Vault.Currency.Properties.ImageInfo Date Version Created : 19.04.2018 17:35:27 _DateVersionCreated : 19.04.2018 17:35:27 Created By : coolOrange _CreateUserName : coolOrange Checked In : 19.04.2018 17:35:27 _CheckInDate : 19.04.2018 17:35:27 File Name : Combo Assembly.iam _ClientFileName : Combo Assembly.iam IsCheckedOut : False ... Id : 138383 MasterId : 28630 PersistentId : PersistentMasterId :  Example of a bomRow for a Virtual component (provides only CAD BOM properties):  Bom_RowOrder : 8 Bom_PositionNumber : 8 Bom_Number : SomeVirtualComponent Bom_Unit : Each Bom_ItemQuantity : 1 Bom_UnitQuantity : 1 Bom_Quantity : 100 Bom_XRefTyp : Internal Bom_Structure : Purchased Bom_ModelState : Bom_Creation Time : 12/31/1600 23:00:00 Bom_Description : This is a virtual component Bom_Cost : 0 Bom_Part Number : SomeVirtualComponent Bom_Date Checked : 12/31/1600 23:00:00 Bom_Design Status : 0 Bom_Engr Date Approved : 12/31/1600 23:00:00 Bom_Mfg Date Approved : 12/31/1600 23:00:00 Bom_Material : Generic Bom_Stock Number : SOME_VIRTUAL Bom_EquivalenceValue : SomeVirtualComponent Bom_Content Center File : False IsCheckedOut : False  Example of corrupt BOM where file of according row is not available any more in Vault (got removed or purged): FileBomRows that are not resolvable to any existing Vault file can only provide part of the Bill of Materials data, such as the Bom_RowOrder and the Bom_PositionNumber. Accessing other properties on those rows can throw a MissingCadBomException or a CorruptCadBomException, even if those are suppressed from PowerShell by default. # foreach($prop in $bomRow.psobject.properties) { # try { # # this forces the exception to be thrown #$value = $prop.get_Value() # } catch [Exception] { #$bomRow | Add-Member -MemberType NoteProperty -Name $prop.Name -Value$prop.Value-Force
#   }
# }
Bom_RowOrder       : 1
Bom_PositionNumber : 1
Bom_ItemQuantity   : 2
Bom_XRefTyp        : External
Bom_Number         : # throws: coolOrange.VaultServices.Vault.FileBom.CorruptCadBomException: Please checkout and re-checkin the file 'CorruptFileBom.iam' (Id: 138296) ...
Bom_Unit           : # throws: coolOrange.VaultServices.Vault.FileBom.CorruptCadBomException: Please checkout and re-checkin the file 'CorruptFileBom.iam' (Id: 138296) ...
Bom_UnitQuantity   : # throws: coolOrange.VaultServices.Vault.FileBom.CorruptCadBomException: Please checkout and re-checkin the file 'CorruptFileBom.iam' (Id: 138296) ...
Bom_Quantity       : # throws: coolOrange.VaultServices.Vault.FileBom.CorruptCadBomException: Please checkout and re-checkin the file 'CorruptFileBom.iam' (Id: 138296) ...
Bom_Structure      : # throws: coolOrange.VaultServices.Vault.FileBom.CorruptCadBomException: Please checkout and re-checkin the file 'CorruptFileBom.iam' (Id: 138296) ...
Bom_ModelState     : # throws: coolOrange.VaultServices.Vault.FileBom.CorruptCadBomException: Please checkout and re-checkin the file 'CorruptFileBom.iam' (Id: 138296) ...
IsCheckedOut       : False