BOM
Table Part Level - vxBOMfmt File Syntax 
The vxBOMfmt file
is used by the Part
Inquire
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.
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
# 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
# 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
#