Catalog Editor - Catalog File Structure
- Home
- Documentation
- Catalog Editor
- Catalog Editor - Catalog File Structure
The catalog is structured in 3 tiers, just as they are shown in the Design -> Parts catalog tab. The top level are part types, which are the most general categories, and are shown in the topmost window of the Parts catalog (e.g. Flexible Duct). The part type can contain multiple part sub-types, which usually represent one family of parts, and are shown in the middle window of the Parts catalog (e.g. Colour Coded Flexible Duct). The part sub-type can contain multiple parts (e.g. CCF615), which may be different sizes of the same category of part, or completely different parts that belong together in some way.
Part Categories (Types and Subtypes)
Part types and sub-types are just categories used to organise the catalog, so they only have these properties:
- Label - the label that is shown in the catalog
- Info - additional information that is shown as a tooltip in the catalog
- Image - the image to display in the catalog and on the canvas
- Image Size - the physical size of the part on the canvas
- Flip Type - used if the supplied icon should be shown upside down, back to front, or both
Cells that are not applicable to these rows are shown in the editor with grey hatching.
Parts
Each part has its own product code, size, icon definition, connection data, price, and any other information needed by the program (e.g. LFR2525, of size 250x250mm). A part represents the physical object that is taken off a warehouse shelf and used in construction. In the same way, only parts can be placed on the design canvas.
Parts have the following properties:
- Product Code identifies the part. All parts must have unique product codes. See below for details.
- Definition is the part definition, which specifies the function of the part and the type and position of its connections.
- Function tells the program what the part can do. It is determined by the definition and cannot be edited.
- Label is shown for a part, subtype or type in the Plandroid catalog lists. For many parts it is also used when the part is placed in on the design canvas.
- Info is extra information to explain a part, subtype or type. It is displayed as a tool tip in the parts catalog.
- Image is the icon that is used for the part, subtype or type in the parts catalog. For most parts, it is also used to represent the part on the design canvas.
- Image Size defines the size (width x height) of the physical part in millimetres as it appears in the design canvas. It is scaled against the sub-type image size to control the icon size in the parts catalog. For drawn parts this size is not used in the canvas, but it still controls the size of the icon in the parts catalog.
- Flip Type allows the part, subtype or type to be flipped in either the horizonal (X) direction, the vertical (Y) direction or both (XY).
- Connection Sizes control the size of the connections for the part. Set below for details.
- Price is the price of the part in whatever currency the catalog uses.
- Function Data provides extra information for certain parts that require it, such as units, fans, heat exchangers and lights, see below for details.
- Unit Length sets the length of a single piece of a drawable part, such as duct, pipe or wire.
- Is Drawn controls whether the part is drawn when the design is printed by default [1].
- Is Symbol controls when the part is considered a 'symbol' and hence is not costed [1].
- Colour of the part. Only applies to some parts, such as ducting and rigid duct connectors [1].
- Draw Style for drawing the part. Applies to drawn parts, such as ducting and wires, and to rigid duct connectors. Different types of parts have different allowed values for the style [1].
- Show Label whether the label for the part is shown on the canvas by default [1].
- Fix is the default installation order ('fix' order) for the part [2].
- Time is the estimated time in minutes taken to install the part. This time can be costed [2].
- Cost is the fixed cost to install the part. Normally only one of either time or cost is used to price the install labour [2].
- Effective Length is the length used for the part for airflow calculations, in millimetres. Zero means use the actual length.
- Add Parts is a list of parts that are added to the design whenever this part is added. See below for details.
- Upsize Code is the product code of the drawable part to use if this part is drawn longer than its unit length. The replacement part should be the same type of part but just a longer version. For example, a wire or piece of duct may come in multiple lengths, and it can be automatically swapped for the longer version when required.
[1] These settings can be changed individually for each part once it is placed on the canvas. They can also be edited by the user using the context menu in the parts catalog so that the change is always applied.
[2] These settings can be edited by the user for the class of part in the Costing page, but not for individual parts on the canvas. Once edited, the change will always be applied.
Parts Need Unique Product Codes
All product codes in a catalog must be unique. However, if a part needs to appear multiple times in a catalog because it is relevant in different sections, or it appears with multiple different views (top, side, front etc.) this can be achieved by using the same product code with a suffix in parentheses, where the suffix will be removed when viewed in the Costing page. For example, a part can be represented twice in a catalog by using the two unique product codes DBTO and DBTO(B). In the Costing page, these two parts are counted as two instances of a single part (part DBTO), and are therefore counted together. Only the price from the canonical part (DBTO in this case, with no suffix) will be used — any price assigned to the duplicate part is ignored. It is therefore the catalog pricer's responsibility to ensure that the costing is consistent for all duplicate parts so that the catalog is not misleading.
You should always have a canonical version of a part (with no suffix) in the catalog you are using if you are also including a duplicate (with a suffix). If a catalog does contain multiple parts with the same product code (not recommended), or if there is a coincidental product code clash when loading multiple catalogs, the program will detect this and automatically assign unique numerical suffixes (1), (2), (3) etc. to the subsequent parts. Note that if a clash of this type occurs your costing may be incorrect, as the part that is loaded first will be considered the canonical part and its price will be used for all duplicates.
The suffix can be of any length, and multiple suffixes can be used, for example DBTO(Bottom View) or DBTO(B)(1)(Special) are both valid. In the latter case, all suffixes will be removed from the first "(" to the last ")".
Clearly any actual product code that for any reason happens to end in parentheses is not supported and must be modified. A suitable work-around for this is to add a space to the product code after the closing parenthesis, e.g. ") ", so that it is not treated as a duplicate product code.
Note that parentheses are not valid characters for regular expressions and can cause problems when adding product codes to the Automatic Design parts product codes in the Options Settings. For this reason you can also use the tilde (~) as a suffix marker, for example: DBTO~B~.
Each Part Specifies its Own Connection Sizes
Each part definition specifies the number, type, and position of any connections it has. The part itself only needs to specify the size of its connections. There are three ways that the size of a connection can be specified:
- Discrete is simply a list of sizes, any of which can be used when connecting to another part. A width of 0 can be used to indicate matching any width and a height of 0 can be used to indicate matching any height.
- Range specifies two sizes and matches any connection having a size such that the matching width lies between the two given widths and the matching height lies between the two given heights. The smallest size must be specified first.
- Perimeter specifies a single size and matches any connection having a size such that the perimeter lies between the width and height of the size.
Note that the Range and Perimeter size types can only match a Discrete type.
They cannot match each other.
Connection sizes can also have a tolerance. Tolerances are additive, meaning that when
comparing two connections for a match they can differ by up to the sum of their
two tolerances and still connect.
In the catalog file itself and in the Connection Sizes column, the connection sizes are stored as a text string
such as 400x400T10 | R:ø150,ø200 | P:ø150 | ø150,ø200,ø250
. Here the sizes for each connector in series are separated by a vertical
bar (|), and multiple discrete sizes for each connector can be listed, separated with a comma. Rectangular sizes are specified with two numbers
joined with an x, and circular connection sizes are indicated with a diameter symbol (ø) (or you can use d). A tolerance value is indicated with a T suffix, and
an R: and a P: stand for a range and a perimiter definition respectively.
It is usually much easier just to edit the connection sizes in the dedicated Connection Sizes view of the catalog editor.
Some Parts Require Additional Function Data
Function data provides extra information for certain parts that require it, and only those parts can have Function Data specified. There are five types of function data:
- Fan - Data for a fan. Can specify either a nominal flow rate, or a performance curve of flow rate versus external static pressure.
- Fan Coil - Data for a fan coil unit. Specifies a flow rate or
performance curve as for fan data, plus
- Cooling power and EER (energy efficiency ratio)
- Heating power and COP (coefficient of performance)
- Whether the unit requires single phase or 3 phase power
- Heat Exchanger - Data for heat exchanger. Specifies a flow rate or performance curve as for fan data, plus an efficiency for the heat exchanger.
- Light - Data for a light. Specifies light output in lumens, power and beam angle.
- Radiator - Data for a hydronics radiator panel. A radiator panel has height and length, plus the rated power output at a specified temperature difference (delta T) between the average water temperature and the space being heated.
The function data is stored in a compact text form in the Function Data grid column, but it is often easiest to edit it in the dedicated Function Data editing panel along the bottom of the window. The editing panel is just a different view of the same data.
Parts Can Add Other Related Parts
A part can define other parts that should be added with it when it is placed on the design canvas, for example the matching condenser unit for a particular fan coil unit. A part to be added is specified by its product code (if the part is not found in the current catalogs, the part is not added and no warnings are given). The application will recognise and avoid circular dependencies - if a part tries to add one of its own ancestors, that addition will be skipped. Therefore parts which always go together can each be defined to add each other without problems. For example, a supply starter fitting can add its matching return fitting, and that same return fitting can itself add its matching supply fitting. Whenever one of these two parts is added, its matching pair will also be added.
An added part can be given values X and Y that specify a distance in mm that the added part should be placed away from the parent part (distance to the right is +x, and distance down is +y). In Front specifies if the added part should be displayed on top of the parent part (true) or underneath it (false). Snap controls if the added part will automatically attempt to snap-to any compatible connections within snapping range on their parent part before being added to the canvas.
The Condition setting specifies a code, specific to a manufacturer, that can define a rule that must be satisfied for that part to be added. The value may be prefixed with ! to indicate that the value must not be true for the part to be added.