Naming Sequencer: Customisation
Sequences
A sequence provides the information to build a text-default for an attribute / data field e.g. for a wirename attribute.
Each sequence must have a sequence name in the KEY field followed by at least one "part": Elecdes and Paneldes use the database table with slight variation.
e.g. For Elecdes
Key | Part1 | Part2 | Part3 | Part4 | Class | Attribute | Block1 | Block2 | Block3 |
---|---|---|---|---|---|---|---|---|---|
defdev | E | 1+1 | * | DEVICE | TAGNAME | * | |||
light_heat | E | 1+1 | * | DEVICE | TAGNAME | LT | PTTLT | BEAC | |
relays | K | 1+1 | * | DEVICE | TAGNAME | COIL | ACC | UACC | |
ZRelay | K | ZONE | DEVICE | TAGNAME | COIL | ACC | UACC | ||
terminalStrip | X | 1+1 | * | TERM | TBLOCK | * | |||
terminal | 1+1 | * | TERM | T1 | * | ||||
terminal2 | 1+1 | * | TERM | T2 | * | ||||
testjack | X | 1+1 | * | TERM | TBLOCK | TPI | TP | TPO | |
testjackTerm | 1+1 | * | TERM | T1 | TPI | TP | TPO | ||
testjackTerm2 | 1+1 | * | TERM | T2 | TPI | TP | TPO | ||
wire_STD | W | 1+1 | * | WIRE | WIRENAME | * | |||
ZWire | W | ZONE | A+1 | WIRE | WIRENAME | * | |||
cable | C | 1+1 | * | CABLE | CABLENAME | * | |||
cableCore_STD | 1+1 | * | CABLE | CORENAME | * | ||||
PAIRS_Core | predef | cablepairs | CABLE | CORENAME | * | ||||
TRIAD_Core | predef | cabletriads | CABLE | CORENAME | * | ||||
COLORS_Core | predef | Cablecolors | CABLE | CORENAME | * | ||||
instrumentTag | 100+1 | * | INSTRUMENT | TAGNAME | * | ||||
ZONE | 1+1.3 | ZONE | ZONE | * | |||||
ItemIncPage | PAGE.4 | - | 1+1.3 | DEVICE | PageAttrib | ItemA | |||
ItemIncLayer | LAYER.3 | ( | 1+1.3 | ) | DEVICE | LayerAttrib | ItemB | ||
ItemIncLineLayer | LINELAYER.4 | [ | 1+1.3 | ] | DEVICE | Tagname | ItemC | ||
panel | P | 1+1 | * | * | PNLNO | * | |||
visdesc | *+1 | * | VISDESC | * | |||||
user_C2 | *+1 | * | USER_C2 | * |
Sequence Key:
-
KEY: Each sequence name should be unique and can be up to 20 characters long. e.g. "light_heat"
-
The name should indicate the type of component and field / attribute for which the sequence is used.
-
The sequence name DEFAULT is a special name and will be treated as the default sequence for any block / class or data field that is not specified in more detail in the specification section [below].
You do not have to create a default sequence.
The system generated default sequence is: default [*1+1], which is an incremented wildcard value.
-
The KEY is the unique identifier used by the NSQ_KEY column of the catalog to specify a sequence. For example, if the NSQ_KEY field in the catalog entry for a cable contained "corename=COLORS_Core" then the cores of that cable would be named by the sequence with the key "COLORS_Core".
Sequence Default:
-
Used by each project as a store for the last used tag of a sequence.
Sequences Parts:
Each of the "parts" is used to define one part of the formula. A sequence can contain more than one part. The combination of parts creates a formula.
Part1 - Compulsory for all sequences.
Part2-5 – Optional.
The VALUE of a part may take one of five forms: letters, numbers, delimiters, wildcard or zone. Mixtures are not possible. A separate part should be used for each different type.
Sequence Part Types:
-
Letters: These may be incremented or decremented. Z increments to AA. AA becomes ZZ when decremented.
-
Numbers: These may be incremented or decremented. 9 becomes 10 when incremented. 10 becomes 9 when decremented. 009 becomes 010 when incremented. 010 becomes 009 when decremented.
-
Delimiters are constant. They may be retyped when inserting symbols etc. No incrementing or decrementing will occur to delimiters. Any non-letter or non-number may be used for a delimiter, except a comma, asterisk, period, and colon [these are used to identify the positional information of the field]. A field starting with a + or - is treated as a delimiter, not an increment or decrement. For easy decoding it is recommended that you place a delimiter between any field and adjacent Zone fields, Page fields, Layer fields and LineLayer fields (e.g. 01 - LineLayer).
-
Wildcard fields can contain any value. These may be incremented or decremented. They may be retyped when inserting symbols etc. A wildcard field will match any combination of the above fields. Any character except comma, asterisk, period, and colon can be used for a wildcard value.
Wildcard fields may be given a fixed width. If no width is given for a wildcard field it must be the last field in the sequence. If a width is given, then any value entered for the field must always have that width. Any field following a wildcard, which has not been width limited, will be ignored.
Wildcard values have the following format:
A * indicates that the data is an alphanumeric wildcard. If you omit the value, you must omit the width. You may define a wildcard field with a value and no width. A wildcard is the only field which may have a value omitted.
Wildcard examples:
* Width not specified. No initial value. This type of wildcard field must be placed at the end of the sequence. *X+1.1 Width of 1 character. Data is initially 'X'. Will increment. *Relay Width not specified. Data initially "Relay". This type of wildcard field must be placed at the end of the sequence. -
Zone fields in a sequence will be loaded with the zone tag of the zone in which the symbol was inserted. Paneldes does not use zones. A zone field always appears as zone.
-
Page Fields in a sequence will be loaded from the current drawing's title block[s] and will be the contents of the title block's attribute PAGE (and if that does not exist the attributes SHEETNAME, DRAWINGNO and SHEET will be used, in that order). If none of these are found a PAGE name will be regarded as not present. Use the word Page to include this field.
-
Layer Fields in a sequence will be loaded from the current drawing's current layer name. This always exists in a drawing session. Use the word Layer to include this field.
-
LineLayer Fields in a sequence will be loaded from the line you are inserting on or rolling over with your mouse. This always exists in a drawing session when you are inserting your symbol on on a line, however if you insert a symbol off a line then LINELAYER will be regarded as not present. Use the word LineLayer to include this field.
Sequence Part Modifiers:
-
For each part an Increment / decrement value is optional. The inclusion of a step to use in incrementation defines a part as being "an incrementing part". e.g. "+5", e.g. "-5" can be used.
-
Width factors: A preceding "." will assign the following number as a width factor, inserting placeholders in front of the value to give the value the appropriate width. For example, the number of required characters in a number or text might be 3, if the present value is "1" the number is reported as "001". For letters, the placeholder is "A". For easy decoding it is recommended that you specify width factors for Zone fields, Page fields, Layer fields and LineLayer fields (e.g. LineLayer.4). For easy decoding it is also recommended that you use width factors as often as possible.
-
Constant Part Modifier: If the value of a part is followed immediately by "#", e.g. AB#, then that part of the sequence should always match identically the initial value, i.e. AB. An attempt to modify this value will cause a warning. A constant part cannot be incremented or decremented. Any increment or decrement value will be ignored.
Sequence Part Examples: (semi-colons are used as field separator)
K; 1+1 | Names start with a K, and start at 1, incrementing by 1 for each insertion: K1, K2, ..., R1, R2, ... |
K; 1+1.3 | As above, width factor means the sequence is: K001, K002, ..., R003, ... |
K; 1+1;* | As above, the wildcard allows a wildcard suffix to the increment: K1A, K2F. |
K; zone | The second part takes the value of the zone that the symbol is inserted into. |
1+1;K | Places the number in front: 1K, 2K, ..., 1R, 2R |
K; A+1.3; -; 1 | Increments the second group of width limited letters and allows a suffix to be entered: KAAA-1, KAAB-1 |
K; 000.3; -;1+1 | As above, the prefix is entered: K001-1, K001-2 |
K; 000.3 | Allows any numeric value with a width of 3: K001, K010, R010 |
Predef; cabletriads | Uses a predefined sequence from the file "cabletriads.txt" |
*plant+1 | Any text can be entered, default is "plant", will increment: plant, planu |
*+1 | Any text can be entered, default is blank, will increment |
FT#,100+1.3 | Letter part is constant. Numeric part has width of 3: FT100, FT101 |
Predefined Sequences e.g. Cable conductor colours
Predefined Sequences can be used to tell EDS that the sequence of Tagnames or Wire names you require are not a logical numeric sequence, however the sequence is known to you before you start your design. If a known sequence of names is entered in to consecutive lines of a text file, the naming sequencer can read the names and offer them to you as required. A good example is a cable with coloured conductors/cores. We have provided a sequence of coloured cable cores(conductors) as a sample [cablecolors.txt].
These files must be located in \EDS50\Elecdes directory and are *.txt files.
Sequences Firstval, Lastval, Repeat
The Firstval and Lastval fields allow you to limit the range of a Tagname. This can be used to control the range of tags used in any project.
-
Firstval: optional, the predefined start value of a formula.
-
Lastval: optional, the predefined last value of a formula.
-
Repeat: 1= return to Firstval once value reaches Lastval; blank = don't repeat.
-
Examples: used where Tagnames 1-20 might be in Panel1 then we should repeat the tagnames (1-20) for Panel2, or terminals where the Terminals are the same for each of multiple Terminal Blocks.
Specifications: Class, Attribute, Block1-n
-
Class: The class of symbol the AutoCAD Block represents: Device, Term, Wire, Cable, Instrument, Zone or one of the Paneldes, Instrument Manager or Cable Scheduler classes.
-
Attribute: The attribute that can be updated with the sequence.
-
Blockn: The blocks (which represent Elecdes symbols) that can be updated by the sequence.
Wildcards can be used, based on the Specmatch system. A * in the block name is an alphanumeric wildcard. A # is a numeric wildcard. A @ is a letter wildcard.
For example, "sw*" will allow all "swc" and "swo" blocks (i.e. swo1, swo2, etc.) to be updated; "swc#" will allow only "swc" blocks (i.e. swc1, swc2); "sw@2" will allow selected "swo" and "swc" blocks (i.e. swo2 and swc2). Wildcards can appear in the middle of the text. "*" is the most generic; it will match any block name.
Instrument Manager and Cable Scheduler will pass the core or conductor arrangement to be matched to a pattern in a BLOCKn column when building the cores of a cable.
Specifications: Paneldes
Paneldes does not require the block fields. Otherwise the usage is the same. For example
Key | Part1 | Part2 | Class | Attribute |
---|---|---|---|---|
location | *PLANT+1 | * | LOCATION | |
mount | PLT | 01+1 | MOUNT | TAGNAME |
accessories | ACC | 01+1 | ACCESSORY | TAGNAME |
Duct Length | DUCT | 001+1 | DUCTING | TAGNAME |
Duct Reducer | DUCTRED | 001+1 | DUCTRED | TAGNAME |
Duct Corner | DUCTCNR | 001+1 | DUCTCNR | TAGNAME |
Duct Riser | DUCTRSR | 001+1 | DUCTRSR | TAGNAME |
Duct TSection | DUCTT | 001+1 | DUCTT | TAGNAME |
Duct XSection | DUCTX | 001+1 | DUCTX | TAGNAME |
Tray Length | TRAY | 001+1 | CABTRAY | TAGNAME |
Tray Reducer | TRAYRED | 001+1 | TRAYRED | TAGNAME |
Tray Corner | TRAYCNR | 001+1 | TRAYCNR | TAGNAME |
Tray Riser | TRAYRSR | 001+1 | TRAYRSR | TAGNAME |
Tray TSection | TRAYT | 001+1 | TRAYT | TAGNAME |
Tray XSection | TRAYX | 001+1 | TRAYX | TAGNAME |
Conduit Length | CONDUIT | 001+1 | CONDUIT | TAGNAME |
Conduit Reducer | CONDRED | 001+1 | CONDRED | TAGNAME |
Conduit Corner | CONDCNR | 001+1 | CONDCNR | TAGNAME |
Conduit Riser | CONDRSR | 001+1 | CONDRSR | TAGNAME |
Conduit T | CONDT | 001+1 | CONDT | TAGNAME |
Conduit X | CONDX | 001+1 | CONDX | TAGNAME |
Initial Values and Saving Defaults
When EDS is installed the initial values for the sequences will be the values in the sequence definition file, detailed in Setup->Preferences. Two options are provided (namesIEC, namesANSI), the user can create more. They should be stored in the ELECDES folder.
EDS saves the last value entered for each sequence, in the file <project_name>names.dbf. This file is a copy of the setup file. <project_name>names.dbf is stored in the assigned project directory.
When EDS is restarted, default values are restored from this file for the Naming Sequencer. You may modify this file if you wish to alter the initial defaults for the next Elecdes or Paneldes session.
If <project_name>names.dbf is deleted, the initial values for the sequences will revert to those in the sequence definition file, namesIEC/ANSI/USER.dbf. The file will be rebuilt as soon as the Naming Sequencer is used.