VX Part Tables
Utilities
Part Table...
When you create a new part during the New File command or from the Root Object Browser, options are available to create the part from a VX Part Table (*.vxl, *.txt, *.csv, or *.vxt) file.
When a part table is used inside an active part (see Utilities
Part
Table...), the new part is inserted in the active part as a component
except when the active part was originally generated from the part table's
seed part (see the "Derived"
field of the Part Attributes Form). In
this case, the active part is regenerated with the driving parameters
selected from the part table.
VX Part Tables are similar to VX Part Libraries and both share the same file format and both can be referred to as part tables. Part Libraries are pre-defined libraries of standard parts. You can use Part Tables to create your own family of parts.
|
VX provides many options for creating families of parts (Part Tables) and inserting standard parts and mold bases from libraries. Here are some options:
|
First, set up the seed or parent
part from which all parts in the family will be derived. Then
open the seed part and put its driving dimensions in the Part
Attributes Form.
Select Utilities
> Part Table... and then select the option to create a "New" table. A
new table will be initialized and displayed using information from the
active seed part.
Right-click on an item of the
table for options that allow you to edit/insert new rows of data -- either
comments or parameter values. Each
row of parameter values defines a variation of the seed part defined in
the first row of the table.
When you're done editing the
table, use the "Save"
button to put it on disk.
Use the "Standard
part directory" setting on the Files
tab of the VX Configuration Form to define a default
directory for part tables. The
seed part should be stored in the same directory as the part table. By
default, part tables are given the .vxl (VX Library) extension, but .txt,
.csv and .vxt can also be used.
You can insert a part defined
in a part table using the Part Table...
or Part Library... options of
the New File/Object Form, on the Root
Object Browser and on the Utilities
pull down menu. The
Part Library... option is also
found on the main object-edit popup for parts.
The Part
Table... option displays the part table in a row-by-row format.
Pick
a row that defines a part variation and press OK.
The Part Library... option displays a menu that shows only the driving variables for the selected part table. It allows you to select the desired values for the driving variables from the set of values defined in the part table. The specified part variation is inserted when you press OK.
The Part Library interface is higher-level than the Part Table interface. However, the Part Table interface gives you a few tools for creating part tables. Alternatively, you can use a spreadsheet or word processor to create part tables based on the format outlined in VX Part Table File Format (see below).

The top row of a Part Table lists the seed part and the driving dimensions or variables used to derive parts from it. The following rows contain the name of a part variation and the values to assign to the driving dimensions and variables. If a top row variable name is followed by an "@" character the corresponding table values are interpreted as distances defined in the seed part's default units (See Part > Edit > Preferences).
The following is an example of a part table header and a few lines of data that define the seed part and the names of its driving variables, followed by lines of data that define part variations. The lines are numbered for discussion purposes. The line numbers would not be included in the actual part table file.
1. # START OF SAMPLE FILE
2. #
3. # Type A Plain Washers (American National Standard)
4. # file = PlainWasherA.VX
5. # units = inch
6. # simplify = not available
7. # input = Material, Material, Low Carbon Steel
8. # input = Size, *Size, 1/4
9. # input = Type, *Type, Narrow
10. # output = Name, Name
11. # output = Number, Number
12. #
13. # (variables preceded by "*" are not used to drive the seed part)
14. #
15. PlainWasherA,Material,Number,Cost,*Size,*Type,InDia@,OutDia@,Thick@
16. #
17. # Low Carbon Steel
18. #
19. 1/4 Type A Plain Washer,Low Carbon Steel,0001,0.00,1/4,Narrow,.281,.625,.065
20. 1/4 Type A Washer,,,,,Wide,.312,.734,.065
21. #
22. 5/16 Type A Plain Washer,,,,5/16,Narrow,.344,.688,.065
23. 5/16 Type A Plain Washer,,,,,Wide,.375,.875,.083
24. #
25. #END OF SAMPLE FILE
Note that any line that starts with a pound sign (#) is considered a comment line. This is in accordance with the Part Table format. However, the Part Library format requires certain information to be encoded in the comment lines at the head of the file. This information is identified by the "file", "units", "simplify", "input", "output" keywords. By putting the new information in comment lines, the file can still be used by the Part Table interface.
The sample file is used to define different variations of a "Type A Plain Washer", which is defined by its inside diameter (InDia@), outside diameter (OutDia@) and thickness (Thick@). The name of the seed part for the washer is the first entry in line 14, "PlainWasherA". The object file that contains "PlainWasherA" is identified in line 4, using the syntax "file = <file_name>".
Line 15 is the first non-comment line in the file. It is a comma-delimited line of data entries. The first entry defines the seed part. The subsequent entries define the names of the variables that define or describe the seed part. A variable name is followed by the "@" character if it defines a distance, the "^" character if it defines an angle (deg) or the "$" character if it defines an ascii text string. If the variable is preceded by an asterik (*), it is not a driving variable for the seed part, but identifies a parameter used in the Part Library GUI.
The following pre-defined variable names are used to drive data fields in the Part Attributes Form:
part_name$
part_number$
part_class$
part_designer$
part_cost$
part_supplier$
part_description$
part_keyword$
part_manager$
part_derived$
The part attribute variables are followed by a dollar sign ($) because they are all treated as text strings in the Part Attributes Form.
The density (kg/m3) of a part can be specified using the "part_density" variable.
The r,g,b color of all surfaces in a part can be specified using the "part_color$" variable. The color is specified by a text string that encodes red, green and blue color values between 0 and 255 separated by periods. For example, the color grey would be encoded as "136.136.136". "part_color$" may be set to one of the pre-defined color names:
Aluminum = 216.216.216
Brass = 181.166.66
Bronze = 140.120.83
Copper = 184.115.51
Silver = 197.201.243
Steel = 156.160.167
Stainless = 235.235.235
Gold = 224.179.56
The following aliases can be used in the part table definition:
Material = part_material$
Number = part_number$
Cost = part_cost$
Color = part_color$
Density = part_density
The non-comment lines that follow Line 15 (e.g. lines 19,20,22,23) define variations of the seed part. The first entry is a unique name for the specified part variation. It is followed by values for each of the corresponding variables defined in Line 15. If a comma-delimited field is left blank, the last-defined value for that field is used, traversing the file row by row from the top down. The first line of values MUST ALWAYS have entries for every driving variable.
A separate row of values is required for every part variation, so that each part variation can have a unique part number. The rows of data should be organized so that fields with the same values are in successive rows.
In the file header, Line 5 is a comment line with "units = inch". If this line is included in header, all values for distance variables (i.e. variable names followed by @ character) are assumed to be given in inches. Otherwise, they are assumed to be given in millimeters, unless the value is explicitly followed by a unit abbreviation (e.g. 256.in, 25.4.m, 56.yd).
Line 6 is a comment line with "simplify = not available". If it is revised to "simplify = available", the Part Library GUI assumes that the seed part has a variable named "Simplify" and sets that variable to 1 if "Use simplified representation" is enabled on the Part Library GUI form. Otherwise, the "Simplify" variable is set to zero. The seed part can then use "Conditional Feature Suppression" to suppress part detail based on the value of its "Simplify" variable.
Lines 7, 8, and 9 define the part table parameters that the user must select in order to identify the part variation they want created by the Part Library tool. This is defined with the syntax "input = <Field Label>, <Variable Name>, <Default Value>". <Field Label> is the text label used to identify the required input on the Part Library GUI. <Variable Name> identifies the driving variable from Line 15 for which the user must select a particular value. <Default Value> is optional. If used, it should identify a valid value for the specified variable - that is, a value that exists in the table for a particular part variable. <Default Value> must be specified with the same text that is used in the part table. Up to six "input" fields can be specified.
Lines 10 and 11 define part table parameters that should be displayed on the Part Library GUI for the actively-selected part variation. They use the syntax "output=<Field Label>, <Variable Name>. When the "input" fields define a valid part variation within the part table, the "output" fields will display the values of the specified parameters for that particular part variation. Up to five "output" fields can be defined.
Part table files should be terminated with the ".vxl" extension. When the file browser is used to browse a ".vxl" file and the "Preview" option is enabled, it will try to extract a preview from the .VX file defined in the header of the ".vxl" file.
Any text or numeric input field
of a history operation can be driven from a Part Table using a "variable"
name with the following syntax:
<history_operation_name:field_number>
This label should be followed by a "$" character if it is
used to assign text to a "string" input field; a "@"
character if it assigns a value to a "distance" input field;
a "^" character if it assigns a value to an "angle"
input field; no character if it assigns a dimensionless value to a numeric
input field.
In the History
Manager, you can right-click on an operation, select "Inquire"
and click on its "parametric data" field to see the input fields
that drive the operation. Examining
the command template associated with a history operation is another way
to learn about the types of inputs that drive the operation and the field
numbers used to identify the input.
For example, field 5 of the "Activate Alternate Component"
operation is the field that contains the name of the alternate component.
Assume
a history has an operation named "AltComp1_Activate" that activates
a specified alternate component. You
could use "<AltComp1_Activate:5>$" in a Part Table's list
of driving parameters. The
column under this entry would contain the alternate component name to
use for each derivative part.
This same technique can be used to change parameters like the "tip
angle" of a hole feature, or the name of an attribute bundle associated
with an operation. When
the history is regenerated, it will use the new input values.