FileBomRow

A file BomRow 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.
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.

$bomRow.'Bom_Part Number'

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

TypeNameDescriptionAccess type
stringBom_NumberThe Part Number of the component. When the component has no Part Number, it is the component name.read-only
intBom_RowOrderThe Order of the component in the BOM.read-only
stringBom_PositionNumberThe Position Number of the component in the BOM.read-only
stringBom_UnitThe Unit of Measure of the component (e.g. Each, inch, liter, kg,…).read-only
stringBom_XRefTypThe XRefTyp which specifies whether the component is internal or external in relation to the design file.read-only
stringBom_StructureThe BomStructure of the component can be Normal, Phantom, Purchased, Reference, DynamicPhantom or Inseperable .read-only
doubleBom_QuantityThe Quantity (QTY) is the “Total Quantity” which is the Unit Quantity multiplied by the Item Quantity.read-only
intBom_ItemQuantityThe Item Quantity (Item QTY) is the number of instances of a component in the BOM.read-only
doubleBom_UnitQuantityThe Unit Quantity (Unit QTY) is the amount which each discrete instance of a component adds to the total quantity.read-only

$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)

Example of a 'Normal' 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_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                        : Martin
_CreateUserName                   : Martin
Checked In                        : 19.04.2018 17:35:27
_CheckInDate                      : 19.04.2018 17:35:27
File Name                         : Combo Assembly.iam
_ClientFileName                   : Combo Assembly.iam
...
Id                                : 138383
MasterId                          : 28630
PersistentId                      : 
PersistentMasterId                : 
IsCheckedOut                      : False

Example of a 'Purchased' virtual component

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_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 only provide the Bom_RowOrder and Bom_PositionNumber properties.
Trying to access 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 
#   }            
# }
IsCheckedOut       : False
Bom_RowOrder       : 1
Bom_PositionNumber : 1
Bom_ItemQuantity   : 2
Bom_XRefTyp        : External
Bom_Number         : # throws: coolOrange.VaultServices.Vault.FileBom.InvalidFileBom+CorruptCadBomException: : Please checkout and re-checkin the file 'CorruptFileBom.iam' (Id: 138296) ...
Bom_Unit           : # throws: coolOrange.VaultServices.Vault.FileBom.InvalidFileBom+CorruptCadBomException: : Please checkout and re-checkin the file 'CorruptFileBom.iam' (Id: 138296) ...
Bom_UnitQuantity   : # throws: coolOrange.VaultServices.Vault.FileBom.InvalidFileBom+CorruptCadBomException: : Please checkout and re-checkin the file 'CorruptFileBom.iam' (Id: 138296) ...
Bom_Quantity       : # throws: coolOrange.VaultServices.Vault.FileBom.InvalidFileBom+CorruptCadBomException: : Please checkout and re-checkin the file 'CorruptFileBom.iam' (Id: 138296) ...
Bom_Structure      : # throws: coolOrange.VaultServices.Vault.FileBom.InvalidFileBom+CorruptCadBomException: : Please checkout and re-checkin the file 'CorruptFileBom.iam' (Id: 138296) ...