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.
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

1
$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 which is the Unit Quantity multiplied by the Item Quantity.

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.

Localization

$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 ‘Normal’ bomRow on an english environment:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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 ‘Purchased’ virtual component

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
# 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