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. |
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. |
string |
Bom_ModelState |
The model state name of the used component in the BOM. |
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 |