BOM Table Part Level - vxBOMfmt File Syntax Updated for the current release.

 

The vxBOMfmt file is used by the Part go to Inquire go to Parts List command to define the configuration of the Assembly Parts List.  It is located in the "supp" sub-directory of the VX "install path" directory (i.e. not your user directory).   You can edit the file in that location, or you can put a copy of the file in your user directory.   The local copy of the configuration file will be used instead of the installation copy shipped with VX.

 

Information about VXvxBOMfmt File Syntax

 

Blank lines and lines beginning with a "#" are ignored.

 

Command

Description

#

Comment line (ignored).

 

 

Example Syntax:
 

# For each unique component make a new row

 

Several BOMs may be generated from a single vxBOMfmt file but each section that begins a new BOM must begin with a SCOPE command.  This determines to which components the attribute and attribute totals apply.  If "SCOPE = assembly" then a single table is generated for all components in the assembly.  If "SCOPE = "component" then a table is created for each component evaluating only the direct sub-components of that component.

 

Command

Parameter

Description

SCOPE = value

Sets scope of search to value.

assembly

1 table, all parts

component

Multiple tables, sub-parts

 

 

Example Syntax:
 

SCOPE = assembly

 

An implicit variable ROW is maintained which corresponds to the current row in table being processed. ROW is initially set to 1.  The NEW_ROW command is like hitting the <Enter> key to drop down to the next line.  The data that defines your final BOM table is input in increasing row order.

 

Command

Description

NEW_ROW

Increment value of ROW.

NEW_ROW[n]

Increment value of ROW by n.

 

 

Example Syntax:
 

NEW_ROW
 

Or
 

NEW_ROW[2]

 

The fields of the table to be filled when the assembly is traversed are delimited by BEG_SEARCH and END_SEARCH.  A NEW_ROW is automatically applied after processing each component.

 

Command

Description

BEG_SEARCH

Begin traversal of all components in scope.

END_SEARCH

End traversal of all components in scope.

 

 

Example Syntax:
 

BEG_SEARCH
 

Or
 

END_SEARCH

 

The COL command and its optional parameters are used to assign a value and format to a particular field in the BOM table.  If COL occurs outside a search region then it will define only one field in the current ROW.  If COL occurs inside a search region then it defines the fields of that column until the search is done.

 

Command

Parameter

Description

COL[index] = value

Sets field in table to value.

[ROW]

row

[index]

column

format = +/-n1.n2

Sets format for COL[index] (optional).

+

Forces right justified text.

-

Forces left justified text.

If neither + or - is specified text is centered.

n1

Maximum field width.

n2

Number of digits to appear to the right of the decimal (only applies to floating point entries).

options =

Sets options for COL[index] (optional).

 

 

Example Syntax:
 

format = -

COL[1] = Part Number

 

Other Examples:

Expression

Text

Integer

Floating Point

No format

VXCorporation

10107

2513.123

format = -

VXCorporation

10107

2513.123

format = +4

VXCo

101*

251*

format = -8.2

VXCorpor

10107

2512.12

Format = 6

VXCorp

10107

2513.1*

 

 

The value store in each field of the BOM table is either a character string or the value associated with particular part attribute.  To reference the value of an attribute you may use the "@[]" syntax below.  Each component has implicit attributes that may be accessed by this method.  Currently these include: Name and Quantity. if "@[]" occurs outside a search region then the attribute value is taken from the base part or component.  If "@[]" occurs inside a search region then the attribute is recalculated for each component in the specified scope. "@[].total" will have the same value either inside or outside a search region.

 

Command

Description

@[attribute]

Reference value of "attribute."

@[attribute].total

Sum of all such attributes within specified scope.

 

 

Example Syntax:
 

format = -3.0

COL[3] = @[Supplier]
 

Or
 

format = -

COL[1] = @[Weight].total
 

 

Information about VXDefault vxBOMfmt File

 

# Default vxBOMfmt file
 

SCOPE = assembly
 

# Set up column headers

COL[1] = Part name

COL[1] = Quantity

COL[3] = Cost

NEW_ROW
 

BEG_SEARCH
 

# For each unique component make a new row

COL[1] = @[Name]

COL[1] = @[Quantity]

COL[3] = @[cost]
 

END_SEARCH
 

# Show totals

COL[1] = Total Cost

COL[3] = @[cost].total

 

Information about VXSample Custom vxBOMfmt File

 

# Sample Custom vxBOMfmt Format

SCOPE = assembly

#

# Set up column headers

#

COL[1] = Part Number

format = -

COL[1] = Qty

format = -

COL[3] = Supplier

format = -

COL[1] = Description

format = -

COL[1] = Cost

format = +

COL[1] = weight/lbs

NEW_ROW[2]

#

BEG_SEARCH

#

# For each unique component make a new row

#

COL[1] = @[Number]

format = -16

COL[1] = @[Quantity]

format = -3.0

COL[3] = @[Supplier]

format = -

COL[1] = @[Description]

format = -

COL[1] = @[Cost]

format = +5.2

COL[1] = @[weight]

#format = +

#

END_SEARCH

#

# Show totals

#

NEW_ROW[2]

COL[1] = Total Components

format = -

COL[1] = @[Quantity].total

format = +3.0

NEW_ROW

COL[1] = Total Cost $

format = -

COL[1] = @[Cost].total

format = +5.2

NEW_ROW

COL[1] = Total Weight/lbs

format = -

COL[1] = @[weight].total

format = +5.2

NEW_ROW

#

 

 

Related Topics

Return to VX CAD/CAM Index