Product codes can be used to uniquely identify items that may be standardized or available off-the-shelf and have an associated code. Product codes can be proprietary formats, or they can be standardized like UPC or EAN codes.

When a product code is needed for reports or annotations, Parabuild will look it up in one of these sources in this order:

  1. The product code property of the part, if it was set. This property can be automatically assigned using the Standard Parts Library 
  2. For bolt assemblies the product code property in the Bolt Assemblies library
  3. For bolt parts the product code property in the Bolt Parts library
  4. For profiles the Product code in the section table of the profile
  5. Lastly, the Product code tables that are stored in the library

The above sources will be iterated in the same order. The first source for which a product code was found will be used.

The product code is retrieved whenever the columns PbBillColProductCode or PbBillColAssemblyProductCode are used in regular bills or profile length optimizer bills.

Do note that the product codes that are stored in the bolts library and in the profile section tables will not be applied to the Product code properties of the bolts and profiles in the 3D model.
Instead, these product codes are retrieved from the bolts library and section table at run time when the bill or annotation is created.
The Product code property of the parts should only be set to a value when one wants to override the default product code that is stored in the section tables, bolts library or product code tables. Otherwise this property should be empty so that the product code is retrieved from one of the library files.



Product code tables

The product code tables are stored in the library folder \Pb_Lib\Product codes\ and they can be opened in the Global settings dialog.

The product code table itself is a way to let Parabuild automatically assign product codes to objects based on a set of property values that you've set.
This task could as well be done by classification or other tools in Parabuild, but an important reason why these tables exist is because the tables can also assign product codes to parts that do not really exist in the 3D model.
This is the case with the Profile Length Optimization command, which has stock lengths of parts which we do not draw. The optimize command still uses these part lengths and when reports are generated in the optimize command it will lookup these product tables to find the product code for the stock length of the part.

In the table one product code van be entered per row. The product code is entered in the column with the name Product Code.
All the other columns are a way to filter the parts so that the correct part gets assigned the product code.
When a filter is not required you can simply leave the field of that column empty.
But it is the drafter's responsibility that the filtering is done adequately enough so that the product code does not get assigned to the wrong parts.

For each part, the first line that matches the filters is chosen. Therefore more lines with detailed filters should be higher in the list, and more generic, "catch-all" lines should be lower.

The column names carry a name but it is the column order that defines the filters. These columns should therefore not be removed, added to or re-arranged. 

The product code table has the following columns : 

  • Machining - This is a boolean value that should be set to 1 or 0, or empty if the filter is not to be used. A part that needs machining is a part that has cuts, and/or holes, and/or non-rectangular plates.
  • Object type - Enter one of these text values to filter on object type : Bolt Assembly, Bolt Part, Plate, Member, Body, Structure
  • Part name - Enter the name of the part which is the section name for members, or the plate or bolt name. For this field it is permitted to use a wildcard f.e. IPE*
  • Material / Object Color / Paint / Finishing - These fields correspond to the same-name properties of the parts. For these fields it is permitted to use a wildcard  f.e. IPE*
  • Minimum length/width/height - Specify the minimum length/width/height of the part. For bolts the width is the diameter. For plates the height is the thickness. Leave the field empty if the filter is not required.
  • Maximum length/width/height - Specify the maximum length/width/height of the part. For bolts the width is the diameter. For plates the height is the thickness. Leave the field empty if the filter is not required.
  • Filter - Enter an Object Filter name here if you want to use a custom way to filter on parts properties. 
  • Product code - The actual product code that needs to be assigned if all filters on the row are valid. This field is required.