ZW3D Part Tables
ZW3D CAD-CAM Logo  
   ZW3D Base
Home > ZW3D File Level > ZW3D Part Tables
Article Title ZW3D Part Tables

In this Article:

ZW3D Part Tables
Basic Procedure
The ZW3D Part Table Editor
ZW3D Part Table File Format
Notes

 

ZW3D Part Tables

Invoked byUtilities > Part Table...

When you create a new part during the New File command or from the ZW3D Object Manager, options are available to create the part from a ZW3D Part Table (*.z3l, *.txt, *.csv, or *.z3t) 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.

ZW3D Part Tables are similar to ZW3D 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.
 
 

ZW3D Tips & TechniquesPart tables, libraries and mold bases
ZW3D provides many options for creating families of parts (Part Tables) and inserting standard parts and mold bases from libraries. Here are some options:
  • Select Utilities > Part Table to open or create a Part Table.
  • Select Utilities > Part Library to create a component from a ZW3D Part Library. By default, ZW3D Part Library files are located in the "/part_libraries" directory of your ZW3D installation folder. This directory contains ANSI and DME standard components.

Basic Procedure

  1. 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.

  2. 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.

  3. 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.

  4. When you're done editing the table, use the "Save" button to put it on disk.

  5. Use the "Standard part directory" setting on the Files tab of the ZW3D 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 .z3l (ZW3D Library) extension, but .txt, .csv and .z3t can also be used.

  6. 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.

  7. 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.

  8. 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 ZW3D Part Table File Format (see below).
 
 

The ZW3D Part Table Editor

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).
 
 

ZW3D Part Table File Format

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.Z3
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 15, "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 ".z3l" extension. When the file browser is used to browse a ".z3l" file and the "Preview" option is enabled, it will try to extract a preview from the .Z3 file defined in the header of the ".z3l" file.

File/Bundle, All Off, Toggle
All On
See Attribute Bundles and Form Commonalities.
Standards
Sets all attributes in this form to conform to one of the following dimension standards. Changing this option will only affect the active session. Use the 2D tab of the ZW3D Configuration Form to set this option for all ZW3D sessions. This option is left blank when this form is displayed during the Edit Attributes command. Select a standard.
ANSI - American National Standards Institute
ISO - International Standards Organization
DIN - Deutsches Institut fuer Normung
JIS - Japanese Industrial Standard
 
 

Notes

  1. 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.

  2. 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 " $" 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.