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. |
string |
Bom_PositionNumber |
The Position Number of the component in the BOM. |
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. |
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:
1Bom_RowOrder : 3
2Bom_PositionNumber : 7
3Bom_Number : ERP-41880947
4Bom_Unit : Each
5Bom_ItemQuantity : 2
6Bom_UnitQuantity : 1.2
7Bom_Quantity : 2.4
8Bom_XRefTyp : External
9Bom_Structure : Normal
10Bom_Author : B. ROEPKE
11Bom_KeyWords : Vault, Tutorial, Padlock
12Bom_Revision : A
13Bom_Category : Vault Sample Models
14Bom_Company : Autodesk, Inc.
15Bom_Cost Center : PRODUCT DESIGN
16Bom_Creation Time : 11.04.1976 22:30:33
17Bom_Description : 164987124
18Bom_Designer : B. ROEPKE
19Bom_Engineer : B. ROEPKE
20Bom_Cost : 17
21Bom_Part Number : ERP-41880947
22Bom_Project : PADLOCK
23Bom_Vendor : Autodesk, Inc.
24Bom_Checked By : B. ROEPKE
25Bom_Date Checked : 19.12.2002 08:09:56
26Bom_Design Status : 3
27Bom_Engr Approved By : D. BRISSON
28Bom_Engr Date Approved : 24.12.2002 08:09:56
29Bom_Mfg Date Approved : 01.01.1601 00:00:00
30Bom_User Status : RELEASED
31Bom_Catalog Web Link : http://www.autodesk.com/inventor/
32Bom_Document SubType : {E60F81E1-49B3-11D0-93C3-7E0706000000}
33Bom_Document SubType Name : Assembly
34Bom_EquivalenceValue : 100002
35Bom_Subject : Bach
36Bom_Manager : Georg
37Bom_Title : 2077753685
38Classification : None
39_Classification : None
40Version : 3
41_VersionNumber : 3
42Comment : Property Edit
43_Comment : Property Edit
44Number of Attachments : Autodesk.DataManagement.Client.Framework.Vault.Currency.Properties.ImageInfo
45_NumManualAttachments : Autodesk.DataManagement.Client.Framework.Vault.Currency.Properties.ImageInfo
46Date Version Created : 19.04.2018 17:35:27
47_DateVersionCreated : 19.04.2018 17:35:27
48Created By : coolOrange
49_CreateUserName : coolOrange
50Checked In : 19.04.2018 17:35:27
51_CheckInDate : 19.04.2018 17:35:27
52File Name : Combo Assembly.iam
53_ClientFileName : Combo Assembly.iam
54IsCheckedOut : False
55...
56Id : 138383
57MasterId : 28630
58PersistentId :
59PersistentMasterId :
Example of a ‘Purchased’ virtual component
1Bom_RowOrder : 8
2Bom_PositionNumber : 8
3Bom_Number : SomeVirtualComponent
4Bom_Unit : Each
5Bom_ItemQuantity : 1
6Bom_UnitQuantity : 1
7Bom_Quantity : 100
8Bom_XRefTyp : Internal
9Bom_Structure : Purchased
10Bom_Creation Time : 12/31/1600 23:00:00
11Bom_Description : This is a virtual component
12Bom_Cost : 0
13Bom_Part Number : SomeVirtualComponent
14Bom_Date Checked : 12/31/1600 23:00:00
15Bom_Design Status : 0
16Bom_Engr Date Approved : 12/31/1600 23:00:00
17Bom_Mfg Date Approved : 12/31/1600 23:00:00
18Bom_Material : Generic
19Bom_Stock Number : SOME_VIRTUAL
20Bom_EquivalenceValue : SomeVirtualComponent
21Bom_Content Center File : False
22IsCheckedOut : 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.
1# foreach($prop in $bomRow.psobject.properties) {
2# try {
3# # this forces the exception to be thrown
4# $value = $prop.get_Value()
5# } catch [Exception] {
6# $bomRow | Add-Member -MemberType NoteProperty -Name $prop.Name -Value $prop.Value-Force
7# }
8# }
9Bom_RowOrder : 1
10Bom_PositionNumber : 1
11Bom_ItemQuantity : 2
12Bom_XRefTyp : External
13Bom_Number : # throws: coolOrange.VaultServices.Vault.FileBom.InvalidFileBom+CorruptCadBomException: : Please checkout and re-checkin the file 'CorruptFileBom.iam' (Id: 138296) ...
14Bom_Unit : # throws: coolOrange.VaultServices.Vault.FileBom.InvalidFileBom+CorruptCadBomException: : Please checkout and re-checkin the file 'CorruptFileBom.iam' (Id: 138296) ...
15Bom_UnitQuantity : # throws: coolOrange.VaultServices.Vault.FileBom.InvalidFileBom+CorruptCadBomException: : Please checkout and re-checkin the file 'CorruptFileBom.iam' (Id: 138296) ...
16Bom_Quantity : # throws: coolOrange.VaultServices.Vault.FileBom.InvalidFileBom+CorruptCadBomException: : Please checkout and re-checkin the file 'CorruptFileBom.iam' (Id: 138296) ...
17Bom_Structure : # throws: coolOrange.VaultServices.Vault.FileBom.InvalidFileBom+CorruptCadBomException: : Please checkout and re-checkin the file 'CorruptFileBom.iam' (Id: 138296) ...
18IsCheckedOut : False