PDMS11 5-Manual-11 2
PDMS11 5-Manual-11 2
PDMS11 5-Manual-11 2
User Guide
Part 2: Drawing Annotation
Version 11.5
pdms1151/man11/doc2
issue 140403
PLEASE NOTE:
AVEVA Solutions has a policy of continuing product development: therefore, the
information contained in this document may be subject to change without notice.
AVEVA SOLUTIONS MAKES NO WARRANTY OF ANY KIND WITH REGARD TO
THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.
While every effort has been made to verify the accuracy of this document, AVEVA
Solutions shall not be liable for errors contained herein or direct, indirect, special,
incidental or consequential damages in connection with the furnishing, performance or
use of this material.
This manual provides documentation relating to products to which you may not have
access or which may not be licensed to you. For further information on which Products
are licensed to you please refer to your licence conditions.
For details of AVEVA's worldwide sales and support offices, see our website at
http://www.aveva.com
AVEVA Solutions Ltd, High Cross, Madingley Road, Cambridge CB3 0HB, UK
Revision History
Index
DRAFT produces fully annotated scale drawings showing selected parts of the design
model created in PDMS DESIGN. DRAFT is fully integrated with DESIGN.
A model can be viewed from any direction, with hidden detail automatically removed or
shown in a different linestyle, as required. A drawing may contain more than one view
of a 3D model; for example, a plan view, a front elevation and an isometric view may be
displayed simultaneously.
In DRAFT an annotated drawing is made up of different types of graphics:
• Graphics that represent the 3D model.
• Graphics to provide backing and overlay sheets which will be common to a number
of drawings.
• Graphics providing annotation, including not only dimensioning and text but also
such items as leader lines and label boxes.
All the graphic items exist as, or are defined by, elements in the DRAFT database.
The DRAFT database contains a complete definition of a DRAFT drawing. The DRAFT
database does not contain information describing the geometry of the graphics that
make up a drawing, but gives a description of how those graphics should be presented
on a drawing.
From this database definition (together with the Design and Catalogue databases which
describe the appropriate 3D model) a drawing is generated which reflects the state of
the design at that particular time. The drawing can be displayed on the screen and
processed to produce a hard copy plotfile.
This is a command-level manual, written for people who are writing or customising their
own graphical user interface. It describes all the DRAFT commands, with worked
examples where appropriate. It is assumed that you are familiar with the normal way of
using DRAFT, via the supplied Graphical User Interface (GUI).
For an introduction to using DRAFT via the GUI, see Drawing Production Using
VANTAGE PDMS, and for further information, see the online help. For information
about DRAFT System Administration, see the VANTAGE PDMS DRAFT Administrator
Application User Guide.
For general information about customising the graphical user interface, see the
VANTAGE Plant Design Software Customisation Guide and VANTAGE Plant Design
Software Customisation Reference Manual.
This manual, Part 2 of the User Guide, is divided into the following chapters:
• Chapter 2, Introduction to Annotation, describes the part of the DRAFT database
that stores annotation elements.
• Chapter 3, Dimensioning, describes how dimensions are added to drawings in
DRAFT. It also describes the part of the DRAFT database that stores dimensions.
• Chapter 4, Labelling, describes labels, how they are created and the part of the
DRAFT database that stores them.
• Chapter 5, Intelligent Text, describes the use of code words to automatically extract
data from the Design, Catalogue or Drawing databases.
• Chapter 6, Miscellaneous Text Facilities, describes how the following text parameters
can be manipulated in DRAFT; font selection, using multiple fonts within a text
string, inserting symbols using the alternative character set, editing text attributes,
text quality, character height.
• Chapter 7, Annotating Structural Elements in DRAFT, describes how to label and
dimension structural elements, and how to use structural elements in 2D drafting. It
also describes how to apply 3D data to annotation elements.
• Chapter 8, Underlays and Overlays, describes the use of underlays and overlays on a
Sheet to add standard elemnts such as borders, title blocks, keyplans, etc.
• Chapter 9, 2D Drafting, describes DRAFT's two dimensional drafting facilities and
explains how these can be used to complement its main drawing production
facilities.
• Chapter 10, ISODRAFT Symbols, describes how ISODRAFT Symbols can be created
in DRAFT and exported to an ISODRAFT Symbol File.
• Chapter 11, Point and Line Construction, describes how a drafting position can be
defined by reference to other positions rather than explicitly.
This Section describes the part of the Draft database used to store annotation
elements, that is dimensioning elements, labelling elements, and 2D drafting elements
(i.e. geometric primitives, symbols, and text). This part of the database hierarchy is
shown below:
SHEE
NOTE VIEW
LAYE
CIRC
ELLI PDIM
RECT
TABL RDIM
ETRI
DMND
HEXA
MRKP
STRA
ARC
OUTL
2.1 Layers
Layers (LAYE) are owned by VIEWs and are administrative elements used to group
together annotation elements. Layers may own Dimension elements, Label elements
and View Note elements. Usually, different Layers are used for different functions, and
the function of a Layer is defined by its PURPose attribute. The PURP attribute is used
to control the types of element which the Layer can own.
The PURP (Purpose) attribute of a Layer is set to a (four character) word, for example:
PURP DIMS
The PURP attribute may also be used to identify the Layer in other commands. For
example:
UPDATE LAYE DIMS
HIGhlight PURPose DIMS - highlight the Layer in the current view
with its PURP attribute set to DIMS
For more information on the HIGHLIGHT command, see Section 6.6, Part 1, Basic
Drawing Creation & Output.
The LVIS attribute controls the visibility of a Layer. It can be set to TRUE or FALSE.
This enables different types of annotation to be switched on and off.
The UCOD (Units Code) Layer attribute controls the display of units used for
dimensions and labels. For example:
UCOD FINCH DIST
- set distance units to ‘PDMS style’ feet and inches, e.g. 5’5.13/16
The default is mm for distances and bores. See Section 5.13.1 for full details of UCOD.
The PCOD (Precision Code) attribute controls the precision of output used with
Dimensions and Labels. See Section 5.13.3
Where Layers and Layer members have common attributes, the values of those
attributes are cascaded down from the Layer.
2.2 Autoblanking
You can use autoblanking to remove an area of graphics from a drawing and leave a
clear area. Generally, graphics added later will be drawn in this clear area. The main
purpose is to allow annotation to be shown clearly in crowded parts of a drawing. The
geometry of the blanked areas is defined by the geometry of the annotation element, for
example, a circular annotation element can define a circular blanked area where no 3D
design graphics will appear. Overlapping 2D, text and other annotation graphics will not
be hidden by blanking.
When autoblanking is switched on, the geometry will be hidden in the blanked areas
immediately the annotation that defines them is drawn or modified. When autoblanking
is switched off, the blanks will not be generated on the screen, but switching
autoblanking on will generate all blanks immediately. Blanks will always be generated
in plot files generated from DRAFT, even when Autoblanking is off. The advantage of
working with Autoblanking switched off is that view control operations such as zooming
and panning will be slightly faster.
The command to switch autoblanking ON or OFF for a DRAFT session is:
AUTOBLANKING ON/OFF
Autoblanking can be used for the following annotation elements: LDIM, ADIM, RDIM,
PDIM, GLAB, SLAB, VNOT, and NOTE. The attribute BLNK specifies whether
autoblanking is required, and attribute BMAR specifies the blanking margin to be
applied.
BLNK TRUE/FALSE
BMAR value
where value is a real value which is greater than or equal to 0.0. If BMAR is set to 0.0
then a blanked region will be drawn with no blanking margin.
3.1 Introduction
DRAFT dimensions are a form of drawing annotation consisting of both text and
geometric elements; they may be either linear, radial (two types) or angular. Linear and
radial dimensions show the distances between particular points in the design model
whilst angular dimensions show the angles between directions.
DRAFT allows dimensions to be created quickly and easily (using the cursor), with
many attributes of the database dimension elements being assigned automatically.
A simplified view of that part of the DRAFT Database hierarchy which relates to
dimensioning is shown below.
VIEW
LAYE
(Dimension Directions)
(Dimension Points) (Dimension Points)
Linear Dimension (LDIM) elements (see Section 3.4) exist for each linear dimension
that appears on a drawing. LDIM elements own Dimension Point elements, which
specify the points between which dimensions are drawn. Two other types of linear
dimension are:
Radial Dimension (RDIM) elements (see Section 3.5) exist for each radial dimension
that appears on a drawing, being defined by a database element and an attribute (e.g.
DIAM of a CYLI).
Pitch Circle Dimension (PDIM) elements (see Section 3.6) exist for each pitch circle
dimension that appears on a drawing. PDIM elements own Dimension Point elements,
which specify the points between which dimensions are drawn. The graphics for an
PDIM are similar to those for an RDIM.
Angular Dimension (ADIM) elements (see Section 3.7) exist for each angular
dimension that appears on a drawing. ADIM elements own Dimension Direction
elements, which specify the end points of the dimension arc and its origin.
NOTE: When a Pipe element is dimensioned directly, the Pipe origin is assumed to be
the position of the HEAD of the first Branch visible in the VIEW region, if any.
If no Branch HEADs are visible in the VIEW region, then the position of the
HEAD of the first Branch is used.
Crosshairs Overshoot distance CHOSHT - default value 6. This controls the distance
by which the crosshairs overshoot the circle circumference. This value can be negative.
Angle Subtended ASUB - default 0. This controls the angle subtended by the optional
projection arcs at the circle circumference. For DFLAG DIAMETER two arcs are
drawn, one at each end of the dimension-line; for DFLAG RADIUS only one arc is
drawn. The midpoint of these arcs will intersect the dimension-line. Note that
ASUB=180 generates a circle for a diameter dimension.
Projection Line Pen PLPN. This pen is used to draw the optional projection arcs.
The command
CHECK REFS WARN
will cause a warning to be output in this situation, and the command
CHECK REFS FULL
will result in such Dimensions not being drawn. The default reference checking mode
(i.e. no checking) is given by
CHECK REFS OFF
Reference checking is also available for Labels - see Section 4.
It is possible to draw a Dimension which contains Dimension Points which are
incompletely defined (for example, a DPPT with an unset/illegal DDNM).The Dimension
is now treated as only containing the significant Dimension Points for both drawing the
Dimension and for commands which rely on the drawn dimension (such as PLCL @ (see
Figure 3-9) and DTOF @ (see Section 3.4.4).
and using the cursor to nominate the link element. P-points, p-lines, dimension points or
3D points may also be used as links using
INSE IDP @
INSE IDPL @
INSE IDPD @ or
INSE POS @
A Dimension Point may be constructed using DRAFT’s point construction facilities
(see Section 11). For example:
INSE POS OF @
INSE POS OF ENDP OF @
Other constructions such as INTERSECTION and MIDPOINT can be used. The facility
(which is only valid in a plan or elevation View) enables Dimension Points to be
positioned on any line of the Design graphics. The constructed Dimension Point will
have a 3D position (i.e. it is a DPOI) but will not be associated with the identified Design
element.
The effect of the INSERT command is to create a new Dimension Point of the
appropriate type at the correct position in the owning LDIM’s member list. INSERT can
be used at Dimension Point or LDIM level. Figure 3-6 illustrates the use of the INSERT
command.
A parallel Dimension can be produced simply by setting the LCHA attribute of an LDIM
as appropriate:
LCHA PARA - parallel dimension
LCHA CHA - chained dimension
The Projection Line Overshoot (OSHT) is the distance by which the projection line
‘overshoots’ the end of the dimension line. Negative overshoots may not be specified.
Examples of setting this attribute are:
OSHT 5 - set OSHT to 5mm
OSHT @ - set using cursor
OSHT @ - set using cursor
OSHT TOP /CIRCLE1 - OSHT defined by a ‘constructed point’ -
see Section 11.
OSHT DEF - (at Dimension Point level): set to owning Dimension
OSHT value
(See PLCL description for further comments relating to OSHT.)
The other three attributes shown on Figure 3-9 are:
Dimension Line Offset (DOFF) - the distance by which the dimension line is
offset (in the projection line direction) from the
2D position of the first dimension point.
Projection Line Direction (PLDI) - the angle between the projection line and the
dimension line.
Dimension Line Direction (DIR) - the direction of the dimension line (an explicit
compass direction, p-point or p-line direction).
Default East.
An important feature of the above attributes is that they can be set at Dimension
Point level, removing the need to move back up the hierarchy having just created a new
LDIM.
DOFF has a related attribute DPOS - the dimension line position. DPOS is a fixed
2D paper coordinate through which the dimension line will pass. If a dimensioned
element is moved, then if DOFF is used the whole Dimension will also move; if DPOS is
used then the dimension line will still pass through the same point (but the projection
lines will be adjusted to suit).
DOFF and DPOS both control the position of the dimension line and so are mutually
exclusive - setting one will unset the other. Examples of the relevant commands are:
DOFF 20 - set DOFF to 20mm
DPOS @ - set DPOS using cursor
DIM ABSOLUTE - convert DOFF to DPOS
DIM OFFS - convert DPOS to DOFF
When setting DPOS, the resulting (paper) coordinate which does not lie in the same
axis direction as the required offset is ignored.
The projection line direction is set by commands such as:
PLDI 75 - set PLDI to 75 degrees
P2 DOWN P2
P1 P1
(i) (ii)
The true length facility can be useful when it is not clear what explicit direction to set in
order to achieve the desired result. The bottom left-hand dimension in Figure 3-11 has
been created without regard for the Dimension direction, which turns out to be
inappropriate; setting TLIN TRUE produces the desired picture.
Points to note about the true length facility are:
• The true length is 2D, i.e. the length is orthographic, not a slope length - ‘uppings’
are ignored.
• True length is meaningless for a Dimension with more than two points, unless the
points are in line.
It is possible to set the dimension direction to that of a p-point, using the command:
DIR IDP @
(This command will set the DDNM attribute to the name or reference number of the
primitive concerned, and the PPDI attribute to the appropriate p-point number; DIR will
be unset and TLIN set to FALSE.)
For example:
DMSP 30 - set separation to 30mm
The EXTERNAL setting forces the dimension line text to be drawn parallel to the
projection line even though there is room for it to be drawn parallel to the dimension
line. By default the text is centred on middle of the dimension line. If the text would not
be external in the STANDARD case, then its position is constrained to lie between the
projection lines.
The PARALLEL setting forces the dimension line text to be drawn parallel to the
dimension line even though there may be insufficient space for it to fit. By default the
text is positioned just above the middle of the dimension line. If the text would not be
external in the STANDARD case, then its position is constrained to lie between the
projection lines.
The DEFAULT setting is only available at Dimension Points. This allows the DTANGLE
value to be taken from the Dimension element (LDIM or ADIM). Otherwise the setting
at the Dimension Point is used. This is the default setting for Dimension Points.
(each at the appropriate dimension point level) could be used to give the text shown in
Figure 3-16.
A Radial Dimension (RDIM) is a form of linear dimension which may be used to draw
radius and diameter dimensions of circular elements. A Radial Dimension does not own
Dimension Point elements, but is defined by a database reference to an element type
(the one to be dimensioned) and an attribute taken from that element which defines
whether a diameter or a radius is to be drawn. For example, DIAM of a CYLI (the
diameter of a cylinder) or FRAD of a PAVE (fillet radius of a Panel Vertex). Figure 3-21
shows the principal features of an RDIM, Figure 3-22 shows examples of types of RDIM.
A Pitch Circle Dimension (PDIM) is another form of radial dimension - see section
3.6.
Dimension Text
Dimension Origin
Leader Line (optional)
Dimension Line
Terminator
The following table shows which attributes of which DESIGN element types may be
dimensioned using an RDIM.
The command
Q AKEYLIST
(at a Design element) returns the list of possible AKEY settings.
Most of the AKEY settings allowed above are genuine database attributes; however, the
DIAM keyword has different meanings at different elements. For some Design elements
it is a genuine attribute, for others it is derived:
• DIAM is a genuine attribute of Dishes (DISH, NDIS) and all Cylinders (CYLI,
NCYL, SLCY, NSLC).
• For Toruses (RTOR, NRTO, CTOR, NCTO), DIAM gives the centreline diameter of
the element - i.e. twice the average of RINS and ROUT.
• For Snouts (SNOU, NSNO) and Cones (CONE, NCON), DIAM is taken to be DBOT,
the bottom diameter.
• For Structural Vertices (VERT, PAVE, SEVE), DIAM is taken to be twice the fillet
radius (FRAD) if it is set. The origin is normally the position of p9 of the vertex.
The centre of a Radial Dimension is normally defined by the origin of the element
dimensioned, except for the following AKEY settings:
• For DTOP and DBOT, the dimension centre will be the centre of the appropriate
end of the primitive. This also applies to DIAM for Snouts and Cones.
• For FRAD, the centre of the fillet radius is defined by one of the many p-points of
the Vertex (p8 or p9). This also applies to DIAM if the FRAD value is being used.
• The RADI attribute of a dish (DISH, NDIS) is the knuckle radius. The CRAD
attribute of a dish is the cap radius. The centre of these radii are derived. Both
these AKEY settings are only sensible for a sideways view of a tori-spherical dish.
120 240
The Dimension Text (DMTX) attribute has the initial setting #DIM, which gives the
value of the dimension controlled by DLFAG. For example for AKEY RINS and DFLAG
DIAM, the text ’#DIM’ will be evaluated as the inside diameter of the element identified.
The resulting value will be output on the drawing in place of this codeword. #DIM is a
simple case of intelligent text - see Section 5.
The Dimension Line Angle (DDEG) attribute controls the angle at which the
dimension line is shown, relative to the 2D coordinate system of the VIEW. The default
value is 0 (horizontal in the VIEW). Note that this is only horizontal in the Sheet when
the VIEW has RCOD UP. DDEG may be set explicitly or by using the cursor (i.e. DDEG
@).
The Text Radius Flag (DTFLAG) attribute controls whether the text radius DTRAD
(see below) is measured from the CENTRE, MIDPOINT or CIRCUMFERENCE of the
radial dimension. The default setting is CENTRE. For radius dimensions, MIDPOINT is
the midpoint between centre and circumference; for diameter dimensions MIDPOINT is
the same as CENTRE.
The Text Radius (DTRAD attribute) is a signed distance (in Sheet units) which defines
the radial position of the dimension text origin from the centre or circumference
(according to the DTFLAG setting) of the dimensioned object. In the latter case, DTRA=
0 (the default value) means that the text origin is positioned at the 2D projection of the
circumference of the object dimensioned.
If the text origin lies outside the circumference then the text is justified towards the
centre of the circle. If the text lies inside the circumference then the text is centre
justified unless the DSTYL is LEADER. In this last case, the justification is towards the
circumference.
Text radius can be negative. For DTFLAG CIRCUMFERENCE, a negative value means
inside the circumference. For DTFLAG CENTRE, a negative value places the text on the
opposite side of the centre to its usual position. This is equivalent to reversing DDEG
with a positive DTRA value.
240 240
DTRA 0 DTRA 0
DTFLA CENTRE DTFLA CIRCUM
240 240
240 240
240 120
DIMLINE unless the text radial position is outside the circumference. The default
setting will be OFF.
See Figure 3-29 for examples of the LEADERLINE style (all shown with DTUL ON).
240
120
240
120
Crosshairs Overshoot distance CHOSHT - default value 6. This controls the distance
by which the crosshairs overshoot the circle circumference. This value can be negative.
CHOSHT can be set using the cursor, i.e. using the command
CHOSHT @
Angle Subtended ASUB - default 0. This controls the angle subtended by the optional
projection arcs at the circle circumference. For DFLAG DIAMETER two arcs are
drawn, one at each end of the dimension-line; for DFLAG RADIUS only one arc is
drawn. The midpoint of these arcs will intersect the dimension-line. Note that
ASUB=180 generates a circle for a diameter dimension.
Projection Line Pen PLPN. This pen is used to draw the optional projection arcs. The
default value of this will be cascaded from the LAYE.
A Pitch Circle Dimension (PDIM) is a form of radial dimension which may be used to
draw radius and diameter dimensions between two independently definable points. A
PDIM is defined by two Dimension Point elements which are owned by the PDIM. These
in turn are defined by p-points/p-lines (Radial Dimension P-Point, RPPT element) or
3D positions (Radial Dimension Position Point, RPOI element). As with Linear
Dimension Points, it is possible to use a RULE to parameterise 3D positions. It is not
possible to create more than two Radial Dimension Points. A PDIM will be drawn when
two significant dimension points are defined. It is not normally necessary to navigate to
the two individual Dimension Points.
The first dimension point will be at the centre of the dimension, the second will define
the circumference of the dimension. A PDIM contains the same style attributes as
an RDIM (see Section 3.5.2, but does not have DDNM/DDNX and AKEY attributes. As
with RDIMs, the meaning of the ’#DIM’ dimension text is defined by the DFLAG
attribute. The dimension points contain no style attributes. Figure 3-31 shows a simple
example PDIM (bold line - other dimensions are RDIMs).
The dimension radius will be the distance between the two dimension points as
projected into the VIEW, not the true 3D distance between these points. This projected
distance defines the value reported in the dimension text. This is consistent with the
functionality for Linear Dimensions (LDIMs) with Direction TRUE (see Section 3.4.3).
PCIRC IDP @
The PCENTRE command defines or redefines the centre point of a PDIM. For example:
PCEN IDP @
Position centre point on p-point - creates an RPPT
PCEN IDPL @
Position centre point on p-line (start) - creates an RPPT
PCEN IDPD @
Position centre point at a distance along a p-line - creates an RPPT
PCEN POS @
Position centre point at a 3D position - creates an RPOI
PCEN POS IDP @
Position centre point on p-point position - creates an RPOI
PCEN POS IDPL @
Position centre point on p-line (start) position - creates an RPOI
PCEN POS IDPD @
Position centre point at a distance along a p-line - creates an RPOI
PCEN @
Position centre point on a p-point (and set DDEG if possible)
If the existing centre point is the wrong database type, then this command will delete it
and create a point of the correct type.
The PCIRCUMFERENCE command defines or redefines the Circumference point of a
PDIM:
PCIRC IDP @
Position circumference point on p-point - creates an RPPT
PCIRC IDPL @
Position circumference point on p-line (start) - creates an RPPT
PCIRC IDPD @
Position circumference point at a distance along a p-line - creates an
RPPT
PCIRC POS @
Position circumference point at a 3D position - creates an RPOI
:
etc (as for PCEN)
This creates or redefines the circumference point of the PDIM. As with the PCEN
command, an RPPT or RPOI element is created as appropriate. If necessary the existing
circumference point is deleted. DDEG normally remains unchanged. However, the
command
DDEG TRUE
will change DDEG so that the dimension line passes through the circumference point.
A PDIM may be defined using two cursor hits. These define the Dimension Points and
set DDEG for a PDIM but do not set DTRAD. For example:
Here the PPDI attribute of each APPT will be set to the number of the p-point of the
nominated element which defines the Dimension Direction.
In each example above, the FROM keyword defines the Direction at the start of the
Dimension’s member list, TO defines a Direction after the last item in the list. The
Directions will be drawn in the order in which they appear in the list, and the rotational
direction between the Directions is determined by the minor arc between the first two
Directions.
The above examples show the easiest way of creating ADIM elements, but many other
methods are available. The dimension origin can be defined explicitly as a 3D point, as a
p-point, as a Branch Head or Tail or as (the origin of) any Design element; similar
considerations also apply when defining the Direction elements.
An example of a chained Angular Dimension is shown in Figure 3-33.
WARNING: This attribute should be used with caution. It is primarily intended for
use with parallel Dimensions or those containing two points only.
Chained or truncated Dimensions with more than two points will
contain overlapping arcs.
It is also possible to specify an explicit rotational sense:
SENSe CLOCkwise or SENSe ANTIclockwise
However, standard or reverse sense should be used with parallel dimensions.
DLFG PROJ
causes only the projection lines of a Dimension to be drawn. The setting of the LCHAIN
attribute is ignored in this case - all dimensions are treated as chained. This enables
coordinate dimensions to be output - with the coordinate reported in the projection-line
text.
DLFG DIM
causes only the dimension lines of a Dimension to be drawn. The default setting, causes
both dimension- and projection lines to be drawn:
DLFG ALL
If the VIEW XYPS is changed, or if the positions of Design elements are changed, the
positions of Dimensions on the Sheet will not change automatically. For the necessary
repositioning to occur the command:
UPDATE ANNO
must be given. The above command will affect the current element (and elements below
it). Commands of the form:
UPDATE element_identifier ANNO
(where element_identifier would typically be a DRWG, SHEE, VIEW, LAYE etc) are also
valid. Such a command can, of course, be given from any position in the hierarchy; only
annotation relating to the named element will be updated.
The ANNO keyword can be omitted if element_identifier defines a piece of annotation
only, for example, LDIM.
Summary of Commands
Autoblanking . . .
AUTOBLANKING ON/OFF
- switches autoblanking ON or OFF for a DRAFT session
BLNK TRUE/FALSE
- sets autoblanking for the current element, which can be
LDIM, ADIM, RDIM, PDIM, GLAB, SLAB, VNOT, or NOTE.
BMAR value - specifies the blanking margin, where <value> is a real value
which is greater than or equal to 0.0.
DOFF value - set a Dimension line position as an offset from the first
Dimension Point explicitly
DIM OFFS - convert a DPOS attribute to DOFF (offset distance from the
first dimension point)
DIM ABS - convert a DOFF attribute to DPOS (absolute paper coordinate)
DIR value - sets Dimension direction & uses standard PDMS direction
syntax, or you can use a design p-point direction - sets DIR
PLDI value - set projection line direction via a direction or angle - sets
PLDI
DIR TRUE - set dimension line direction to be that calculated from the
first & second p-points - sets TLIN true
DIM @ - defines both dimension angle DDEG and text radius DTRAD
in one go. (Dimension text origin will be at cursor crosshair
position.)
MODIFY @ - modifies DDEG, DTRA or DTOF attributes by cursor
interaction
NEW PDIM
PCEN POS @ - defines centre point as 3D position
PCIRC IDP @
PCEN POS IDP @ - positions centre point on p-point position - creates an RPOI
PCEN POS IDPL @ - positions centre point on p-line (start) position - creates an
RPOI
PCEN POS IDPD @ - positions centre point at a distance along a p-line - creates an
RPOI
DLPN DEF - sets dimension line pen number to Dimension default value
DTPN DEF - sets dimension text pen number to Dimension default value
PTCH DEF - sets projection text character height to Dimension default value
PTPN DEF - sets projection text pen number to Dimension default value
DPEN value - sets both dimension and projection line pen numbers
DTXPEN value - sets both dimension and projection text pen numbers
Setting gaps . . .
GAP @ - specifies a gap in a projection line by giving start & finish points
GAP DELETE ALL - deletes all gaps on the current projection line or dimension line
FTER option - set first dimension line terminator. Options: ARR, OBL, DOT,
OFF, DEFAULT
TSIZ 4 - set terminator size to 4mm (default 3mm)
Radial Dimensions:
AKEY option - stores the code of a dimensional attribute of the Design
element type which is to be dimensioned. Option dependent
on Design element type. Default DIAM.
DFLA option - controls whether the dimension line is drawn from the centre
(Radius) or across the diameter (Diameter).
option = DIAMETER or RADIUS, default RADIUS.
DDEG value - controls angle at which dimension line is shown, relative to
the 2D
DDEG @ - coordinate system of the VIEW. Default 0 (horizontal in the
VIEW).
DTFL option - controls whether the text radius DTRAD is measured from the
CENTRE, MIDPOINT or CIRCUMFERENCE of the radial
dimension. Default CENTRE.
DTRA value - radial position of the dimension text origin from the centre or
circumference DTRA @ (according to the DTFL setting) of the
dimensioned object.
DTRA FLAG option - modifies DTFL and recalculates DTRA to keep same visual
appearance. option = CENTRE, MIDPOINT or
CIRCUMFERENCE.
DTAN option - controls the Dimension text angle. option = STANDARD,
HORIZ, VERT, default STANDARD.
DSTY option - ombined with DTAN, controls the overall dimension style. Option
= DIMLINE, LEADERLINE, EXTERNAL, default DIMLINE.
CHPN option - controls the pen used for the optional horizontal and vertical fixed
crosshair markers which mark the centre of the circle/arc being
dimensioned. option = OFF or integer, default OFF.
CHOS value
CHOS @ - controls the distance by which the crosshairs overshoot the
circle/arc circumference. value can be negative, default 6.
ASUB value - controls the angle subtended by the optional projection arcs
at the circle/arc circumference. For DFLAG DIAMETER two
arcs are drawn, one at each end of the dimension line; for
DFLAG RADIUS only one arc is drawn. The midpoint of these
arcs will intersect the dimension line. ASUB 180 generates a
circle for a diameter dimension.
MODIFY @ - allows interactive modification of Dimension, with graphical
feedback.
Querying . . .
Q DESC - (at Dimension or Dimension Point)
- gives dimension direction and Dimension Points (Linear
Dimensions)
- gives dimension origin and Dimension Points (Angular
Dimensions)
- reports whether a Radius or Diameter dimension is required
(Radial Dimensions)
- names the Design element and attribute dimensioned (RDIMs)
- gives the Radial Dimension Points (PDIMs)
Q SETDEF - (at Dimension or Dimension Point) - gives default gap length
Q DDNM X coord
Q DDNM Y coord
Q DDNM X coord Y coord - gives the X and/or Y Sheet coordinate(s) of the 3D
position of either the p-point specified by the NPPT
attribute or the position specified by the PKEY and
PKDI attributes. These values may be useful when
attempting to position GLABs and SLABs neatly.
Q EXTENT DMTX
Q EXTENT PLTX - (at Dimension Point) - gives Sheet area occupied by
Dimension - Text/Projection Line Text
Q AKEYLIST - (at a Design element) - lists possible AKEY settings for element
type
4.1 Introduction
Labels are a form of drawing annotation, comprising text and/or graphics, associated
with Design items or Views. The Label elements are the General Label (GLAB), and
the Special Label (SLAB). SLABs are similar to GLABs except that they are generated
from templates rather than individually.
Label elements are owned by Layers or Views; SLAB templates (Text Label
Templates, (TXTMs)) exist as members of Label Libraries (LALBs). The relevant part
of the DRAFT database hierarchy is shown below.
LIBY
LAYE
LALB
GLAB SLAB
TXTM SYTM
DDNM
DDNM TMRF
Design database
element or VIEW
• Label Origin. A position within the body of the Label which is used to position it.
• Label Position. A 2D position within the VIEW at which the Label’s origin is
placed; this may be an absolute VIEW position or a position relative to the Label’s
attachment point.
• Leader Line. A line from the connection point to the Label attachment point.
• Leader Line Connection Point. A position, defined relative to the Label origin, to
which the leader line is drawn.
• Leader Line Connection Point. A position, defined relative to the Label origin, to
which the leader line is drawn.
The extent of the text defined by the BTEX setting can be queried by
Q EXTENT BTEX
See Section 9.5 for details.
Label text can be edited through use of the EDTEXT command. For example, if the
target string is ‘NOZZLE 2’:
EDTEXT ’NOZZLE 2’ ’NOZZ 1-2’ - change Label text to ‘NOZZ 1-2’
Note that when editing intelligent text the intelligent text code itself must be specified,
not the resultant text. See Section 6.4 for full details of the EDTEXT command.
The frame may be drawn in any desired pen, specified by a command such as
FRA PEN 6 (sets the LFPN attribute)
Similarly, the leader line pen may be set using the LEAD PEN command. The frame and
leader line pens may be set simultaneously by setting the Label’s LPEN attribute to the
desired pen number. See Section 8, Part 1, Basic Drawing Creation & Output, for pen
options.
4.2.6 Autoblanking
Autoblanking can be used to hide design graphics in areas close to annotation. For
details, see Section 2.2.
The Label FONT attribute controls the Label text font - see Section 6 for details of text
fonts.
The TPEN attribute controls the text colour - see Section 8, Part 1, Basic Drawing
Creation & Output for details of pen settings.
The leader line may be straight or bent, with one or two bend point positions specified
either explicitly (by defining either a specific point within the VIEW or an offset from
the attachment point), or implicitly by specifying that the leader line is to contain a
vertical or horizontal portion.
Examples of commands used to specify the bend point explicitly are shown below, with
the results of the commands being shown in Figure 4-9.
In the case of a bent leader line specified as having a horizontal or bent portion, the
bend point will be at the intersection of the horizontal/vertical part of the line and a
sloping line drawn at a user-specified angle to the attachment point. The first of these
two portions to be specified will be at the end nearest to the attachment point. The
portion of the leader line nearest to the connection point will go to a corner of the Label
box if the horizontal/vertical portion is specified first, or to the middle of a box line if the
horizontal/vertical portion is specified last. See Figure 4-10 for examples of the
commands involved and their results.
4.3.1 Introduction
Label templates are a means of predefining the graphical appearance and text contents
of a Label. Label templates are stored in a Label Library (LALB), which, like a SHEE,
can be displayed in an area view. The templates can be positioned and picked off to be
used on a VIEW. Label Templates may be ‘textual’, having the same general appearance
as a General Label (GLAB) or ‘Special’.
The appearance of the SLAB is controlled by a combination of the attributes from both
the SLAB itself and the TXTM it references. The text and frame (i.e. the BTEX, NLPN,
MPEN, LFRA, GBOX, CSPA and LSPA attributes) are designated by the TXTM; the
rest, including the leader line, are controlled by the SLAB.
The following attributes on a Special label (SLAB) (settings cascaded from owning
Layer) may be set to use the TXTM value:
FONT Font
TPEN Text pen
LFPN Label frame pen
CHEI Character height
ALIG Text vertical alignment
JUST Text justification
If the attribute values are set to TEMPLATE, then the attributes on the template
(TXTM or primitives owned by an SYTM) are used for drawing the Label. Example
syntax:
TPEN TEMplate
CHEI TEMplate
If explicit values are set, then the SLAB attributes are used. These will override any
variation in pen colour or style between primitives in the original template for a Special
label.
The initial values for these attributes on a newly created SLAB are cascaded from the
Layer (LAYE). The values ‘Template’ must be explicitly set on the SLAB when required.
All four attributes affect the appearance of a text label. However, only the two pen
attributes will affect the appearance of a Special label. CHEI and FONT values have no
effect on appearance of a Special Label.
The text attribute of a TXTM (i.e. BTEX) can hold explicit and/or intelligent text, but for
the latter the expanded result will not be shown on the library Sheet and will only
appear on a VIEW once used from within a SLAB.
The ETEX (example text) attribute (of the TXTM) exists only as a documentary
attribute, which is useful for recording the results of intelligent text expansions. It is set
in the same way as BTEX.
The ATEX attribute of a SLAB may be set in the same way as BTEX (see below) and
may be used to provide a label identifier. Provided the BTEX attribute of the TXTM (or
of a TEXP element of an SYTM, see next section) is set to ‘#ATEX’, the SLAB label text
will always take the ATEX setting. If BTEX is set otherwise, the ATEX setting (if any)
will be ignored. For example, consider the command sequence:
NEW TXTM /TEMPLATE
BTEX ’Number #ATEX’
NEW SLAB
TMRF /TEMPLATE
ATEX ’99’
This would output a Label containing the text ‘Number 99’.
The following sequence of commands illustrates the use of SLABs and TXTMs (starting
at Library level).
NEW LALB - create new Label Library
NEW TXTM /TP1 - create new Template
BTEX ’#NAME’ - set label text
NEW TXTM /TP2
BTEX ’PUMP
Text*#NAME’
Following these commands, the Label Library could be PUT into an area view as
illustrated in Figure 4-12. Note: when a TXTM is created its XYPS attribute is not set -
this must be set before the Template can be drawn on the Library Sheet. Also, it may be
necessary to window in on the TXTM and/or adjust its CHEI attribute before it becomes
clearly visible.
The extent of the text defined by the BTEX setting can be queried by
Q EXTENT BTEX
See Section 9.5 for details.
Having created the Templates and displayed them, new SLAB elements can be created
which can be linked to the Templates by the TMRF attribute. The SLABs can then be
used on the Drawing Sheet. For example:
NEW SLAB - create new Special Label
TMRF ID @ - set template reference by using cursor to nominate template
in Library Sheet
Figure 4-13 shows the result of such commands, starting from the elements and the
display set up shown in Figure 4-12.
• a CIRC primitive, and the SLAB is drawn undistorted (i.e. its XYSC values are
equal) then the leaderline will terminate at the CIRC
• a MRKP primitive, then the leaderline will terminate at the MRKP.
• a TEXP primitive, then the leader line will terminate at the opposite corner of the
test box, as occurs with GLABS.
The CPOF attribute can be defined in several ways using the LEADERLINE
CONNECTION command:
The values stored in CPOF define the coordinates of the connection point relative to the
template’s origin and they are in the axis system of the template. Hence if the SLAB’s
orientation is changed the connection point will rotate with it.
For SLABs defined by a SYTM having a TEXP as its first member the leader-line will
terminate at the appropriate corner of the text-box (as occurs with GLABs) unless the
SLAB’s CPOF attribute defines a specific leader-line connection point.
NOTE: The CPOF attribute for a SLAB is an offset from the Label origin. For a SLAB
which references a TXTM, this is defined by the JUST and ALIG attributes of
the TXTM. Hence if the JUST or ALIG components of a TXTM are modified the
leaderline will be connected to a different part of the Label.
The selection system makes it possible to do a global change on the CPOF
attribute of all SLABS which use a given TXTM., using a macro such as:
VAR !A COLLECT ALL SLAB WITH (TMRF EQ /template_id ) FOR SHEE
DO !B VALUES !A
$!B
CPOF -5 10
ENDDO
Where the CPOF setting defines an offset from the new Label origin and
template_id is the TXTM name (which must be followed by a space).
The appearance of SYTMs is completely user-definable, and may consist of any size and
combination of basic geometrical shapes (squares, circles etc), as well as text (which may
be ‘intelligent’). SYTMs are generated using DRAFT’s 2D drafting facilities - see Section
9. (Note also that Point Construction (see Section 11 ) can also be used to create
SYTMs.) SYTMs are used in the same way as TXTMs.
As well as the XYPS (2D Sheet position), SYTMs have other attributes common to other
DRAFT graphical elements, namely, NLPN (note line pen), MPEN (marker pen), TPEN
(text pen), FONT (text font), CHEI, CSPA and LSPA (text character attributes). See
Section 8, Part 1, Basic Drawing Creation & Output for more information on pens. All of
these attributes have default values which are obtained from the owning Library. These
attributes cannot be modified at the SLAB.
XYSCALE 1 1
XYSCALE 1 2 XYSCALE 2 1
4.4 Autotagging
4.4.1 Introduction
DRAFT’s ‘autotagging’ facility enables you to generate automatically a series of Labels
in one or more VIEWS of a Drawing, having defined a set of rules to control which
elements are to be labelled and the (common) appearance of the labels.
The automatically generated labels (which may be GLABs or SLABs) can then be
individually edited. For example, it may be necessary to reposition a label or to modify
its leader line. The editing functionality is subject to a few constraints so as to prevent
Labels from becoming out of line with the criteria under which the autotagging process
operated.
The autotagging process is under the control of a Tag Rule (TAGR) element. The
relevant part of the DRAFT database hierarchy is shown overleaf.
A Tag Rule exists as a member of a Layer (LAYE) or of a Tag Ruleset (TRST). Tag
Rulesets are owned by Tag Rule Libraries (TRLB).
The Layer element has a Tag Ruleset Reference attribute (TRSF) which, if set, will refer
to a TRST. All automatically generated Labels will be owned by a Layer. Those Labels
within a given Layer will will have been generated either from TAGRs owned by that
Layer or from TAGRs referenced by the Layer via its TRSF attribute.
Having defined a TAGR element, the Labels are generated by giving the command:
UPDATE TAGGING
The UPDATE TAGGING command should be given whenever the Design changes such
that Labels move (but remain within the VIEW), or if the TAGR itself changes.
LIBY
TRLB
VIEW
TRST
LAYE
TAGR
TRSF
TMRF
GLAB, IDLN
SLAB or
template GLAB/SLAB GLAB/SLAB
element
Id List or SORF SORF
DESIGN TAGR
element
TMRF
GLAB,
SLAB or IDLN
template
element
Id List or
DESIGN
element
4 Label Appearance
This is defined by the element referenced by the TAGR’s TMRF attribute. If the
referenced element is a GLAB or a SLAB, the generated labels will be identical to it
except for attributes DDNM and LVIS (which will be set TRUE). The GLAB or SLAB
need not be in the current Drawing.
If the referenced element is a TXTM or SYTM, the basic style of the generated SLABs
will be defined by the referenced template, but detail appearance attributes will be
cascaded down from the owning LAYE. Attributes CHEI, FONT, LPEN and TPEN may
be set at LAYE level to ‘TEMPLATE’, which means that these attributes will take their
values from the template referenced by the TAGR. (This applies only to SLABs; other
LAYE members, for which the ‘TEMPLATE’ setting would be meaningless, would be
created with values of 4mm, 1, 1 and 1 (respectively) for these attributes.)
4 Elements to be Tagged
These are defined by the element referenced by the TAGR’s IDLN attribute. By default,
this is set to reference the WORLD, in which case all elements included in the owning
VIEW’s Id List will be considered for tagging. If the IDLN attribute is set to refer to an
Id List, only those elements common to this Id List and the VIEW’s Id List will be
considered for tagging. Similarly, if the IDLN attribute is set to refer to a Design
element, only those elements common to this element and the VIEW’s Id List will be
considered for tagging.
4.4.4 Querying
TMRF and IDLN are queryable in the usual way. With a TAGR as current element, the
query command
Q DESC
will output the tagging rule used.
A description of all tag rules relevant to a Layer (i.e. those owned by it and those owned
by the TRST it references) may be output by:
Q TRSF DESC (at LAYE)
In the latter two cases, whether or not an element is excluded depends upon the position
of the p-point to which the Label is to be attached. Note that Labels will be created for
elements that are not drawn because they are obscured by others. If these Labels are
not required it is recommended that they are made invisible by setting LVIS FALSE.
Deleting them will only cause replacements to be generated on the next UPDATE TAGG
command.
If a LAYE element is LOCKed then none of its TAGRs will be updated. An UPDATE ALL
command will still cause the annotation of that Layer to be updated. If a GLAB or
SLAB, which needs to be modified or deleted, is LOCKed then it will be UNLOCKed and
the modification or deletion carried out.
When a Tag Rule is updated a second (or subsequent) time, existing Labels will not be
deleted and recreated from scratch unless the OVERWRITE option is used, i.e.
UPDATE TAGG OVERWRITE (or UPDATE element_identifier TAGG OVERWRITE)
Using OVERWRITE will destroy any editing of individual Labels that may have been
done. Not using OVERWRITE will cause existing Labels to be updated so as to reflect
any changes that may have occurred in the Design database; new Labels will only be
created for those Design elements found without Labels with correctly set SORF
attributes. Any existing Label (with a correctly set SORF attribute) on a Design element
which no longer exists or which no longer meets the criteria of the Tag Rule (see above)
will be deleted.
The following example illustrates the effect of updating a Tag Rule a second time
(without OVERWRITE):
VIEW /VIEW1 has an Id List /LIST1 which calls up four Equipments, /VESS1, /VESS2,
/VESS3 and /VESS4. /VIEW1/LAYE1 owns Tag Rule /TR1 which is simply defined as
‘TAG ALL EQUI’. The IDLN attribute of /TR1 is set to /*, i.e. the whole of /LIST1 is to be
scanned and all EQUIs tagged.
When /TR1 is updated for the first time four Labels are created in /VIEW1, one on each
of /VESS1, /VESS2, /VESS3 and /VESS4. For the sake of convenience we shall refer to
these Labels as /LAB1, /LAB2, /LAB3 and /LAB4, although the autotagging process
would not actually give them names.
The following Design and DRAFT database changes are then made:
• /VESS1 - unaltered
• /VESS2 - moved by W2500
• /VESS3 - deleted
• /VESS4 - removed from /LIST1
• /VESS5 - added to /LIST1
• /LAB4 - deleted
• /LAB5 - new Label, created on /VESS5
If a Label with its SORF attribute set is copied, the new Label will have its SORF
attribute set to Nulref.
SORF may be unset by
SORF =0 or
SORF NULREF
The width of the fields should be made sufficient to accommodate the expanded
codewords. The GLAB’s FONT attribute should point to a font set up with fixed-width
characters (i.e. styles 6 or 7), its CHEI set to an appropriate value, and its leader line
and text frame suppressed.
When the Tag Rule is updated all the GLABs generated will be in the same position. A
macro should be written that will scan round the Layer looking for GLABs with their
SORF attribute referencing the Tag Rule. Each such GLAB found should be moved up or
down (depending upon whether the template GLAB was positioned at the bottom or top
of the schedule). The size of the move should be calculated from the character height of
the GLAB and its number in the scan.
The macro should also create a TABL element to provide the frame of the schedule and
its horizontal lines, a TEXP element to define the field headings, and vertical STRA
elements to separate the fields. To achieve this it will be found necessary to use the Q
EXTENT BTEX feature (see Section 9.5.1) to determine the lengths and positions of text
strings.
A facility is provided to ‘tidy up’ crowded labelling, so as to minimise Label overlap and
leader-line crossing. As well as changing label positions the facility may also change
Label orientations, text justifications and alignments, and the definition of leader-line
shapes and bend-points. The facility uses two versions of the SPREAD command, which
may be used to position Labels locally or remotely.
With local positioning, Labels will be positioned around their significant design
elements in such a way as to minimise Label overlap and leader-line crossing. Labels
will not be moved from their initial positions unless it is necessary. If they are moved
then, as far as possible, leader lines will be straight and at ± 45° to the VIEW axis.
An example of 'local spreading' is shown in Figure 4-16 (a) and (b).
Note: All options must be specified on the same command line; the previous SPREAD
parameter settings will not be remembered.
Summary of Commands
AT @ - offset the Label from the default using the cursor - sets XYPS,
OSET
AT @ ABS - absolute position for the Label using the cursor - sets XYPS,
OSET
ANG value - turn the Label through an anticlockwise angle - sets ADEG
Autoblanking . . .
AUTOBLANKING ON/OFF - switches autoblanking ON or OFF for a DRAFT
session
BLNK TRUE/FALSE - sets autoblanking for the current element, which can be
LDIM, ADIM, RDIM, PDIM, GLAB, SLAB, VNOT, or NOTE.
BMAR value - specifies the blanking margin, where <value> is a real value
which is greater than or equal to 0.0.
CHEI TEM - (Special Labels only) - set text height to that of Template
(TXTM) element
CSPA value - specify character spacing factor
LEAD BENT @ - bend a leader line at a position set by cursor (@ @ for two
bend points)
LEAD BENT AT @ OFFSET Y50
- bend leader line at an offset from a position set by the cursor
LEAD BENT PT 2 X722 Y40 - specify 2nd of two bend points explicitly
LEAD BENT PT 1 OFF X15 - specify 1st of two bend points as offsets from Label
attachment point
APOF value value - offsets attachment point from DDNM (Sheet units)
}
LEAD CONN OFFS
X value Y value allows a relative position to be specified
CPOF value value
}
LEAD CONN STAN
resets CPOF to its default value
4-36 VANTAGE PDMS DRAFT User Guide
Part 2: Drawing Annotation
Version 11.5
Labelling
CPOF STAN
}
LEAD CONN ORIG
sets CPOF to 0,0
CPOF ORIG
APOF value value - offsets attachment point from DDNM (Sheet units)
Setting gaps . . .
GAP @ - specify a gap in a leader line by giving start & finish points
GAP AT @ - specify a default length gap of 2mm in a leader line by a
single point
GAP AT @ L value - specify a gap of a specified length by giving a single point
Querying . . .
Q LAB option
query specified label attributes
options: LEA - leader line
POS - position, rotation and p-line attributes
(latter only relevant if Structural
element is being labelled)
ORIG - origin
ATTA - point annotated
TEX - text
STY - text style
Q DESC option - (at GLAB) - gives Label attachment point, Sheet
position, offset and angle of turn.
Autotagging . . .
TAG selection_option - sets up elements specified by selection_option to be
tagged. Selection rule syntax same as USE . . . FOR
command
5.1 Introduction
Intelligent text allows data to be automatically extracted from the Design, Catalogue or
Drawing databases and entered on a Drawing. Intelligent text uses code words, which
all begin with a # character. For example:
’Standby pump #NAME’
The advantages of intelligent text are:
• If the data in any of the three databases changes then when the Drawing is updated
the correct new values will be automatically obtained and entered upon the
Drawing.
• You do not have to navigate through the relevant database, retrieve the data, return
to the DRAFT database and enter the data manually.
• The same text string with its embedded code words can be used many times to
generate text strings that are similar in format but different in detail.
The text strings where you can use intelligent text are:
DMTX - dimension line text (of Dimension Points and Directions,
PLTX - projection line text (i.e. ADIR, APPT, DPOI, DPPT, DPBA)
BTEX - general text string of General Labels (GLAB) and Templates
(TXTM). (See also 2D Drafting TEXP element, Section 9.5.)
• Code words that access data associated with the Drawing database element which
owns the text string. See Section 5.4.
All Design and Catalogue database attributes are accessible. For example, attribute
ABCD would be accessed by code #ABCD (or #abcd). In addition, any Design element
can be accessed. For example:
#SITE - Name of site owning the referenced element
#BRAN - Name of Branch owning the referenced element
without this delimiter. Spaces are not permitted between the codeword and sub-
codeword.
The following sub-codewords may follow the p-line codeword #PK or #PKname:
^DIR - p-line direction
^POSS - p-line start position
^POSSE - Easting of p-line start position
^POSSN - Northing of p-line start position
^POSSU - Upping of p-line start position
^POSE - p-line end position
^POSEE - Easting of p-line end position
^POSEN - Northing of p-line end position
^POSEU - Upping of p-line end position
^PKDI - position of point along p-line defined by PKDI attribute
^PKDIE - Easting of point along p-line defined by PKDI attribute
^PKDIN - Northing of point along p-line defined by PKDI attribute
^PKDIU - Upping of point along p-line defined by PKDI attribute
For example
#PKNA^POSS
- gives the start position of the NA p-line
#PK^DIR
- gives the direction of the p-line given by the PKEY attribute
The #PK^PKDI keyword will extract the position along a p-line at which a Label is
attached. This will generate the position defined by the PKDI attribute of the label.
Thus if PKDI = 0 the Label will be positioned at the start of the p-line (defined by the
PKEY attribute) and the start position will be generated. If PKDI = 0.5 it will be at the
p-line’s mid-point and its mid-point position generated.
Besides GLABs and SLABs, the VNOT, ADIM, DPPT, RPPT and PPPT elements also
possess the PKDI attribute.
NOTE: In DRAFT p-lines are always cut back by SCTN end-preparations and member-
lines are always extended to the ‘working point’. The positions generated by
these codewords reflect this functionality.
The transform qualifier (see Section 5.11) may be used with any of these sub-codewords,
but not for p-line name. For example
#PKTOS^POSEU<WRT /DATUM>
Gives the upping with respect to /DATUM of the end position of the
TOS p-line
#PKTOS^POSEU+<WRT /DATUM>
As above, but gives upping in ‘+/-’ format
#DERPOS[a]
Derived position of a Joint, Fitting or Secondary Node, where a = N for
Northing, E for Easting, U for Upping (optional)
All DRAFT (PADD) attributes are accessible. For example, attribute ABCD of the
current annotation element would be accessed by code #ABCD. In addition the name of
any DRAFT element can be accessed. For example:
#VIEW - The name of the View owning the annotation element
#DRWG - The name of the Drawing owning the annotation element
Attributes of other DRAFT elements can be accessed using the FROM qualifier. For
example:
#AUTH<FROM DRWG>
Generates the Author of the Drawing owning the annotation elements.
See Section 5.12 for full details of the FROM qualifier.
The following special codewords are also available:
#DTITL - Drawing title, equivalent to #TITL<FR DRWG>
#STITL - Sheet title, equivalent to #TITL<FR SHEE>
#VTITL - VIEW title, equivalent to #TITL<FR VIEW>
Special functionality is provided for the following codewords that extract revision data:
#APPR - Approver
#APDT - Approval date
#RVSN - Revision
#RVDT - Revision date
#RVAU - Revision author
These codewords extract their data from the first REVI element in the Sheet’s list. If the
qualifier <FR DRWG> is appended then data will be extracted from the first REVI
element in the Drawing’s list. To extract data from a specific REVI element a qualifier
should be used. The REVI element can be specified by name, for example:
#RVAU<FR/REV3>
or the pseudo-reference array attributes SREVAY and DREVAY can be used. For
example:
#RVDT<FR SREVAY[2]>
Generates the revision date from the sheet's second revision
#APPR<FR DREVAY[3]>
Generates the approver from the drawing's third revision
For details of the SREVAY and DREVAY attributes see Section Section 9.3, Part 1,
Basic Drawing Creation & Output.
For details of the FROM qualifier see Section 5.12.
Code words that are allowed values for the Dimension Line Text (DMTX) and Projection
Line Text (PLTX) of Angular and Linear Dimensions (ADIM and LDIM) and Dimension
Points/Directions (ADIR, APPT, DPOI, DPPT, DPBA) and have special meanings:
#DIM - Calculated dimension value (DMTX or PLTX)
#DEF - Use default text string supplied by owning ADIM or LDIM
(Must appear alone in a text attribute, e.g BTEX ’#DEF’ is
valid, ’name #DEF’ is not.)
#DIR - Projection line direction (of ADIR)
The following codewords are valid in the PLTX of LDIMs and their members, and cause
the 3D Dimension Point position to be generated in World coordinates.
#DIMPOS
3D position
#DIMPOSE, #DIMPOSN, #DIMPOSU
Easting, Northing, Upping, respectively
#DIMPOSDD
Coordinate in the Dimension Direction of the 3D Dimension Point
position
For example, if the Dimension Direction is North, the Northing of the Dimension
Position will be output- ie exactly the same result as #DIMPOSN. If the Dimension
Direction is not orthogonal, the full 3D position will be output (ie as would be generated
by #DIMPOS) together with error message
64,399: /ldim-name: Dimension direction not orthogonal, so unable to
calculate single coordinate for codeword #DIMPOSDD
These codewords may be used in conjunction with the WRT qualifier (see Section 5.11)
to generate relative positions.
At a DPOI which has POS and optionally DDNM attributes set, #POS will always obtain
data from the element referenced by DDNM. #POS will only obtain data from the POS
attribute setting if DDNM = 0/0. Hence you should always use #DIMPOS to generate the
coordinates of DPOI elements.
Those that extract (UDA) data from the database. The codewords which access User-
defined attribute (UDA) data have the format
#:uda_name
For example:
#:UDA1
All relevant qualifiers (see Sections 5.9 - 5.12) which apply to ordinary codewords may
also be applied to UDAs. The output of data follows a format similar to that used by
existing UDA queries. Real UDA may have distance or bore units and will be reported
as such. Other uses of UDA reporting are described in Section 5.11.
DEPT and LIBY elements have a DATEFOrmat attribute. It controls the format of the
values of DATE (of DRWGs) and RVDT (of REVIs) attributes which are automatically
generated. DATEFOrmat may be set to:
DDMMYYYY which gives a format equivalent to #ADATE
DDMMYY which gives a format equivalent to #ADATEX
MMDDYYYY which gives a format equivalent to #BDATE
MMDDYY which gives a format equivalent to #BDATEX
DDMONYYYY which gives a format equivalent to #CDATE
DDMONYY which gives a format equivalent to #CDATEX
If the number specified is already exceeded by the length of the output character string
then a single space will be inserted. For example
’#NAME#5#CATR#10#CREF’
would expand to
/PUMP1/NSv/NFJJv/PIPE1-1
Tabbing will take account of linefeeds within the text string, whether specified explicitly
or by the new line generator code ’#/’. Hence
’#5#NAME#/#8#CATR#/#8#CREF’
would expand to
vvvv/PUMP1/NS
vvvvvvv/NFJJ
vvvvvvv/PIPE1-1
The use of this feature in combination with a fixed-width font (e.g. style 6 or 7) allows
you to arrange text neatly in a tabular form. Used in combination with Autotagging and
the PDMS Programmable Macro Language (PML), it is possible to generate schedules
on drawings easily. See Section 4.4.10.
5.8.4 # Character
The codeword ##outputs a single # character.
5.8.5 Underlining
#< start underline
#> finish underline
When a GLAB text string has been underlined, GBOX should be set to zero in order for
the leaderline to meet the underline.
5.9 Substrings
There are two methods of specifying that a substring of the data associated with a code
word is required for output.
It is possible to append a number of substring definitions (both character type and part
type) to a code word. These are processed sequentially, left to right. Any number of
substring definitions is allowed. For example:
#PIPE(P2:)(C2:) expands to ‘PIPE-6’
There is a special form of the substring descriptor,
()
which is shorthand for (C1:)
This form can be used for putting codewords back to back in a text string where the
other codeword delimiters are not suitable, for example, when a space is not required
between codeword data. For example:
#POS #NAME would, when expanded, have a space between the two data
items:
#POS()#NAME would not.
5.13.1 General
The format of distance, position and bore data generated by codewords is controlled by
the UCOD attribute of the Layer element.
All intelligent text codewords generate the same format for ‘FINCH’ and ‘FINCH US’
units (as set in the UCOD attribute of the Layer):
UCOD FINCH DIST
- set distance units to ‘PDMS style’ feet and inches, e.g. 5’5.13/16
UCOD FINCH US DIST
- set distance units to ‘USA style’ feet and inches, e.g 5’-5 13/16”
UCOD INCH BORE
- set bores in inches
UCOD CM DIST
- set distances in centimetres
UCOD CM BORE
- set bores in centimetres
FINCH (PDMS): 25’3.1/2
FINCH US: 25’-3 1/2”
The INCH option may be qualified to allow different formats for distance, position, and
bore values generated by intelligent text codewords. These are:
INCH USA - output of the form: 1/2” or 1 1/2” or 24”
INCH PDMS - output of the form: 0.1/2 or 1.1/2 or 24
INCH DECIMAL - output of the form: 0.5 or 1.5 or 24.0
If the qualifier is omitted then DECIMAL is assumed.
A nominal/actual qualifier is available for bores. For example
UCOD FINCH PDMS BORES ACT
UCOD FI US BO NOM
The setting is NOMINAL by default. The UCOD setting controls the bore sizes output to
a drawing by DRAFT’s intelligent text system. The two qualifiers have exactly the same
effect as the general PDMS PRECI BORE NOM (or PRECI BORE ACT) commands.
UCOD settings can be queried by using the pseudo-attributes:
Q UCODD and Q UCODB
which will cause all distances and bores which follow to be output in ‘alternate’ units, as
defined below.
Layer Units Alternate Units
UCOD INCH DECI MM
UCOD INCH PDMS MM
UCOD INCH US MM
UCOD FINCH PDMS MM
UCOD FINCH US MM
UCOD MM INCH DECI
UCOD CM INCH DECI
UCOD METRE INCH DECI
The ‘switch units’ code is %U so, for example, to generate a dimension in both Imperial
and metric units, with the second value in brackets, the intelligent text string:
’#DIM() %U(#DIM())’
should be used. The units may be switched back to the standard units by a subsequent
use of a %U code.
Data output in metre or centimetre format will be to the precision specified by the
PCODE MM option. Thus if this is to 1 dp then the output will be to 4 dps for metre
output and 2 dp for centimetre output.
Four pseudo-attributes exist to allow the querying of the individual parts of the PCODE
attribute:
Q PCODMms - query metric (mm) precision
Q PCODInches - query Imperial (inch) precision
Q PCODFractions - query fraction precision
Q PCODAngles - query angle precision
When it is not possible to extract data from an attribute, the intelligent text system
returns an error and (by default) substitutes the text ‘---’ for the missing data. The
NTEXT attribute allows you to substitute your own ‘null text’. For example
NTEXT ’No data’
NTEXT may consist of up to 12 characters. It is an attribute of DEPT, REGI, DRWG.
LIBY, SHLB, OVER and LAYE elements, and its setting will be cascaded down the
hierarchy.
substring editing by
parts
substring editing by
characters
data qualifier
array index
sub-codeword (after #PK only)
5.16 Notes
In the code word descriptions given in this section, the words ‘owner’ or ‘owning’
(enclosed in quotes) refer to the element of the type described equal to or above the
referenced element in the database hierarchy - not necessarily the true owner. Where
the word owner appears (unenclosed by quotes) then this means the true owner.
General points:
• All text strings have a maximum length of 120 characters in unexpanded form, 180
characters in their expanded form.
• Lower case and upper case (but not mixed case) forms of all code words are valid.
• When a piece of text generated from a # code word itself contains a # code (or a ~
code or % code, see Section 6) then this code is not expanded unless the original
piece of text comes from either a DRAFT or DESIGN database text attribute or a
text user-defined attribute (UDA) from any database.
Summary of Commands
#APPR - approver
#RVSN - revision
Special characters...
#Tname - template codeword
#/ - new line
## - single #
Sub-Strings...
(Cn1:n2) Substring by characters
(P/n1:n2) Substring by parts
() remove gap between subsequent hash codes
Array Indexing...
#codeword[n] or #codeword[n,m]
where n and m are integers and m is greater than n. The first format generates a single
array element, the second generates a range of array elements.
Attribute Navigation...
<FROM parameter>
<FROM parameter parameter parameter>
The format for each parameter is the same as that for the transform qualifier (WRT), i.e.
element name, element type or reference attribute.
Querying...
Q EXBTEX - Query expanded form of BTEX attribute
Updating...
UPDATE option ANNO - update attributes holding hash codes options:
DRAW, SHEE, VIEW, LAYE
UCODE FINCH DIST - set distance units in feet & inches, PDMS style
Within DRAFT, text is used by Dimensions (dimension line and projection line text),
Labels, and as part of the 2D-drafting facilities (TEXP elements). The text is set using
the BTEX, DMTX or PLTX attribute of those elements, as appropriate. (See Section
4.3.2 for other uses of BTEX, also the ATEX, DMTX, PLTX and ETEX text attributes.)
There is a choice of fonts, a set of non-alphabetic characters is available and the text
may be edited. The text ‘quality’ is selectable to allow for rapid drawing. These facilities
are described below.
DRAFT makes use of the four font families, which can include user-defined fonts, that
can be set up in ADMIN. (See the VANTAGE PDMS ADMIN Command Reference
Manual for details.) Details of these font families can be obtained by the command:
Q FONTS
There are three text font attributes - FONT, DFON, and PFON. These are used to define
the appearance of the various text strings that can appear on Drawings. These font
attributes can be set to 1, 2, 3, or 4 in which case the normal version of the relevant font
family will be obtained. Variations on these normal versions can be obtained by setting
the font attributes to a value obtained from the table below.
Normal Bold
Upward Forward Reverse Upward Forward Reverse
1 11 12 13 14 15 16
2 21 22 23 24 25 26
3 31 32 33 34 35 36
4 41 42 43 44 45 46
For example, font 35 is variation 5 of font family 3. Variation 5 is always bold and
forward-sloping. From the table it will be seen that fonts 11, 21, 31, and 41 are
equivalent to 1, 2, 3, and 4. (For completeness the font attributes can also be set to 10,
20, 30, and 40 which are also equivalent to 1, 2, 3, and 4). Bold fonts are not provided for
all font families. In such cases the selection of a bold option will result in the use of the
appropriate normal font.
It is possible to switch from one font to another within a single text string, subject to a
maximum of four fonts per string. This will allow sub-strings, individual words, or even
parts of words to be emphasised. Note that the extension character set, which provides
the special symbols, counts as a font.
The string will start to be output using the principal font; this is the one specified by the
relevant FONT, DFON, or PFON attribute. Font switching is controlled by a set of
special characters embedded in the string. This set will be composed of an escape
character (%) followed by either two numeric digits or one alpha character. These sets
are best demonstrated by examples:
%24 - switch to font 24 (ie variation 4 of font family 2)
%46 - switch to font 46
%02 - switch to variation 2 of the current font family
%30 - switch to font family 3 maintaining the current variation
%37 - invalid, variation 7 is not defined (only variations 1 - 6)
%51 - invalid, font family 5 is not defined (only families 1 - 4)
%2 - invalid, two numeric digits are required
%P - switch to principal font (ie that defined by the font attribute)
%T - switch back to previous font (i.e. toggle)
%C - invalid, only %P, %p, %T, and %t are currently allowed
Font switching can be prevented and the escape character output by doubling it (i.e.
%%). Invalid codes (e.g. %51) will be output literally. The font switching character
sequence does not have to be preceded or followed by blank characters. For example
‘ABC%04DEF%pGHI’ will be output as the 9-character string ‘ABCDEFGHI’ with the
two sub-strings ‘ABC’ and ‘GHI’ in the principal font, and the middle three characters
(i.e. ‘DEF’) in variation 4 (i.e. upright bold) of the principal font.
E Z Superscript `3'
H Steelwork H-Section 2
I Steelwork I-Section 3
J Steelwork T-Section 4
K Steelwork Double Angle 5
L Steelwork L-Section 6
M Mu 7
N Yen sign *
Q Copyright symbol /
Editing a text attribute is achieved through use of the EDTEXT command, which gives a
simple case-sensitive, string exchange facility operating on the attribute in question (see
below).
The EDTEXT command takes the general forms:
EDT text_type number string_1 string_2
text_type is the text attribute in question, which can be any DRAFT text attribute,
including the name attributes OSFN and BSFN. If text_type is not
specified, BTEX is assumed.
number is the order of occurrence of string_1 within the target string. If this is
omitted then the first occurrence, is assumed, if a value of 0 is specified
then all occurrences of string_1 are processed (i.e. replaced by string_2).
Several editing instructions may be given in the same command line. The command
EDT text_type APP string
will append the given string to the specified text attribute.
The different syntax options of the EDTEXT command are illustrated by the examples
given below.
Target string: ‘The dog, the cat and the rabbit were in the garden’
EDT ’the’ ’that’ (change first occurrence of ‘the’ to ‘that’)
gives: ’The dog, that cat and the rabbit were in the garden’
EDT ’the rabbit’ ’Dolores’
gives: ’The dog, the cat and Dolores were in the garden’
EDT 2 ’the’ ’that’ (change second occurrence of ‘the’ to ‘that’)
gives: ’The dog, the cat and that rabbit were in the garden’
EDT 0 ’the’ ’that’ (change all occurrences of ‘the’ to ‘that’)
gives: ’The dog, that cat and that rabbit were in that garden’
EDT ’dog’ ’horse’ ’at’ ’ow’ 3 ’the’ my’
gives: ’The horse, the cow and the rabbit were in my garden’
EDT ’fox’ ’fish’ - no change, ‘fox’ is not found
EDT PLTX 3 ’we’ ’a’ - attribute PLTX would be altered, if found
EDT OSFN ’A3’ ’A4’ - OSFN would be altered, if found
EDT DATE ’1990’ ’1991’ - DATE would be altered, if found
Note that when editing intelligent text the intelligent text code itself must be specified,
not the ‘resultant’ text.
Two standards of text ‘quality’ are available. EXACT quality is standard, BASIC quality
gives a ‘font’, whose exact appearance and size depends on the device type in use.
BASIC text would be used when drawing time is considered to be more important than
quality of textual output. When BASIC text is used, the space occupied by the
equivalent EXACT text is bordered by a rectangle. Plotted text is always drawn in
EXACT mode so there is no need to ‘convert’ from BASIC prior to plotting a Sheet.
Text quality is set by the TQUALITY command, which has the alternative forms:
TQUA EXACT or TQUA BASIC
The current text quality setting can be queried by:
Q TQUA
DRAFT measures character height from the character base line to the top of the
character body. See Figure 6-2.
Top of body
Capitals line
ÁËôý
Character
Letter Height
Height
Base line
Bottom of body
Structural elements, like other Design elements, may be labelled, dimensioned and used
in 2D drafting. This means that positions and directions in the Design World must
be obtained for these elements.
Annotation elements which (may) require a 3D position include labels (GLAB, SLAB);
View Notes (VNOT), drafting primitives whose drafting point references (PTRF or
PTFA) use a PPPT (drafting point with design data); Angular Dimension elements
(ADIM) and two types of dimension points: DPPT and DPBA. Dimension points of type
DPBA do not require p-line data since they are concerned with the limits of a Design
element.
Annotation elements which require a 3D direction include Linear dimension elements
(LDIM) and Dimension Points of type APPT. In addition, where the direction of a p-line
is used for position on a Label or View Note, it may also be used to define the angle of
the Label or View Note to the horizontal in the view region.
Fittings, Nodes and Joints with p-points are treated in the same way as other elements.
There is no change in the functionality for annotating these.
Wherever a Design element or p-point may be used for position, a p-line may also be
used. However, a p-line is a line in a given direction between two points, and does not
define a single position.
In order to use p-line for position, it is necessary to specify a distance along that p-line.
This may be done using syntax based on that in DESIGN, as follows:
PPLINe word OF element_identifier STart
PPLINe word OF element_identifier ENd
The start and end of a p-line are the points at which the p-line crosses the two end-
cutting planes of a Section. These are proportional distances 0.0 and 1.0 respectively.
The start and end of the neutral axis are coincident with the points defined by the POSS
and POSE attributes of the Section.
PPLINe word OF element_identifier units_value
This syntax defines an absolute distance from the start of the p-line.
This syntax defines a proportional distance along the p-line from its start.
PPLINe word OF element_identifier
When no p-line position is stated explicitly the default value for proportional distance is
used. This default may be altered by using the PKDI SETD command (see Section 7.5.3).
The initial value is 0.5, meaning the mid-point of the p-line.
Wherever a Design element or p-point is used for a direction, a p-line may also be used.
The p-line itself may be used for direction, or an axis of the p-line may be used.
The syntax for p-line direction is based on that in DESIGN, as follows:
PPLINe word OF element_identifier
This defines the direction along the p-line in the Design. This syntax must be used if
you wish to store the p-line in the annotation element.
PPLINe word OF element_identifier NEGative
This syntax specifies the negative or reverse direction along the p-line in the Design.
This is equivalent to specifying the p-line -Y direction.
A direction parallel to an axis of the p-line itself may also be selected:
PPLINe word [OF element_identifier] [+] plxyz
The axis of the p-line along the length of the Section is its Y direction. The Z or Leave
direction and the X direction both lie in the plane of the perpendicular cross-section of
the Section. The reverse of these directions may be obtained by the use of the minus
sign.
Syntax for p-line direction qualified by <plxyz> cannot be used to set p-line attributes in
the annotation. DIRECTION syntax of this form will be used to set the DIR attribute
rather than p-line attributes. The following commands are examples of this:
NEW LDIM DIRection PPLINe word OF element_identifier LEAVE [DIRection]
NEW ADIM ON ...
FROM DIRection PPLINe word OF element_identifier -Z [DIRection]
TO DIRection PPLINe word OF element_identifier NEGative
However, the following command would actually store p-line data in the annotation
element:
TO DIRection PPLINe word OF element_identifier
In this case the p-line direction has not been qualified by specifying an axis. Therefore
the axis along the length of the Section is what is required and will be stored directly in
the database as such.
The p-line direction as defined above may be used to set an angle. This is true of any
element with an ADEG attribute, such as a drafting primitive.
However, for Labels (GLAB, SLAB) and View Notes (VNOT), there is an additional
possibility. If the p-line is used for position, then the same p-line may also be used
instead of the ADEG attribute to store angle.
The syntax for p-line angle is as follows. This is normally used to set the ADEG
attribute:
ANGle PPLINe word OF element_identifier [+] plxyz
ANGle PPLINe word OF element_identifier - plxyz
ADEGrees PPLINe word OF element_identifier [+] plxyz
If p-line is required for angle on a Label or View Note, there is a simple way of setting it.
This is done using the following syntax:
ANGle PKEY or
ADEGrees PKEY
This command first checks that a p-line is in use for position, and uses it to define the
angle of the Label or View Note.
The ANGle PPLINe syntax may also be used to store p-line for angle in the database.
However this will only be done if both of the following criteria are satisfied:
• The p-line identified must be that used for p-line position
• The p-line direction syntax must not be qualified by a p-line axis
The syntax for position, direction and angle described above is stored in the database
using the following attributes:
• DDNM for the Design element name
• PKEY for p-line name
• PKDI for proportional distance along a p-line
• under special circumstances, PPDI will be used to specify p-line for angle.
These attributes and associated syntax are described further below.
PKDIstance @
The point input is converted to a proportional distance.
PKDIstance DEFault
This command resets the PKDI attribute to the default value. The default value may be
altered using the syntax:
SETDefault PKDIstance value
The current value of the PKDI default setting may be queried:
Query SETDefault PKDIstance
Warning: The functionality described in this section will be removed at a future release
of PDMS.
The DRGP (Drawing Priority) SCTN attribute is used by DRAFT to determine how to
draw SCTN ends in hidden-lines-removed views. DRGP may be set (in the Design
Database) to any integer value between 0 (highest priority) and 50.
The effect is demonstrated in the diagrams below, which show plan views of four SCTNs
meeting at a node point. The top flanges of the SCTNs are coplanar and none of the
SCTN ends have been cut back. In Figure 7-1(a) the DRGP attributes of all four SCTNs
have been left at 0; as a result DRAFT is unable to determine how to draw the
intersection lines between the SCTNs and so draws the full outlines of all SCTNs. In
Figure 7-1(b) the DRGP attributes of the four SCTNs have been set as indicated, which
confers a priority order on them. As a result, DRAFT is able to determine the
representation that is intended.
DRGP=2 DRGP=0
DRGP=1
DRGP=0
(a) (b)
8.1 Introduction
DRAFT gives you the ability to use underlays and overlays on a Sheet. These may take
the form of plotfiles held in the system database, or may be DRAFT database elements.
They can be used as backing sheets for a title block and border, or as overlay sheets for
placing such items as keyplans or standard notation.
A backing sheet has its origin coincident with, and must be the same size as, the Sheet
being underlayed. An overlay sheet can be placed anywhere on the Sheet, and can be of
any size. Any number of Overlay Sheets may be used on the one SHEE, but it is only
possible to have one backing sheet on a SHEE.
Alternatively, file specification and positioning may be combined into a single OSHEE
command, for example:
OSHEE FILE /OS1 ANGLE 90 @
Define, position and orientate overlay sheet
OSHEE ANGLE 60 @
Reposition and reorientate currently defined overlay sheet
OSHEE @
Position Overlay absolutely
OSHEE BY @
Position relative to old position
These commands may also be used to position Overlay Sheet templates.
Note that you can query the size of a plotfile using the command:
Query PLOTFile name SIZE
The response will be the size rectangle of the plot.
DRWG
LIBY
BSRF
SHLB SHEE
BSRF
OLAY
BACK OVER
OSRF
NOTE
VIEW NOTE
OVER elements may also own NOTEs as well as VIEW elements, and would probably be
used to overlay graphic details such as keyplans on drawing sheets. An OVER shares
many of the attributes of a SHEE. Note that Point Construction (see Section 11) can be
used to create BACK and SHEE elements.
Most Overlay Sheet attributes are held by the Overlay (OLAY) element.
BACKs and OVERs are referred to by the relevant drawing Sheet’s BSRF and the
relevant Overlay’s OSRF attributes (respectively). (BSRF may also be set at Drawing
level.) The BACK/OVER to be used may be specified by using commands such as:
BSHEE /BS1 Underlay specified backing sheet element
OSHEE /OS1 Overlay specified overlay sheet element
The Overlay’s OSLV (‘overlay sheet view layers visible’) attribute defines those Layers
of the overlay sheet (i.e. the LAYE element(s) owned by the VIEW(s) owned by the
OVER referenced by the drawing Sheet) which are to be visible.
The Overlay’s XYSCALE attribute allows independent scaling in the X and Y directions
of the instanced overlay sheet or plotfile. For example:
XYSCALE 2 1
Either or both values may be negative, but zero is not allowed.
Note that when an Overlay Sheet is instanced (i.e. attribute OSRF is set), text is only
affected by the scale in the Y direction. It is not possible to generate backwards or
distorted text. However, when a plotfile is used (i.e. attribute OSFN is set), then there is
no such safeguard and text could be distorted if differing X and Y scales are specified.
See also Section 4.3.5.
Control of complex overlays may be achieved by using multiple OLAY elements.
The Layers which are to be visible may be referred to either by Layer purpose (i.e. the
PURP attribute) or by their member list position under the VIEW(s) owned by the
OVER. Up to 12 Layers may be made visible at once. The Layers which are to be visible
are specified by a further option of the OSHEET command. For example:
OSHEE LAYERS 1 LABS
Make all Layers at list position 1 and all Layers with PURP ‘LABS’
visible
OSHEE ALL
Make all Layers visible (default)
OSHEE ALL OFF
Make all Layers invisible
The Design graphics may be made visible by including Layer DESI. If the overlay sheet
has more than one VIEW then the Layer visibility statement will apply across all
VIEWs. (It is not possible to specify, for example, a Layer with PURP DIMS to be visible
for /VIEW1 but not for /VIEW2, assuming both VIEWs own such Layers.) The setting of
a Layer’s LVIS attribute has no bearing on the visibility questions discussed in this
section.
The above functionality is only available when an overlay sheet template reference is
used. No distinction between Layers can be made when using overlay sheet graphics
from a file.
Summary of Commands
Underlays...
BSHEE FILE /plotfile name
- underlay a specified plotfile on the current SHEE.
Must be at SHEE level or below. Sets SHEE BSFN attribute
UPDATE BSHEETS - (valid at SHEET and above) Updates Backing Sheets. Will
ensure that the latest version of the referenced BACK is used
and will re-evaluate hash codewords.
Overlays...
OSHEE FILE /plotfile name
- overlay a specified plotfile on the current SHEE.
Must be at OLAY level. Sets OLAY’s OSFN attribute.
Differences...
BSHEE - same size as SHEE origin in same position as SHEE
Manipulating overlays...
OPOS @ - set overlay origin using cursor
OPOS xpos ypos - set overlay origin explicitly (relative to the Sheet origin)
OSHEE FILE name ANGLE value @ - define, position and orient overlay sheet
9.1 Introduction
SHEE
SHLB
N O TE VIEW
BACK OVER LA YE
VN O T
VIEW
LAYE
CIRC
TEXP SYMB
ELLI
RECT
TABL
ETRI
DMND
HEXA
MRKP
STRA
ARC
OUTL
A BACK (backing sheet template) element would probably be used as a frame sheet and
would contain frame lines, authorisation boxes etc. These would exist as (member)
NOTE elements (see below).
OVER (overlay sheet template) elements may also own NOTEs as well as VIEW
elements, and would probably be used to overlay graphic details such as keyplans on
drawing sheets. An OVER shares many of the attributes of a SHEE.
Sheet Note (NOTE) elements exist to own the 2D drafting elements themselves (see
section 9.3). This means that NOTEs can be used to ‘group’ drafting elements together -
changes to the NOTE’s position and orientation will affect all of its member drafting
elements. As well as the basic attributes of XYPS (2D Sheet position), ADEG
(orientation) and LVIS (visibility), NOTEs/VNOTs have a set of attributes which are
used to store defaults values that are cascaded down to their members. These are NLPN
(note line pen), FPEN (fill pen), TPEN (text pen), JUST (horizontal justification), ALIG
(vertical alignment), FONT (text font), CHEI (character height) and CSPA and LSPA
(character spacing factors). NLPN and FPEN are cascaded to geometric primitives and
the others to text primitives.
View Note (VNOT) elements are similar to NOTEs, the only difference being that
VNOTs may be positioned using 3D Design World coordinates or on a Design item, p-
point or p-line (or using 2D Sheet coordinates).
Having created a NOTE or VNOT in accordance with the hierarchy shown in Figure 9-1,
drafting elements may be created and manipulated as desired - see Section 9.3.
SYLB LAYE
SYTM SLAB
TMRF
NOTE
LALB
SYMB
SYTM
TMRF
CIRC
TEXP SYMB
ELLI
RECT
TABL
ETRI
DMND
HEXA
MRKP
STRA
ARC
OUTL
Figure 9-2 DRAFT Database Hierarchy - Symbol Template and Related Elements
The 2D drafting elements are primitives, Text Strings (TEXP) and Symbol Instances
(SYMB).
Primitives are basic geometric shapes (rectangle, circle, straight, arc etc).
Text Strings may be up to 120 characters in length, may be multi-line and may
incorporate intelligent text codes. Four fonts are available, and character height,
spacing and alignment may be varied in the same way as for Label text.
Symbol Instances (SYMB) are particular instances of Symbol Templates (SYTM). The
SYTM defines the composition of the symbol, the SYMB defines its size, position, and
orientation.
Symbol instances can be nested - the instanced SYTM may itself own SYMBs which
reference other SYTMs. However, second-level and higher SYTMs must be owned by
SYLBs, not LALBs. Any intelligent text codes in TEXPs owned by such SYTMs will not
be expanded.
These are basic geometric shapes which can be ‘drawn’ on a Sheet or a VIEW Layer. The
primitives exist in the hierarchy as members of NOTEs, VNOTEs or SYTMs.
Primitives which exist as members of VNOTs may have their dimensions and positions
defined in terms of 3D Design values
There are eleven types of geometric primitive element corresponding to the shapes
shown in Figure 9-3.
Note: The ‘°’denotes the shape’s (default) origin and is not part of the shape itself.
reference (or drafting point) will (initially) be the same, enabling a series of ‘connected’
shapes to be quickly and easily created. For example, the command sequence
NEW CIRCLE DIAM 100 AT @
NEW CIRCLE DIAM 150
NEW CIRCLE DIAM 200
would create a series of concentric circles. In a similar way, a series of connected
straight lines could be created. (A line may have two position references, one at either
end; the start position reference of one line would be set equal to the end position
reference of the previous line - see description of STRA primitive below.) A set of
primitives connected in this way may be moved as a ‘group’ by using the DRAG
command - see below.
DRAFT offers you a variety of methods of defining, identifying, sizing, positioning,
orienting, moving and querying drafting primitives. Many methods of carrying out these
operations are common to all (or most) of the drafting primitives. These methods are
described in the next section; methods which apply to particular primitives (and to
Symbols) are described in Section 9.4.5.
default origin code is CENTRE. For straights and arcs the default TCODE is
ENDPOINT.)
Alternatively, primitives may be created using one-line commands such as:
NEW CIRC RAD 50 ORIG CIRCUM ADEG 45 AT X900 Y750
NEW RECT XLEN 40 YLEN 20 ANG 45 ORIG CORNER AT @
NEW TABL XLEN 60 YLEN 60 NROW 10 NCOL 5 RPEN 2 CPEN 3 ORIG TS ADEG 45 AT @
The effects of varying the attributes of the different primitives are illustrated in Figure
9-4 and Figure 9-5.
example of a group of primitives which use the default drafting point - the drafting
point’s position is not specified explicitly, so it is taken as at that of the last-created
primitive.
ORIGIN node_identifier or FPT node_identifier
Examples of the DRAG command (showing examples of node_identifier) are:
DRAG BY @
DRAG BY X120 Y-45
DRAG BY S3500 D500NO TAGNO TAG
DRAG TO @
DRAG TO POS @
DRAG TO IDP @
DRAG TO X120 Y-45
DRAG TO S3500 D500
DRAG TO P1 OF /VESS2/N6
FPT DRAG TO @
(The above DRAG operations have similar interpretations to the AT/ON/BY/POS
commands listed previously.)
4Querying Primitives
The primitives with drafting points in common with the current element may be queried
by giving the command
Q COMMON
This lists the primitives that will be dragged with the current element. The primitives
that may be dragged with any named drafting node of a STRAIGHT or an ARC may be
queried by
Q node_id COMMON
where node-id is the FPT or TPT (etc) of a STRAIGHT or ARC.
The origin and position of a primitive may be queried by
Q ORIG
The offset of a drafting node or primitive origin from the note origin may be set and
queried:
Q node_id OFFSET
Q OFFSET
node_id OFFSET X value Y value
ORIGIN OFFSET X value Y value
where node_id is the node of a straight or arc primitive, i.e. FPT, TPT, MPT, THPT or
CPT. (See list of DRAG commands above for examples of node_id.)
The principal dimensional and positional attributes of a primitive may be listed by
using the
Q DESC
command at the primitive concerned (or at the owning View Note (position and angle)).
If the query were applied to a part of a Design element, the following could be returned:
DES =35/222 LINE X 6.5/16 Y 7.19/32 X 5.3/32 Y 7.19/32 QUAL X 6.1/32 Y
7.19/32
For a Straight these are FPT (‘from’ point), TPT (‘to’ point) or MPT (midpoint); and for
an Arc these are FPT, TPT, CPT (centre point) or THPT (‘through’ point).
The node must be currently used by the Straight or Arc: a Straight has either a single
node, MPT or two nodes, FPT and TPT; an Arc has an FPT, TPT and either a CPT or a
THPT. If an unset node or an illegal node is specified, then an error is output.
4Rotating a Primitive
A primitive of type ARC, CIRC, STRA, ELLI, RECT, HEXA, TABL, DMND, ETRI,
OUTL or MRKP can be rotated using the ROTATE command to specify an angle of
rotation and a point to rotate about. Any position reference may be used to specify the
rotation point. For example:
ROTATE 45 @
Use cursor to specify 2D point to rotate about
ROTATE 45 IDP@
Use cursor to specify Design p-point to rotate about
4Mirroring a Primitive
A primitive of type ARC, CIRC, STRA, ELLI, RECT, HEXA, TABL, DMND, ETRI,
OUTL or MRKP can be mirrored using the MIRROR command to specify a mirror axis.
The current element may be mirrored in an existing linear element or two independent
points may be specified to define the mirror axis. In the latter case, any position
reference may be used to specify the axis points. For example:
MIRROR IN @
Use cursor to specify existing linear element to mirror in
MIRROR ABOUT @ @
Use cursor to specify two points to define mirror axis
4Copying a Primitive
Copying a primitive to another position or series of positions is done by using the
REPEAT command with the primitive you wish to copy as current element. The REPEAT
command has three syntax variations, illustrated by the following examples:
REPEAT 5 BY X20 Y20
Produce five copies of the current primitive, each displaced (X20, Y20)
from the last
REPEAT 5 BY @
Produce five copies of the current primitive, using the cursor to define
displacement
REPEAT 5 @
Produce five copies of the current primitive, but with first copy at
cursor position, displacement of second and subsequent copies equal to
that of first copy from original
REPEAT @
Produce five copies of the current primitive, but just one repetition
Figure 9-6 illustrates the use of the REPEAT command.
25
REPE 10 BY Y -25
4Graphical Feedback
Many cursor commands generate graphical feedback (rubber banding) which makes
the interaction process easy - holding down the left-hand mouse button and moving the
mouse enables the primitive being created to be dragged out to the required
size/orientation. Use of the commands listed below gives the Point Construction Option
Form, from which you can choose to define point(s) not only as simple 2D cursor hits but
also as line end-points, circle centre-points, intersection points etc. The relevant
commands are:
Command Valid Elements
REGN @ VIEW
DEF @ All 2D drafting primitives
ADEF @ ARC
DIAMETER @ CIRC, HEXA
SPAN @ VRTX
RADIUS @ CIRC, HEXA, ARC
ASUB @ ARC
TPT @ STRA, ARC
FPT @ STRA, ARC
MPT @ STRA
CPT @ ARC
THPT @ ARC
The tolerance used may be controlled by the TOLERANCE command, for example:
TOLERANCE 0.5 Set tolerance to .5 mm
TOLERANCE may be reset to its default value by the command
TOL DEF
Control over the TOLERANCE setting is particularly important for the re-input of
DATAL macros. The re-use of drafting points within the TOLERANCE limit can
lead to unsatisfactory performance when a NOTE contains a large number of points.
This may happen, for example, when Symbol definitions or Backing Sheets are
input from macros.
The current TOLERANCE status and value may be queried by
Q TOL
The current tolerance will also be output to file by the RECREATE DISPLAY
macro.
If neither of these methods are appropriate, the current primitive must be explicitly
positioned on the required drafting point. The drafting points used by a specified
primitive may be identified by querying its PTRF attribute (PTFA attribute for a
Straight or Arc) or by using the IDDP @ command.
The current primitive may then be positioned on the required drafting point by
commands such as:
The colour in which elements are enhanced may be changed and reset by:
SETENHAnce COLour integer
SETENHA COL BRIGHTORANGE
SETENHA COL DEFAULT (sets enhance colour back to default of
aquamarine)
Overlay (OLAY) elements can also be enhanced.
Entering MDB mode causes all chosen elements to be unenhanced and the enhanced
element list cleared out. When doing a SAVEWORK or a module change the enhancing
will not be permanently written to the picture file. However after a SAVEWORK
command the enhanced element list will still exist and the elements will remain
enhanced on the screen.
When creating plotfiles, enhancing will be ignored. Enhanced elements may also be
HIGHLIGHTed.
• by defining the positions of the end-points and a ‘through’ point (from which the
values of Radius (RADI) and Angle Subtended (ASUB) can be derived if required).
• by defining the position of the centre point, ‘from’ point and Angle Subtended (from
which the position of the ‘to’ points and the value of RADI can be derived if
required).
• by defining the position of the centre point and two end points.
The method:
NEW ARC
DEF @
results in three points being prompted for (the ‘start’, ‘end’ and ‘through’ points). A line
is drawn through the points and TCOD is set to ENDPOINT. See Positioning
(absolute) overleaf for the second method. If used with an existing ARC any existing
values of RADI and ASUB are altered accordingly.
Defining or redefining an Arc with a centre- and two endpoints is achieved using the
command:
ADEFine <dfnpt> <dfnpt> <dfnpt>
where <dfnpt> defines a position (2D, 3D, p-point etc).
The first two points are the centre - (CPT) and ‘from’ point (FPT) of the Arc. These two
points define the radius. The third point defines the angle subtended by the arc. The
TO-point (TPT) lies in this direction from the Centre (CPT) at the same distance as the
FPT from the CPT. The TCOD attribute is set to CENTRE.
This command may also be used with the cursor:
ADEFine @
A prompt requests three 2D points to be input for CPT, FPT and angle subtended. 3D
points may also be input using the cursor:
ADEFine ID@ ID@ ID@
DEFine IDP@ IDP@ IDP@
Changing Radius and Angle Subtended
RADIUS value [DESIGN]
Sets RADI. For TCOD CENT this moves the ‘from’ and ‘to’ points radially (by the change
in the value of the radius). Centre point position and ASUB are not altered. For TCOD
ENDP this moves the ‘through’ point and changes ASUB; the positions of ‘from’ and ‘to’
points are unchanged.
RADIUS X value Y value
RADIUS E value N value U value
RADIUS IDP @
etc.
For TCOD ENDP this is like THPT @.
ASUBTENDED value [ANTICLOCKWISE]
ASUBTENDED value CLOCKWISE
Sets ASUB. (A positive angle is anticlockwise, a negative one clockwise.)
For TCOD ENDP this repositions the ‘through’ point (mid-way along the Arc) and
changes RADI; ‘from’ and ‘to’ point positions are unaltered. For TCOD CENT this
moves the ‘to’ point of the arc. Centre and ‘from’ points and radius are unchanged.
ASUBTENDED CLOCKWISE
ASUBTENDED ANTICLOCKWISE
Sets the value of ASUB to be negative or positive, respectively.
ASUBTENDED @
For TCOD ENDP this is like THPT @; For TCOD CENT this alters the angle subtended
and hence moves the ‘to’ point of the Arc. The new position of the ‘to’ point lies on the
line joining the centre-point and the cursor position; centre and ‘from’ points and radius
are unaltered.
Positioning (absolute) (of an arc point)
The syntax is similar to that for FPTs of STRAs. Possible points are CPT (centre point),
FPT (‘from’ point), TPT (‘to’ point) and THPT (‘through’ point).
CPT @
etc
This changes the arc to be one with TCOD CENT (if not already so). The Centre is
moved whilst keeping the ‘from’ point and ASUB unaltered. The ‘to’-point and radius are
recalculated.
THPT @
etc
This changes the Arc to be one with TCOD ENDP (if not already so). The position of the
‘through’ point is moved whilst keeping the ‘from’ and ‘to’ points fixed - i.e. both radius
and angle subtended are altered.
FPT @
TPT @
etc
For arcs with TCOD ENDP, the ‘from’ or ‘to’ point of the Arc (as appropriate) is moved
whilst maintaining the positions of the other end point and the ‘through’ point.
For Arcs with TCOD CENTRE, the ‘from’ or ‘to’ point of the Arc (as appropriate) is
moved whilst maintaining the position of the centre and the angle subtended. Thus the
radius may change and the position of the other end point will be moved to preserve the
angle subtended.
Repeated Copying
See Circles.
Querying
Similar to Straights, but referring to RADIUS, ASUBTENDED, CPT, FPT, TPT and
THPT as appropriate. The Q IDN @ command may also be used
Dragging another primitive to which the Arc is connected
During the course of a DRAG operation on another primitive, the points of the Arc may
move. The effect on the Arc is as follows.
• for arcs with TCOD ENDP, Radius and Angle subtended are changed.
• for Arcs with TCOD CENT, if the centre point is dragged, then the positions of the
‘from’ and ‘to’ points are also moved to preserve the Arc’s appearance.
• For Arcs with TCOD CENT, if an end point is dragged, then a rotation about the
other endpoint takes place, i.e. the centre point is moved and the radius changed.
CIRCLE (CIRC)
Attributes
PTRF - Point Reference for origin
NLPN - Note Line pen
FPEN - Fill pen
OCOD - Origin Code (CENTRE, CIRCUMFERENCE)
ADEG - Angle in owner (useful for OCOD = CIRCU)
DIAM - Circle diameter
Basic Creation Method
NEW CIRCLE DEF X value Y value X value Y value
(‘manual’ method of NEW CIRCLE DEF @ command described in
section 14.4.1. This method applies to all primitives described
below, except where otherwise specified.)
Note: If used with an existing Circle the DEF command always sets ADEG=0 and
ORIG=CENTRE
Identification
ID CIRC @
This method applies to all primitives described described below, for
example ID ELLI @ (ellipse), ID RECT @ (rectangle) etc.
Resizing
DIAMETER value [DESIGN]
RADIUS value [DESIGN]
If DESIGN specified and if underneath a VIEW from which a scale
can be obtained, then a scaled circle will be drawn and the
diameter stored in the database as a Design value.
DIAM @
Sets DIAM equal to the distance between the two points, ADEG
equal to the angle to this line from X axis; if ORIG is
CIRCUMFERENCE, origin is positioned at the first hit.
ORIG CENTRE
Sets ORIG as required and changes position of origin to point
specified . The Circle itself does not move.
ORIG CIRCUMFERENCE
Positioning (absolute)
ORIG X value Y value
ORIG CENTRE @
ORIG CIRCUMFERENCE @
ORIG IDP @
ORIG POS @
ORIG ID @
ORIG IDDP @
The last option (ORIG IDDP @) places the primitive on the drafting point used by
another primitive and hence ensures connectivity for the DRAG command.
Moving about the origin
OCOD CIRCUMFERENCE
Moves origin to circumference of Circle. See Figure 9-7.
Figure 9-7 Moving about the Origin - Use of the ORIG Command
Querying
In addition to the standard attribute queries the following are provided:
Q DESC
Queries the origin, position and diameter
Q DIAM
Queries the diameter in Annotation or Design coordinates as
appropriate
Q ORIG
Queries the origin and its position
Q OFFS
Queries the position relative to the NOTE origin
DIAMOND (DMND)
Attributes
PTRF - Point reference for origin
NLPN - Note line pen
FPEN - Fill pen
OCOD - Origin code (CENTRE, TSIDE, BSIDE, LSIDE, RSIDE)
ADEG - Angle in owner
XLEN - X axis length
YLEN - Y axis length
Resizing
As for Ellipses.
All other operations are as for Circles.
ELLIPSE (ELLI)
Attributes
PTRF - Point reference for origin
NLPN - Note line pen
FPEN - Fill Pen
OCOD - Origin code (CENTRE, FOCUS TSIDE, BSIDE, LSIDE, RSIDE)
ADEG - Angle in owner
XLEN - X axis length
YLEN - Y axis length
Resizing
XLEN value [DESIGN] DESIGN option applies to VNOT members only
YLEN value [DESIGN]
ORIG CENTRE
ORIG RSIDE
ORIG LSIDE
ORIG TSIDE
ORIG BSIDE
All other operations are as for Circles.
EQUILATERAL TRIANGLE (ETRI)
Attributes
PTRF - Point reference for origin
NLPN - Note line pen
FPEN - Fill pen
OCOD - Origin code (CENTRE, LSID, APEX, BRIGHT, BLEFT, RSIDE,
BASE)
ADEG - Angle in owner
FRAD - Fillet radius
LENG - Side length
Resizing
LENGTH value [DESIGN]
Sets side length
THROUGH @
THRU @
Prompts:
Input a point on the current sheet
Sets LENG so that the triangle passes through the point specified.
This may not necessarily be a corner - ADEG will not be altered.
Note that the NLPN attribute must be set in conjunction with the SETPEN command.
For example, to display a ‘cross’ marker the command sequence:
SETPEN 2 CROSS
NLPN 2
would be required. Section 8.6.2, Part 1, Basic Drawing Creation & Output for details of
the SETPEN command.
All other operations on Markers are similar to those for Circles (where relevant).
OUTLINE (OUTL) and VERTEX (VRTX)
An Outline consists of a user-defined series of connected straight lines and circular arcs
(collectively known as spans). OUTL elements do not have any geometry or positional
data themselves, because they are of indeterminate complexity. This is provided by a list
of owned Vertex (VRTX) elements. The origin of an OUTL is considered to be at the
position of its first VRTX. As an alternative to straight lines and circular arcs, a smooth
quadratic curve may be drawn through the vertex points of the OUTL (see CURFIT
below).
Attributes
(OUTL)
NLPN - Note line pen
FPEN - Fill pen (used to hatch the area enclosed by the OUTL)
MPEN - Marker pen
CURFIT - Curve fitting control
Setting CURFIT to CUBICFIT will cause a smooth quadratic curve (which approximates a
series of cubic curves) to be drawn through the vertex points of the OUTL. CURFIT
DEFAULT turns off the curve-fit function.
(VRTX)
PTRF - Point reference
BULG - Bulge factor
NLPN
MPEN
- Note line pen
- Marker pen } (Can override settings at OUTL)
RECTANGLE (RECT)
Attributes
PTRF - Point reference for origin
NLPN - Note line pen
FPEN - Fill pen
OCOD - Origin code (CENTRE, LSID, TLEFT, TSIDE, BSIDE, RSIDE,
TRIGHT, BLEFT, BRIGHT)
ADEG - Angle in owner
XLEN - X axis length
YLEN - Y axis length
FRAD - Fillet radius
Resizing
XLEN value [DESIGN] DESIGN option applies to VNOT members
YLEN value [DESIGN] only
SQUARE value [DESIGN] Sets XLEN and YLEN to value specified.
XLEN @ Uses relevant offset from origin of primitive to
YLEN @ define XLEN or YLEN as required.
XLEN X value Y value Manual method
YLEN X value Y value
THROUGH @ Prompts:
THRU @ Input a point on the current Sheet
Sets XLEN and YLEN so that a corner of the
rectangle is positioned at the point specified.
THR X value Y value Manual method
FRADIUS value [DESIGN] Sets FRAD to value specified. If this is too big
for the existing XLEN or YLEN values then a
warning is output and the rectangle is drawn
square-cornered. FRAD will be set as specified
and will be used when XLEN and YLEN are
made large enough.
For example:
ADEF X400 Y400 X500 Y450 Defines a RECT 200 by 100 with its centre
at X400 Y400 and a corner at X500 Y450.
SDEF X400 Y400 X500 Y450 Defines a RECT 100 square with one
corner at X400 Y400 and the other at
X500 Y500.
ASDEF X400 Y400 X500 Y450 Defines a RECT 200 square with its centre
at X400 Y400 and a corner at X500 Y500.
These commands may also be used with the cursor, for example:
ADEFine @
A prompt requests two 2D points to be input.
All other operations are as for Circles.
STRAIGHT (STRA)
Attributes
PTFA - Point references (2)
NLPN - Note line pen
LENG - Length
ADEG - Angle in owner
TCOD - Type code (defines how to interpret attributes). Set either
to ENDPOINT or MIDPOINT.
Basic Creation Methods
A STRA can be defined in two ways:
• By defining the positions of the end-points (from which the values of length and
angle can be derived if required).
• By defining the position of the mid-point and values of LENG and ADEG (from
which the positions of the end-points can be derived if required).
The commands:
NEW STRA
DEF @
results in two points being prompted for; a line is drawn between the two points and
TCOD is set to ENDPOINT. See the section on Positioning (absolute) below for the
second method.
The command:
ODEF @
prompts for two points. The straight will be vertical or horizontal depending on the
relative sizes of the horizontal and vertical offsets between the two points given.
Changing length or slope
LENGTH value [DESIGN] Changing LENG or ADEG for a two-point
STRA will move the ‘to’ point.
ADEG value
LENGTH @ Moves the From point of the STRA,
changing its LENG and ADEG attributes.
Positioning (absolute)
A STRA may have its ‘from’ point, ‘mid’ point or ‘to’ point positioned or moved. Apart
from the initial keyword (FPT, MPT, TPT) specifying which point you are setting the
syntax is similar throughout, as the following examples show:
To position at a 2D (i.e. X,Y) position:
FPT @ prompts: Enter a 2-d position
FPT X 50 Y -250
To position at a 3D (i.e. ENU position):
FPT POS @ prompts: Input a point in a View
FPT E12500 S5000 U0
To position on a p-point:
FPT ID @ prompts: Identify element
FPT IDP @ prompts: Identify design ppoint
FPT /PUMP2/N1
FPT P1 OF /PUMP2/N1
If the MPT command is used, the TCOD will be set to MIDPOINT. This is a single point
STRAIGHT and must have its LENGTH set.
LENGTH value
ADEG value
FPT X value Y value
TPT X value Y value
Q FPT Queries the position of the ‘from’ point if
set. Similarly for TPT, MPT
Q OFFS Queries the offset positions of the points set
(relative to the Note origin)
Q FPT OFFS Queries the offset of the ‘from’ point
relative to the Note origin (similarly for
TPT, MPT)
SKETCH POINTS Sketches all points currently in use for the
STRA
SKETCH FPT Sketches the ‘from’ point (if set) - similarly
for the TPT and MPT
SKETCH ORIG Sketches first node
SKETCH POINTS ALL At NOTE level, displays all the points
currently in use for all member primitives
SYMBOL INSTANCE (SYMB)
Attributes
PTRF - Point reference for origin
TMRF - Template reference
XYSCALE - Scale in X, Y directions
ADEG - Angle in owner
When instancing a symbol (SYMB), the TMRF attribute should reference a symbol
template (SYTM) in the symbol library (SYLB). If this attribute is not set, nothing will
be drawn.
Changing size and orientation
XYSCALE value value Negative values give a ‘mirroring’ effect
SYSIZE value Sets X and Y scales equally
SYSZ @ @
SYSIZE @ @
ALENGTH value Changes the length of a straight by moving
its From Point
ALENGTH @ Changes the length of a straight by moving
the end nearest to the cursor
You are requested to input two points; the first point selects a position on the symbol,
the second point sets a new position for the selected point. The new symbol size is
calculated from the ratio of the distances of those two points from the symbol origin.
ALIG TB JUST L
OPENFILE /filename READ !TOKEN
READFILE $!TOKEN !RECORD
NEW TEXP AT @ BTEX ’$!RECORD’
VAR !EXTENT EXTENT BTEX
The EXTENT query (together with PML array and string-handling commands) may be
used to calculate the position of the next line of text.
Successive READFILE and TEXP commands may be used until the file is exhausted. The
file may then be closed using:
CLOSEFILE $!TOKEN
Note that any ‘$’ characters in the file should be doubled.
The PDMS Programmable Macro Language (PML) is detailed in the VANTAGE Plant
Design Software Customisation Guide.
Summary of Commands
Creating Primitives . . .
NEW CIRCLE DEF @ - use cursor to mark (in this case) circle centre and point on
circumference
OCOD @
OCOD CEN - origin Sheet coordinates remain unchanged; primitive moves
to place itself according to new origin code
ORIG X300 Y250
OCOD TRIGHT @ - origin Sheet coordinates and origin code change; primitive
moves
POS ID @
POS W5500 N12345 D120
- move to new 3D position (VNOT members only)
ON ID @
ON IDP @
ON /PUMP1
ON P1 OF /PUMP2/NS
- move to specified element origin or p-point (VNOT members
only)
BY @
BY X10.5 - move relative to current 2D position
MIRROR ABOUT @ @
- use cursor to specify two points to define mirror axis
DRAG TO IDP @
DRAG TO S3500 D500
DRAG TO P1 OF /VESS2/N6
DRAG BY @
DRAG BY X120 Y-45 - move relative to current 2D position
Querying Primitives . . .
Q ORIG - queries origin and position of a primitive
Copying Primitives . . .
REPEAT 5 BY X20 Y20 - produce five copies of the current primitive, each
displaced (X20, Y20) from the last
Outlines . . .
NEW OUTL - creates a new Outline element
NEW VRTX AT @ - creates a new Vertex; use the cursor to define its position.
SPAN TO CLOSE - vertex point coincident with starting vertex; closes Outline.
SPAN RADIUS value - sets radius of circle of which (arc) span forms a part to given
value.
SPAN ASUB value - sets angle subtended by (arc) span to given value.
SPAN BY X value Y value - moves the two VRTXs of the current span by the
given displacements.
SPAN DRAG BY Y value - moves the two VRTXs and all connected drafting
primitives of the current span by the given
displacement.
CURFIT CUBICFIT - (at OUTL) draws quadratic curve through vertex points
SKETCH POINTS ALL - at NOTE level, sketches all points currently in use
You can create symbols in DRAFT which will be used on the isometrics produced by
ISODRAFT. The symbols are created as ISODRAFT Symbol Templates (ISOTMs),
which are similar to normal symbol templates, except that they can only own STRAs
and MRKPs. They have additional attributes, described in Section 10.1.
ISOTMs are stored in ISODRAFT Symbol Libraries (ISOLBs), which are identical to
SYLBs except that they can only own ISOTMs. The relevant part of the DRAFT
database is shown in Figure 10-1.
ISOLB
ISOTM
MRKP
STRA
ISODRAFT Symbol templates can only own STRAs, which define the geometry of the
symbol, and MRKP elements, which define the start, end, spindle and tee points on the
symbol. These elements should have their PURP attributes set as follows:
• STRAs owned by ISOTMs should have their PURP attributes set to LINE, INSU or
TRAC (to describe whether the straight represents the pipeline, its insulation or its
tracing).
• MRKPs owned by ISOTMs should have their PURP attributes set to one of ARRI,
LEAV, TEE or SPIN.
The Arrive and Leave points of the symbol will be used as the reference points for
dimensioning.
SKEY Symbol key: the SKEY of the new Symbol. If this attribute
is set to the SKEY of an existing symbol, the existing
symbol will be redefined. You can use wildcards to define a
symbol for several similar SKEYs, see Section 10.1.2.
BKEY Base symbol key. If a new SKEY is being defined, the
BKEY must be set to a standard SKEY. Wildcards can be
used, see Section 10.1.2
SCALe value Changes the size of the symbol without redefining the
coordinates of the plotted shape (100 = full size).
SPINdle Spindle symbol key. If this attribute is set, the Symbol
Template will include a spindle symbol. For more
information, see the PDMS ISODRAFT Reference Manual.
Default NONE.
ORIN NONE Specifies a symmetrical fitting which the flow direction is
not relevant
ORIN FLOW Specifies a fitting for which the flow direction is important,
such as check valves
ORIN REDUCER Specifies a reducing fitting
ORIN FLANGE Specifies a fitting which begins with a flange; that is, one
which is preceded by a gasket
FLWArrow TRUE Plots flow arrows on the symbol
FLWArrow FALSE Suppresses flow arrows
DIMEnsion TRUE Plots dimensions alongside the symbol. Default
DIMEnsion FALSE Suppresses the plotting of dimensions
INSL TRUE Insulation shown on symbol if specified. Default
INSL FALSE Insulation representation suppressed
TRCG TRUE Tracing shown on symbol if specified. Default
TRCG FALSE Tracing representation suppressed
FILL TRUE Symbol to be filled
FILL FALSE Symbol not filled. Default
This illustrates the use of the ** characters to cover all end conditions, i.e. BW (butt
weld), CP (compression), SW (socket weld), FL (flanged), SC (screwed) and PL (plain),
when defining a new range of SKEYs. This sequence therefore defines the SKEYs
VBBW, VBCP, VBSW, VBFL, VBSC and VBPL in a single operation.
Note: The wildcard option applies only to the definition of SKEYs. You must specify a
particular end condition when you set the SKEY attribute of a DTEX element in
the Catalogue DB; for example, by setting it to VBBW or VBCP but not to VB**.
10.1.3 Example
The following commands are an example of how to create an ISODRAFT Symbol Library
and an ISODRAFT Symbol Template:
NEW ISOLB
NEW ISOTM
XYPS X200 Y200
SKEY ’SSSS’
SPIN ’NONE’
FLWA TRUE
BKEY ’VV**’
SCAL 100
FILL TRUE
NEW MRKP
PURP TEE
ORIG OFFS X0 Y0
NEW STRA
PURP LINE
TPT OFFS X4.0 Y1.0
NEW STRA
PURP LINE
TPT OFFS X8.0 Y1.0
NEW STRA
PURP LINE
TPT OFFS X8.0 Y-1.0
NEW STRA
PURP LINE
TPT OFFS X4.0 Y-1.0
NEW STRA
PURP LINE
TPT OFFS X0 Y0
NEW MRKP
PURP LEAVE
ORIG OFFS X8.0 Y0
When you have defined the symbols you require in the Symbol Library, you must output
the Symbols to an ISODRAFT Symbol File using the ISOSYMBOL command. You can
open a new (or existing) file by giving the command:
ISOSYMBOL filename
The current symbol (ie ISOTM) can be added to the file by:
ISOSYMBOL ADD
A symbol which has been added but is not required can be removed from the file by
giving the command:
ISOSYMBOL DELETE skey
When all the symbols have been added, the file is closed by giving the command:
ISOSYMBOL CLOSE
This will overwrite an existing file.
You can define a position in terms of other positions rather than defining it explicitly
using the point construction facilities in DRAFT. Point construction is available for
• Positioning of 2D drafting primitives
• Labelling, where a 2D position is required, e.g. positioning of gaps
• Dimensioning, where a 2D (or, if appropriate, a 3D) position is required, e.g.
positioning of a point through which a dimension line should pass
• Positioning of Overlay Sheets
• VIEW position attributes, e.g. THPO, FRPO, ONPO, VREG command
• SYTM and TXTM positioning.
11.1 Introduction
2D_vector specifies an offset position from the owner origin of the primitive concerned,
for example
ORIG OFFS X50 Y50
distance gives a distance and a direction from a point, and may be one of the following in
a NOTE or SYTM:
units_value ANGLE value
HORIZONTAL
VERTICAL
2D_vector
For example:
ORIG X50 Y50 DIST 200MM ANG 30
ORIG X50 Y50 DIST 200 HORI
ORIG X50 Y50 DIST 200 VERT
ORIG X50 Y50 DIST 100 X100 Y100
For a VNOT, distance may be expressed as
units_value DESIGN direction
where direction is a 3D, p-point or p-line direction. The distance specified is a Design
distance in the current View. The above syntax may also be used in most drafting
commands, e.g. FPT, TPT, CPT, DEFINE, DRAG TO, LENGTH, RADIUS etc.
All point constructions are carried out in the context of the current database position. If
the current element is owned by a NOTE or SYTM, a point construction will give a 2D
point. 3D point constructions (for example, positioning the centre of a circle on a Design
element position) are only allowed for drafting below VNOT elements.
In some cases there could be ambiguity about the point to be constructed, for example if
the point were defined using a tangent to a circle, or the intersection of two circles. In
cases such as this the point to be used can be qualified with a cursor hit.
The following sections describe the various types of point construction, with examples.
The symbol @ denotes a cursor hit.
11.2 X, Y Filtering
• An intersection points
• The point on a line or an arc nearest to a given point
• The point defined by the perpendicular from a given point
The constructed point could also be defined explicitly or by a cursor hit. For example:
AT X200 Y OF @
Y coordinate is Y coordinate of cursor hit
AT X OF @ Y OF @
X coordinate from first cursor hit, Y coordinate from second cursor hit
The process of deriving a coordinate from a coordinate of another point is known as X, Y
filtering. X and Y filters may be used in any command which requires a 2D position on
a Sheet, including edits on various Dimension attributes. For example:
PTOF X OF /VALV1 Y @
DTOF X @ Y250
PLCL X @ Y OF POS E3000 S2000 U0
Y coordinate set to the Y coordinate of 2D projection of given 3D position.
3D positions may also be constructed, but this only applies to 2D drafting primitives
which are members of VNOT elements. X, Y filtering can be used with any 2D element
which has a position attribute, e.g. VIEWs, Labels, Dimension Points etc.
Examples
1. NEW STRA
FPT X100 Y100
TPT X OF @ Y OF @
500
100
X
100 500
Here, the ‘to’ point of the line takes its X coordinate from the X coordinate of hit 1 (at
200, 300) and its Y coordinate from the Y coordinate of hit 2 (at 500, 400). The ‘to’ point
is therefore (200, 400).
2. DTOF X @ Y250
With a cursor hit at (400, 900), the above command would move a Dimension text origin
to (400, 250).
3. PLCL X @ Y OF POS E3000 S2000 U0
Here, a projection line clearance X coordinate would be set to the X coordinate of the
cursor hit, the Y coordinate being set to the Y coordinate of the 2D projection of the
given 3D position.
This form of construction derives a position as the midpoint of two other positions, which
may be defined explicitly or by cursor hits.
A quadrant point of an existing circle can be used for point construction. This will be the
extreme TOP, BOTTOM, LEFT or RIGHT of the circle. For example
NEW STRA
FPT @
TPT TOP OF ID @
constructed point
2 1
Quadrant points of an arc or ellipse may also be identified. If an ellipse is rotated, the
nearest extreme of the ellipse will be selected. For example
NEW STRA
FPT @
TPT TOP ELLI /ELLI1
constructed point
2 1
500
(150, 250)
newly defined STRA
100
X
100 500
500
(400, 400)
(150, 250)
newly defined STRA
100
X
100 500
This form of construction derives a position as the centre of a specified circle, arc,
ellipse, rectangle, hexagon, table, diamond or equilateral triangle. A point may also be
constructed using the focus of an ellipse.
Example
1. NEW STRA
FPT X150 Y250
TPT CEN OF @
500
X
100 500
constructed point 2
This form of construction derives the point on a primitive which is nearest to a specified
qualifying point.
Example
1. NEW MRKP
DEF NEAREST PREV STRA QUAL X150 Y250
In the left-hand case shown below, the MRKP element and the position (X150, Y250) lie
on the perpendicular to the STRA. In the right-hand case, the MRKP lies at the
endpoint of the STRA. In both cases, the MRKP element is the nearest point which lies
on the previous STRA in the list order to the given qualifying point.
Y Y
100 100
X X
100 500 100 500
Y
newly defined STRA
(150, 250)
100
X
100 500
11.9 An Intersection
Here, a point is constructed which is at the intersection of two primitives. The primitives
should be chosen from STRA, ARC, or CIRC, although line-parts of more complex
primitives may be identified by cursor. An ellipse (ELLI) is also an allowable primitive,
but it is only possible to calculate the intersection point between an ellipse and a
straight line. A qualifying point may also be specified when there is more than one point
of intersection (cf. use of qualifier in Section 11.6)
Examples
1. INT @
This variation uses a single cursor hit to pick the intersection point explicitly.
constructed point
2. INT BETW @ @
This constructs a point at the intersection of two hit primitives:
constructed point
3. INT BETW @ @
In this case the second cursor hit acts as a qualifier:
constructed point
(100, 100)
5. NEW STRA
FPT INT BETW PREV ARC AND PREV CIRC QUAL X200 Y300
TPT MIDP OF PREV STRA
Here, the STRA has one endpoint defined as that intersection between the specified arc
and the specified circle which is the nearest to the qualifying point, the other endpoint
being the midpoint of a specified line.
Y
newly defined STRA
500
(200, 300)
100
X
100 500
This construction generates a point at which a tangent line from a specified reference
point meets a specified arc, circle or ellipse.
Examples
1. NEW STRA
FPT X100 Y100
TPT X300 Y200 TAN @
Y
500
500
100
(200, 100)
newly defined STRA
X
100 500
generated point
(200, 100)
The TANLINE command can be used to draw a tangent line between any two ARC or
CIRC elements. Provided that the current element is a STRA, the syntax to create
a tangent line would be, for example:
TANLINE @ @
Figure shows various examples of the use of the tangent line facility. Notice how (right-
most illustration) the tangent line may lie on the complement of an ARC.
This construction generates a point which is the intersection point between a selected
primitive (a line, arc, or circle) and the perpendicular from a specified point to the
primitive. The perpendicular will always lie in the plane of the paper. If there is more
than one possible constructed point, that nearest the specified point is generated (unless
this is overruled by the presence of a qualifier.)
Examples
1. NEW STRA
FPT X300 Y100
TPT X300 Y100 PERP PREV STRA
Here, the STRA has one endpoint defined explicitly and the other defined as the
intersection of the perpendicular from the specified reference point to the previous STRA
in list order. See Figure 11-16.
Y
500
X
100 500
500
500
A point may be reflected in another point using the REFLECT syntax. The position of the
reflected point is along the axis of the two specified points. For example:
NEW CIRC DIAM 10 AT @ REFL @
The first point to be specified must be explicit, i.e. it cannot itself be a constructed point.
A 3D position may be constructed if appropriate.
The FILLETRADIUS command can be used to draw a fillet arc between any two linear
elements. (A linear element includes a STRA element, or any other element on the
drawing which is composed of straight lines (e.g. 3D design elements, the side of a
RECT, etc). Provided that the current element is an ARC, the syntax to create a
fillet arc would be, for example:
Sheet boundary
A chamfer line can be drawn between any two linear elements, using the
CHAMFERDIST command to specify the two lines to be chamfered and the chamfer
distances. For example:
2 1
1 2
CHAMFERD 20 @ @ CHAMFERD 20 40 @ @ CHAMFERD 20 40 @ @
The point construction facilities can be used not only with 2D drafting but also with
other functional areas of DRAFT such as dimensioning and labelling. These uses of
point construction are most useful, and in some cases can only be used, with the cursor;
a linear piece of the design, a dimension line, a label line, for example, can only only be
picked, for use with point construction, directly with the cursor.
11.17.1 Labelling
Point construction is available in all syntax which requires the input of a single 2D
position. For example,
GAP AT INT @
could be used to introduce a gap in a leader line at the point at which it crosses another
line (which may be part of the design graphics or annotation).
11.17.2 Dimensioning
Point construction is available in all syntax which requires the input of a single 2D (or,
if appropriate, a 3D position). For example,
DIM CENTRE OF @
could be used to position a Dimension line to run through the centre of an existing CIRC
element.
When creating linear and angular Dimensions, it is possible to dimension to a
constructed 2D point using the
TO POS OF @
syntax. (Similarly FROM POS OF @.) This procedure is possible provided the current
VIEW is orthogonal, and the 2D position lies in the current VIEW. For example, the
syntax
FROM POS OF INT @
will create a Dimension point at the intersection of two (valid) elements.
THPT (Through Point) command ........... Units Code (UCOD) attribute....2-2, 5-15
............................................... 9-18, 9-19
UPDATE ANNO command............... 3-45
TLIN (true length) attribute ... 3-12, 3-14
UPDATE INSTANCES command .... 9-34
TMRF (Template Reference) attribute
UPDATE TAGGING command ...............
............ 4-17, 4-19, 4-25, 4-28, 9-3, 9-33
......................................4-23, 4-27, 4-39
TO command ..............3-4, 3-7, 3-47, 3-49
Vertex (VERT) element..................... 9-26
TOLERANCE setting ....................... 9-15
VIEW element ..................................... 9-3
TPEN (Text Pen) attribute......................
Views
..................... 4-11, 4-17, 9-3, 9-34, 9-35
labelling ............................................ 4-5
TPT (To Point) command..... 9-19, 9-31, 2
Visibility
True length (TLIN) attribute ..................
......................................3-12, 3-43, 3-48 of primitives ................................... 9-16
Truncated dimension............................... VNOT (View Note) element .....................
.............................3-14, 3-40, 3-44, 3-52 ......................... 9-3, 9-5, 9-6, 9-12, 9-35
TXTM (Text Label Template) element VRAT attribute.................................. 5-18
........................................4-1, 4-16, 4-29 X, Y filtering ........................................... 3
UCOD attribute ................................ 5-15 Xyposition (XYPS) attribute ....................
UDA (User-defined attribute) codewords ......................4-5, 4-16, 4-18, 4-21, 4-34
........................................................ 5-19 XYSCALE attribute ..........4-22, 8-4, 9-33