You are on page 1of 201

AVEVA

Software Customisation
Reference Manaul
Disclaimer
Information of a technical nature, and particulars of the product and its use, is given by AVEVA
Solutions Ltd and its subsidiaries without warranty. AVEVA Solutions Ltd and its subsidiaries disclaim
any and all warranties and conditions, expressed or implied, to the fullest extent permitted by law.
Neither the author nor AVEVA Solutions Ltd, or any of its subsidiaries, shall be liable to any person or
entity for any actions, claims, loss or damage arising from the use or possession of any information,
particulars, or errors in this publication, or any incorrect use of the product, whatsoever.
Copyright
Copyright and all other intellectual property rights in this manual and the associated software, and every
part of it (including source code, object code, any data contained in it, the manual and any other
documentation supplied with it) belongs to AVEVA Solutions Ltd or its subsidiaries.
All other rights are reserved to AVEVA Solutions Ltd and its subsidiaries. The information contained in
this document is commercially sensitive, and shall not be copied, reproduced, stored in a retrieval
system, or transmitted without the prior written permission of AVEVA Solutions Ltd Where such
permission is granted, it expressly requires that this Disclaimer and Copyright notice is prominently
displayed at the beginning of every copy that is made.
The manual and associated documentation may not be adapted, reproduced, or copied, in any material
or electronic form, without the prior written permission of AVEVA Solutions Ltd. The user may also not
reverse engineer, decompile, copy, or adapt the associated software. Neither the whole, nor part of the
product described in this publication may be incorporated into any third-party software, product,
machine, or system without the prior written permission of AVEVA Solutions Ltd, save as permitted by
law. Any such unauthorised action is strictly prohibited, and may give rise to civil liabilities and criminal
prosecution.
The AVEVA products described in this guide are to be installed and operated strictly in accordance with
the terms and conditions of the respective licence agreements, and in accordance with the relevant
User Documentation. Unauthorised or unlicensed use of the product is strictly prohibited.
First published September 2007
AVEVA Solutions Ltd, and its subsidiaries
AVEVA Solutions Ltd, High Cross, Madingley Road, Cambridge, CB3 0HB, United Kingdom
Trademarks
AVEVA and Tribon are registered trademarks of AVEVA Solutions Ltd or its subsidiaries. Unauthorised
use of the AVEVA or Tribon trademarks is strictly forbidden.
AVEVA product names are trademarks or registered trademarks of AVEVA Solutions Ltd or its
subsidiaries, registered in the UK, Europe and other countries (worldwide).
The copyright, trade mark rights, or other intellectual property rights in any other product, its name or
logo belongs to its respective owner.
AVEVA Solutions Ltd
Contents
Software Customisation Reference
February 1999
i
Contents
1 About this Manual ...................................................................... 1-1
2 Objects, Members and Methods............................................... 2-1
Summary ..................................................................................2-1
Forms and Menus Objects ..................................................................................2-4
ALERT Object Forms and Menus....................................................2-5
ARC Object 3D Geometry...........................................................2-6
ARRAY OBJECT PML Built-in Type.................................................2-14
BANNER Object PDMS .....................................................................2-17
BAR Object Forms and Menus..................................................2-18
BLOCK Object PML Built-in Type.................................................2-19
BOOLEAN Object PML Built-in Type.................................................2-20
BORE Object PDMS .....................................................................2-21
BUTTON Object Forms and Menus..................................................2-22
DATETI ME Object PML Built-in Type.................................................2-24
DB Object PDMS .....................................................................2-25
DBREF Object PDMS .....................................................................2-26
DBSESS Object PDMS .....................................................................2-27
DI RECTI ON Object PDMS .....................................................................2-28
FI LE Object PML Built-in Type.................................................2-29
FMSYS Object All ...........................................................................2-31
FORM Object Forms and Menus..................................................2-32
FORMAT Object Formatting.............................................................2-37
FRAME Object Forms and Menus..................................................2-38
LI NE Object 3D Geometry..........................................................2-39
LI NEARGRI D Object Construction Aids...................................................2-46
LI ST Object Forms and Menus..................................................2-49
MACRO Object PDMS .....................................................................2-51
MDB Object PDMS .....................................................................2-52
MENU Object Forms and Menus..................................................2-53
Opti on Object Forms and Menus..................................................2-54
ORI ENTATI ON Object PDMS .....................................................................2-56
PARAGRAPH Object Forms and Menus..................................................2-57
PLANE Object 3D Geometry...........................................................2-59
PLANTGRI D Object Construction Aids...................................................2-62
PML Object All ...........................................................................2-63
Contents
Software Customisation Reference
November 1998
ii
POI NTVECTOR Object 3D Geometry...........................................................2-64
POSI TI ON Object PDMS .....................................................................2-66
PROJECT Object PDMS .....................................................................2-70
RADI ALGRI D Object Construction Aids...................................................2-71
REAL Object PML Built-in Type.................................................2-73
RGROUP Object Forms and Menus...................................................2-75
SELECTOR Object Forms and Menus...................................................2-77
SESSI ON Object PDMS .....................................................................2-79
STRI NG Object PML Built-in Type.................................................2-80
TEAM Object PDMS .....................................................................2-83
TEXT Object Forms and Menus...................................................2-84
TEXTPANE Object Forms and Menus...................................................2-86
TOGGLE Object Forms and Menus...................................................2-88
USER Object PDMS .....................................................................2-90
VI EW Objects: AREA Vi ew Forms and Menus...................................................2-91
VI EW Object: PLOT Vi ew Forms and Menus...................................................2-93
VI EW Objects: VOLUME Vi ews Forms and Menus..........................................2-94
VI EW Object: ALPHA Vi ews Forms and Menus ...............................................2-96
XYPosi ti on Object 3D Geometry...........................................................2-97
Deprecated Gadgets ................................................................................2-98
Appendix A: Communicating with PEGS........................................ A-1
A.1 Di recti ng Commands to PEGS ............................................................... A-1
A.2 Setti ng Connecti ons Between FMLayer and PEGS .............................. A-1
A.3 Sendi ng Commands to PEGS ................................................................. A-3
A.4 Some Speci al FMLayer Commands ....................................................... A-5
A.5 Handl i ng Errors Returned from PEGS.................................................. A-5
Appendix B: Communicating With REVIEW................................... B-1
B.1 I nvoki ng the Command Li ne I nterface................................................... B-1
B.2 Di recti ng Commands to REVI EW........................................................... B-1
B.3 Sendi ng Commands to REVI EW............................................................. B-2
B.4 Errors from the Appl i cati on-to-REVI EW Li nk ...................................... B-3
B.5 Sampl e Appl i cati on ................................................................................. B-3
B.6 Progress Moni tori ng................................................................................ B-4
B.7 Usi ng the Sampl e Appl i cati on ................................................................ B-5
B.8 A Summary of the Appl i cati on Data .................................................... B-13
B.9 The Appl i cati on Fi l es Suppl i ed ............................................................ B-15
Appendix C: PML 1 Expressions..................................................... C-1
C.1 Format of Expressi ons ............................................................................ C-1
C.2 Logi cal expressi ons ................................................................................. C-2
C.3 Numeri c (Real ) Expressi ons ................................................................... C-8
C.4 Usi ng I Ds i n Expressi ons ..................................................................... C-17
Contents
Software Customisation Reference
February 1999
iii
C.5 Posi ti ons, Di recti ons and Ori entati ons i n Expressi ons (PDMS onl y) C-18
C.6 Text Expressi ons ............................................................................... C-27
C.7 Late Eval uati on of Vari abl es i n expressi ons ....................................... C-36
C.8 PDMS Attri butes i n Expressi ons ......................................................... C-37
C.9 Queryi ng Expressi ons ........................................................................... C-37
C.10 Uni ts i n Expressi ons............................................................................. C-37
C.11 Preci si on of Compari sons ..................................................................... C-38
C.12 Undefi ned Val ues ............................................................................... C-39
Appendix D: PDMS Attribute Names ...............................................D-1
Software Customisation Reference 1-1
February 1999
1 About this Manual
Thi s manual i s the Reference Manual for the Cadcentre Programmi ng
Language, PML. I t i s i ntended for users who are al ready fami l i ar wi th
PML. Users who are starti ng to use PML shoul d refer to the Cadcentre
Software Customisation Guide, whi ch shoul d be used together wi th thi s
manual .
There are two versi ons of PML, the ol der one, known as PML 1, and
the newer one, know as PML 2. PML 2 has been wri tten speci fi cal l y for
creati ng and customi si ng the Cadcentre GUI , and thi s manual i s
mai nl y concerned wi th PML 2. However, PML 2 has not compl etel y
repl aced PML 1, and there are some tasks whi ch are carri ed out more
effi ci entl y usi ng PML 1 faci l i ti es. I n parti cul ar, thi s manual descri bes
the PML 1 Expressi ons package, whi ch i s used wi thi n PDMS, for
exampl e, for wri ti ng rul es and defi ni ng report templ ates. I f you need a
ful l decri pti on of PML 1, for exampl e i f you are mai ntai ni ng ol d code,
you wi l l need to refer to previ ous versi ons of the Cadcentre Software
Customisation Guide. The l ast one to descri be PML 1 ful l y was dated
October 1995.
Thi s manual contai ns:
A l i st of PML 2 Objects, Members and Methods. For the Forms
and Menus objects, the command syntax rel ati ng to the objects i s
i ncl uded.
Note for existing Users:
Many properti es of Forms and Gadgets whi ch were previ ousl y
set usi ng commands shoul d now be set usi ng the Form or
Gadget methods. I n general , the onl y commands descri bed are
those whi ch have not been repl aced by methods. I f you are
mai ntai ni ng ol d code, you may need to refer to the edi ti on of
the Cadcentre Software Customisation Guide dated October
1995, whi ch descri bes the ol d syntax i n detai l .
I nformati on about usi ng PML i n PEGS.
I nformati on about usi ng PML i n REVI EW.
A descri pti on of the PML 1 Expressi ons Package.
A l i st of PDMS attri butes, wi th bri ef descri pti ons.
Software Customisation Reference 2-1
February 1999
2 Objects, Members and Methods
Summary
PML Built-in Objects
ARRAY
BLOCK
BOOLEAN
PML
REAL
STRING
DATETIME
FILE
3D Geometry Objects
ARC
LINE
LINEARGRID
PLANE
PLANTGRID
POINTVECTOR
RADIALGRID
XYPOSITION
PDMS Objects
BANNER
BORE
DB
DBREF
DBSESS
DIRECTION
MACRO
MDB
ORIENTATION
POSITION
PROJECT
SESSION
TEAM
USER
Forms and Menus Objects
ALERT
ALPHA
BAR
BUTTON
FMSYS
FORM
FRAME
LIST
MENU
OPTION
PARAGRAPH
RGROUP
SELECTOR
TEXT
TEXTPANE
TOGGLE
VIEW
ALPHA
AREA
PLOT
VOLUME
Formatting text
FORMAT
Note:
The fol l owi ng command
returns a Bool ean, TRUE i f
currentl y i n TTY mode:
!MODE = ISTTY
Objects, Members and Methods
Software Customisation Reference
February 1999
2-3
Note:
The fol l owi ng methods are avai l abl e for all object types.
NAME RESULT STATUS ACTION
Attribute( Name) ANY METHOD To set or get a member of an object, providing the
member name as a STRING.
Attributes() ARRAY OF
STRINGS
METHOD To get a list of the names of the members of an
object as an array of STRINGS.
Delete() NO RESULT METHOD
MODIFIES
Destroy the object - make it undefined
EQ(ANY) BOOLEAN METHOD
NO EFFECT
Type-dependent comparison
LT(ANY) BOOLEAN METHOD
NO EFFECT
Type-dependent comparison (converting first to
STRING if all else fails)
Max(ANY) ANY METHOD
NO EFFECT
Return maximum of object and second object
Min(ANY) ANY METHOD
NO EFFECT
Return minimum of object and second object
NEQ(ANY) BOOLEAN METHOD
NO EFFECT
TRUE if objects do not have the same value(s)
ObjectType() STRING METHOD
NO EFFECT
Return the type of the object as a string
Set() BOOLEAN METHOD
NO EFFECT
TRUE if the object has been given a value(s)
String() STRING METHOD
NO EFFECT
Convert the object to a STRING
Unset() BOOLEAN METHOD
NO EFFECT
TRUE if the object does not have a value
Objects, Members and Methods
Software Customisation Reference
February 1999
2-4
Forms and Menus Objects
Gadget Methods: Summary
Bar Button List Option Para Rgroup Text Text-
pane
Toggle View
Alpha 2D 3D
Add
AddPixmap
FullName
Name
Owner
Select
Selection
Clear
ClearSelection
SaveView
RestoreView
SetActive
Line
SetLine
CurPos
SetCurPos
SetEditable
SetFocus
SetPopup
RemovePopup
GetPickedPopup
SetSize
Shown
Type
Objects, Members and Methods
Software Customisation Reference
February 1999
2-5
ALERT Object Forms and Menus
Methods
METHOD RESULT ACTION
Confirm( Message is
STRING, X is REAL, Y
is REAL )
STRING
YES OR NO
Show a blocking CONFIRM ALERT and retrieve the response. X
and Y are optional screen positions.
Error(Message is
STRING, X is REAL, Y
is REAL )
STRING
YES
Show a blocking ERROR ALERT and retrieve the response. X
and Y are optional screen positions.
Message(Message is
STRING, X is REAL, Y
is REAL)
STRING
YES
Show a blocking MESSAGE ALERT and retrieve the response
and retrieve the response. X and Y are optional screen positions.
Question(Message is
STRING, X is REAL, Y
is REAL )
STRING
YES, NO or CANCEL
Show a blocking QUESTION ALERT and retrieve the response.
X and Y are optional screen positions.
Warning(Message is
STRING, X is REAL, Y
is REAL)
STRING
YES
Show a blocking WARNING ALERT and retrieve the response
and retrieve the response. X and Y are optional screen positions.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-6
ARC Object 3D Geometry
Basic Arc Definition: Members
NAME RESULT STATUS ACTION
Orientation ORIENTATION SETTABLE Orientation of the arc
Position POSITION SETTABLE Origin/Centre of the arc
Radius REAL SETTABLE Radius of the arc
StartAngle REAL SETTABLE Angle from X axes to start of the arc
EndAngle REAL SETTABLE Angle from X axes to end of the arc
Sense BOOLEAN SETTABLE Arc sense 1 - anti-clockwise
0 - clockwise
Basic Arc Definition: Method
Thi s method does not modi fy the ori gi nal object.
String() STRING NO EFFECT Returns the arc as a string
Position
X
Y
Z
Radius
EndAngle
Arc Line
StartAngle
Orientation
Objects, Members and Methods
Software Customisation Reference
February 1999
2-7
ARC Methods Returning Arcs
None of these methods modi fy the ori gi nal object.
NAME RESULT ACTION
StartPosition(POSITION) ARC Returns a new arc, based on the original, where the start angle if defined
as the angle from the centre of the arc through the passed position
mapped onto the arc plane, form the X axis
EndPosition(POSITION) ARC As StartPosition, but for the EndAngle
Through(POSITION) ARC Returns a new arc, where the radius (of the full circle) passes through
the passed position when mapped onto the arc plane
ChordHeight(REAL) ARC Returns a new arc, based on the original, where the EndAngle is in such
a position to produce the passed chord height.
Chord height > Radius or Chord height < 0 return unset objects
New arc should not produce subtended angle > 180
Chord(REAL) ARC Returns a new arc, maintaining the original StartAngle, so the EndAngle
is at the specified distance from the Start
Chord length > Radius * 2 or < 0 return an unset object
Circle() ARC Returns a full circle definition of the arc
Circle(BOOLEAN) ARC Returns a full circle definition of the arc.
If True, the arc is anti-clock-wise
Complement() ARC Returns the complementary arc of the arc definition (the remainder of the
circle)
StartPosition(POSITION)
EndPosition(POSITION)
Through(POSITION)
Complement()
Cord(REAL)
CordHeight(REAL)
Objects, Members and Methods
Software Customisation Reference
February 1999
2-8
ARC Method Returning Position
Thi s method does not modi fy the ori gi nal object.
NAME RESULT ACTION
AnglePosition(REAL) POSITION Returns the position at the specified angle on the arc
AnglePosition(REAL)
Objects, Members and Methods
Software Customisation Reference
February 1999
2-9
ARC Methods Returning Directions
None of these methods modi fy the ori gi nal object.
NAME RESULT ACTION
AngleDirection(REAL) DIRECTION Returns the direction from the centre of the arc through a point at the
given angle from the X axis
StartTangent() DIRECTION Returns the direction out of the arc, tangential to the start angle line. The
sense of the arc is used.
EndTangent() DIRECTION Returns the direction out of the arc, tangential to the end angle line. The
sense of the arc is used.
AngleTangent(REAL) DIRECTION Returns the direction, tangential to the angle passed.
AngleDirection(REAL)
StartTangent()
EndTangent()
AngleTangent(REAL)
ARC Methods Returning XYOffsets
Thi s method does not modi fy the ori gi nal object.
NAME RESULT STATUS ACTION
XYOffset(Position) XYPOSITION METHOD
NO EFFECT
Returns the position, mapped onto the arc
plane, in term of an XY offset from the arc
plane origin
XYOffset(POSITION)
Objects, Members and Methods
Software Customisation Reference
February 1999
2-10
ARC Methods Returning Reals
None of these methods modi fy the ori gi nal object.
NAME RESULT ACTION
Proportion(REAL) REAL Returns the position, in terms of an angle from the X axis, at the
proportion from the start angle of the arc:
Angle = (EndAngle - StartAngle) * <real> + StartAngle
Angle() REAL Returns the subtended angle of the arc
Near(POSITION) REAL Returns the position, in terms of an angle from the X axis, to the
position on the arc plane of the passed position
Proportion(REAL)
Near(POSITION)
Chord() REAL Returns the chord length between the start and end of the arc
definition
Length() REAL Returns the true length of the arc line
ChordHeight() REAL Returns the chord height of the arc line
Chord
Length()
ChordHeight()
Objects, Members and Methods
Software Customisation Reference
February 1999
2-11
ARC Intersection Methods Returning Real Arrays
None of these methods modi fy the ori gi nal object.
NAME RESULT ACTION
Intersections(LINE) REAL ARRAY Returns the intersection points, in terms of angles from the X axis, of
the passed line (mapped onto arc plane) with the circle defined by the
arc
Intersections(PLANE) REAL ARRAY Returns the intersection points, in terms of angles from the X axis, of
the passed plane with the circle defined by the arc
Intersections(ARC) REAL ARRAY Returns the intersection points, in terms of angles from the X axis, of
the circle implied by the passed arc with the circle defined by the arc
The Arcs must be in the same plane, i.e. the angle between Z
components of the direction must be 0 or 180
Intersections(LINE)
Intersections(PLANE)
Intersections(ARC)
Objects, Members and Methods
Software Customisation Reference
February 1999
2-12
ARC Tangent Methods Returning Real Arrays
None of these methods modi fy the ori gi nal object.
NAME RESULT ACTION
Tangents(POSITION) REAL ARRAY Returns the points of tangency on the arc circle from the passed, in
terms of angles from the X axis,
Tangents(ARC) REAL ARRAY Returns the points of tangency on the arc circle for the passed arc
circle, in terms of angles from the X axis
Split() REAL ARRAY Splits the arc into a non-zero number of segments
Pole() POSITION Returns the pole position of the arc
Tangents(POSITION)
Tangents(ARC)
Objects, Members and Methods
Software Customisation Reference
February 1999
2-13
ARC Methods Returning Booleans
None of these methods modi fy the ori gi nal object.
NAME RESULT ACTION
On(POSITION) BOOLEAN Returns true if the passed position lies on the arc line
OnProjected(POSITION) BOOLEAN Returns true if the passed position, when projected onto the arc line,
lies within it
OnExended(POSITION) BOOLEAN Returns true if the passed position, when mapped onto the arc line, lies
outside it
On(POSITION)
On(POSITION)
Objects, Members and Methods
Software Customisation Reference
February 1999
2-14
ARRAY OBJECT PML Built-in Type
Methods
NAME RESULT STATUS ACTION
Append(ANY value) NO RESULT MODIFIES Append value as a new element at the end of array
AppendArray( ARRAY
values)
NO RESULT MODIFIES Append array values as new elements at the end of
array
Clear() NO RESULT MODIFIES Remove all elements
Compress() NO RESULT MODIFIES Removed all undefined elements and re-index
remaining elements
DeleteFrom( REAL index,
REAL n)
ARRAY MODIFIES Make undefined n elements starting at index
Remaining elements are not re-indexed
Returns an array of the deleted elements (which need
not be assigned if not wanted)
DeleteFrom( REAL index) ARRAY MODIFIES Make undefined elements from index to end of array.
Returns an array of the deleted elements
Remaining elements not re-indexed
DeleteTo(
REAL index,
REAL n)
ARRAY MODIFIES Make undefined n elements up to index Returns an
array of the deleted elements Remaining elements
not re-indexed.
DeleteTo(
REAL index)
ARRAY MODIFIES Make undefined elements from start to index Returns
an array of the deleted elements Remaining
elements not re-indexed
Difference(
ARRAY two)
ARRAY Return an array of those elements in the original
array not present in array two. Duplicates will appear
only once
Empty() BOOLEAN TRUE if array is empty
Evaluate(BLOCK command) NEW
ARRAY
Evaluate code in command at each element
Find(ANY value) NEW
ARRAY
Search original array for value and return an array of
index positions at which it was found
FindFirst(ANY value) REAL Return index of first occurrence of value. Returns
UNSET if not found.
First() ANY Return value of first defined element
From(REAL index, REAL n) ARRAY Copy sub array of n elements starting at index
From(REAL index) ARRAY Copy sub array starting at index to end of array
GetIndexed(
REAL index)
ANY Implements ARRAY[index]
(Internal METHOD)
Objects, Members and Methods
Software Customisation Reference
February 1999
2-15
ARRAY OBJECT Methods(continued) PML Built-in Type
Indices() NEW
ARRAY
Returns an array containing the indices of the target
array that have a value.
Insert(
REAL index,
ANY value)
NO RESULT MODIFIES Insert value as a new element at index
Later elements are re-indexed
InsertArray(
REAL index,
ARRAY ANY values)
NO RESULT MODIFIES Insert values as new elements with the first at index
Later elements are re-indexed
Intersect(
ARRAY two)
NEW
ARRAY
Return array of elements present in both arrays.
Duplicates will appear only once
Invert() NEW
ARRAY
Returns an inverted copy of the array.
Last() ANY Return last element value
MaxIndex() REAL Subscript of last defined (non-empty) element
MinIndex() REAL Subscript of first defined (non-empty) element
Overlay(
REAL index,
ARRAY two)
NEW
ARRAY
MODIFIES Replace array elements at index with elements from
the array two. Returns an array of the elements
which were overwritten (which need not be assigned
if not required)
ReIndex(REAL ARRAY
indices)
NO RESULT MODIFIES Apply result of SORTEDINDICES to re-order array
elements into positions specified by indices
Remove(REAL nth) ANY MODIFIES Remove and Return nth element (which need not be
assigned if not required) Remaining elements are
re-indexed.
RemoveFirst() ANY MODIFIES Remove and Return first element (which need not be
assigned if not required) Remaining elements are re-
indexed.
RemoveFrom(
REAL index, REAL n)
NEW ARRAY MODIFIES Remove and Return new array of n elements starting
with index (which need not be assigned if not required)
Remaining elements are re-indexed.
RemoveFrom(
REAL index)
NEW ARRAY MODIFIES Remove and Return new array of elements from index
to end of array (which need not be assigned if not
required)
Remaining elements are re-indexed.
RemoveLast() ANY MODIFIES Remove and Return last element (which need not be
assigned if not required)
Remaining elements are re-indexed.
RemoveTo(
REAL index, REAL n)
NEW ARRAY MODIFIES Remove and Return n elements from start to index
(which need not be assigned if not required)
Remaining elements are re-indexed.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-16
ARRAY OBJECT Methods(continued) PML Built-in Type
RemoveTo(
REAL index)
NEW ARRAY MODIFIES Remove and return elements from start to index
(which need not be assigned if not required)
Remaining elements are re-indexed.
Size() REAL Returns the number of defined elements
Sort() NO RESULT MODIFIES Sort array into ascending order
SortUnique() NEW ARRAY Returns a sorted copy of the array with duplicates
removed.
SortedIndices() NEW REAL
ARRAY
Return new array of indices representing the sorted
order of elements in array
(The array itself is not sorted)
To(REAL index,
REAL n)
ARRAY Copy sub array of n elements from start to index
To(REAL index) ARRAY Copy sub array from start of array to index
Union(ARRAY two) NEW ARRAY Return array of elements present in either array
(duplicates will appear only once)
Unique() NO RESULT MODIFIES Discard duplicates and re-index remaining elements.
Width() REAL Return the maximum width of string elements (other
element types are ignored).
Objects, Members and Methods
Software Customisation Reference
February 1999
2-17
BANNER Object PDMS
Members
NAME RESULT ACTION
Company STRING Company name, up to 120 characters.
Copyright STRING Cadentre copyright , up to 80 characters.
Libraries ARRAY OF STRINGS Library names
Name STRING Title for main windows, up to 13 characters
Short STRING Short form of company name
Status STRING PDMS release status
Command
!BANNVAR = BANNER Returns a BANNER object
Objects, Members and Methods
Software Customisation Reference
February 1999
2-18
BAR Object Forms and Menus
Methods
NAME RESULT ACTION
Add(Dtext is STRING, Menuname is
STRING )
NO RESULT Adds a menu to the bar menu
Clear() NO RESULT Removes all menus from the bar menu
Clear( Menuname is STRING ) NO RESULT Removesmenus from the bar menu after the given menu
FullName() STRING Get the full gadget name, e.g.!!Form.gadget
Name() STRING Get the gadgets name, e.g. gadget
Owner() FORM Get the owning form.
SetActive( BOOLEAN ) NO RESULT Sets the gadget to be active/incative
Shown() BOOLEAN Get shown status
Type() STRING Get the GADGET type as a STRING
Command
The BAR command creates a Bar Menu.
The menus on the bar are created usi ng the bars Add method. There are
two speci al opti ons that can be added:
Help whi ch adds a menu that cal l s the onl i ne hel p.
Window whi ch adds an opti on that l i sts al l the di spl ayed
wi ndows.
>-- BAR -->
Note: A menu bars gname i s BAR, si nce each form can own onl y one
menu bar.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-19
BLOCK Object PML Built-in Type
Methods
NAME RESULT ACTION
Add() NO RESULT Adds a menu to the bar menu
Clear() NO RESULT Removes all menus from the bar menu
Clear( Menuname ) NO RESULT Removes all menus from the bar menu after the given menu
FullName() STRING Get the full gadget name, e.g.!!Form.gadget
Name() STRING Get the gadgets name, e.g. !gadget
Owner() FORM Get name of owning form.
SetActive( BOOLEAN ) NO RESULT Sets the gadget to be active
Shown() BOOLEAN Get shown status
Type() STRING Get the GADGET type as a STRING
Objects, Members and Methods
Software Customisation Reference
February 1999
2-20
BOOLEAN Object PML Built-in Type
Methods
None of these methods modi fy the ori gi nal object.
NAME RESULT ACTION
AND() BOOLEAN TRUE if both values are TRUE
NOT() BOOLEAN TRUE if FALSE; FALSE if TRUE
OR(BOOLEAN) BOOLEAN TRUE if either value is TRUE
Real() REAL 1 if Boolean is TRUE; 0 if Boolean is FALSE
String() STRING TRUE if Boolean is TRUE;
FALSE if Boolean is FALSE
Objects, Members and Methods
Software Customisation Reference
February 1999
2-21
BORE Object PDMS
Member
NAME RESULT STATUS ACTION
Size REAL SETTABLE The BORE size
Methods
None of these methods modi fy the ori gi nal object.
NAME RESULT ACTION
EQ(REAL) BOOLEAN Comparison dependent on current BORE units
GEQ(BORE) BOOLEAN TRUE if BORE greater than or equal to BORE
GEQ(REAL) BOOLEAN Comparison dependent on current BORE units
GT(BORE) BOOLEAN TRUE if BORE greater than BORE
GT(REAL) BOOLEAN Comparison dependent on current BORE units
LEQ(BORE) BOOLEAN TRUE if BORE less than or equal to BORE
LEQ(REAL) BOOLEAN Comparison dependent on current BORE units
LT(BORE) BOOLEAN TRUE if BORE less than BORE
LT(REAL) BOOLEAN Comparison dependent on current BORE units
Real() REAL Convert BORE to a REAL value
String(FORMAT) STRING Covert BORE to a STRING using the settings in the global
FORMAT object
Objects, Members and Methods
Software Customisation Reference
February 1999
2-22
BUTTON Object Forms and Menus
Members
NAME RESULT STATUS ACTION
Background REAL SETTABLE Set or get Background Colour Number
Background STRING SET ONLY Set Background Colour Name
Methods
NAME RESULT ACTION
AddPixmap( file1 is
STRING, file2 is
STRING, file3 is
STRING )
NO RESULT Adds pixmaps to be used for the unselected, selected and inactive states.
The last two are optional.
FullName() STRING Get the full gadget name, e.g.!!Form.gadget
Name() STRING Get the gadgets name, e.g. gadget
Owner() FORM Get owning form.
SetPopup ( MENU ) NO RESULT Links the given menu with the gadget as a popup.
RemovePopup(
MENU)
NO RESULT Removes the given popup menu from the gadget.
GetPickedPopup() MENU Returns the name of the menu picked from a popup
Shown() BOOLEAN Get shown status
Type() STRING Get the GADGET type as a STRING
Objects, Members and Methods
Software Customisation Reference
February 1999
2-23
Command
The BUTTON command defi nes a button, and speci fi es i ts posi ti on, tag or
pi xmap, cal l back text and control attri bute.
The fi l es defi ni ng the pi xmaps shoul d be speci fi ed i n the forms defaul t
constructor method usi ng the gadgets AddPixmap method.
.----------------------.
/ |
>- BUTTON gname -*-- <fgpos> -------------|
| |
|-- PIXMAP <vshap> ------|
| |
|-- tagtext -------------|
| |
|-- CALLback text ------|
| |
|-- TOOLTIP text --------|
| |
|-- BACKGround <colno> --|
|
`--------+--FORM fname---.
| |
`---------------+-- OK -----.
| |
|-- APPLY --|
| |
|-- CANCEL -|
| |
|-- RESET --|
| |
|-- HELP ---|
| |
-----------+->
Defaults: I f no tag i s speci fi ed, the tag defaul ts to the gadgets gname.
The control attri bute i s unset unl ess you speci fi cal l y enter
OK, APPLY, HELP, CANCEL or RESET.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-24
DATETIME Object PML Built-in Type
Methods
NAME RESULT STATUS ACTION
DateTime() DATETIME CONSTRUCTOR Create a DATETIME object with current date and time in
it.
DateTime(REAL year, REAL
month, REAL date)
DATETIME CONSTRUCTOR Create a DATETIME set to the given year, month, date.
Time defaults to 00:00:00.
DateTime(REAL year,
STRING month.
REAL date)
DATETIME CONSTRUCTOR As above, but month is a STRING at least three
characters long representing month e.g. Jan, March,
DECEM
DateTime(REAL year, REAL
month, REAL date,
REAL hour,REAL minute)
DATETIME CONSTRUCTOR Create a DATETIME object set to given year, month,
date, hour, minute. Seconds default to 0.
DateTime(REAL year,
STRING month, REAL date,
REAL hour, REAL minute)
DATETIME CONSTRUCTOR As above, but month is a STRING at least three
characters long representing month e.g. Jan, March,
DECEM
DateTime(REAL year, REAL
month, REAL date, REAL
hour, REAL minute, REAL
second)
DATETIME CONSTRUCTOR Create a DATETIME object set to given year, month,
date, hour, minute, second.
DateTime(REAL year,
STRING month, REAL date,
REAL hour, REAL minute,
REAL second)
DATETIME CONSTRUCTOR As above, but month is a STRING at least three
characters long representing month e.g. Jan, March,
DECEM
Date() REAL Return day of month for this DATETIME object (1-31).
GEQ(DATETIME) BOOLEAN Test whether this DATETIME is later than or the same as
argument DATETIME.
GT(DATETIME) BOOLEAN Test whether this date is later than argument DATETIME.
HOUR() REAL Return hour as REAL for this DATETIME object (0-23).
LEQ(DATETIME) BOOLEAN Test whether this DATETIME is earlier or the same as
argument DATETIME
LT(DATETIME) BOOLEAN Test whether this DATETIME is earlier than argument
DATETIME.
Minute() REAL Return minutes as REAL for this DATETIME object (0-
59).
Month() REAL Return month as REAL for this DATETIME object (1-12).
MonthString() STRING Return month as STRING for this DATETIME
object(January, February, etc.)
Second() REAL Return number of seconds as REAL for this DATETIME
object(0-59).
Year() REAL Return year as REAL(e.g. 1998)
Objects, Members and Methods
Software Customisation Reference
February 1999
2-25
DB Object PDMS
Member
NAME RESULT ACTION
Name STRING The name of the database, up to 32 characters.
Description STRING The database description, up to 120 characters.
Access STRING Access type (UPDATE, MULTIWRITE, CONTROLLED).
Claim STRING Claim mode for multiwrite databases (EXPLICIT, IMPLICIT).
File STRING Database filename, up to 17 characters.
Foreign STRING FOREIGN or LOCAL
Number STRING Database number
Team TEAM Owning Team
Type STRING Database type, e.g DESI
Primary STRING Identifies whetther a database is PRIMARY or SECONDARY at the
current location in a global project
Method
Thi s method does not modi fy the ori gi nal object.
NAME RESULT ACTION
MDBList() ARRAY List of MDBs which contain this DB.
Size() REAL File size in pages.
Sessions() ARRAY OF DBSESS All sessions of the current database.
Lastsession() DBSESS Last session information for database.
Command
!ARRAY = DBS Returns an array of the DBs i n the current project
Objects, Members and Methods
Software Customisation Reference
February 1999
2-26
DBREF Object PDMS
Methods
None of these methods modi fy the ori gi nal object.
NAME RESULT ACTION
Attribute(STRING
Name)
ANY Return the value of the named Attribute
Attributes ARRAY OF
STRING
A DBREF appears to have the attributes of whatever DB elements it is
pointing to
BadRef() BOOLEAN TRUE if DBREF is not valid (cannot navigate to it)
Delete() NO RESULT Deletes the PML DBREF (not the database element it is pointing to)
MCount() REAL Count of number of members of element referenced
MCount(
STRING type)
REAL Count of number of members of element referenced of type specified
String(FORMAT) STRING Convert to STRING using settings in global FORMAT object
Line([CUT/UNCUT]) LINE Returns the cut/uncut pline of a SCTN/GENSEC element as a bounded
line
Point(REAL) POINT Returns the specified Ppoint of a database element in terms of an point
Plane(REAL) PLANE Returns the specified Ppoint of a database element in terms of an plane
Objects, Members and Methods
Software Customisation Reference
February 1999
2-27
DBSESS Object PDMS
Members
NAME RESULT ACTION
Number REAL Session number.
Date STRING Date when session started.
Author STRING Creator of session.
Comment STRING Session comment.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-28
DIRECTION Object PDMS
Members
NAME RESULT STATUS ACTION
East REAL SETTABLE UP component
North REAL SETTABLE NORTH component
Up REAL SETTABLE UP component
Origin DBREF SETTABLE DB element that is the origin
Methods
None of these methods modi fy the ori gi nal object.
NAME RESULT ACTION
EQ(DIRECTION) BOOLEAN TRUE if two directions are the same
LT(DIRECTION) BOOLEAN TRUE if direction is less than argument
String(FORMAT) STRING Convert to STRING
WRT(DBREF) DIRECTION Convert to a new DIRECTION with respect to a given element.
Angle(DIRECTION) REAL Returns the angle between the two directions
Centre(DIRECTION) DIRECTION Returns the direction which is half way between the two directions
Cross(DIRECTION) DIRECTION Returns the cross product of the two directions
Dot(DIRECTION) REAL Returns the dot product of the two directions
IsParallel(DIRECTION) BOOLEAN Returns true if the supplied directions are parallel, false otherwise.
Opposite() DIRECTION Returns the opposite direction
Orthogonal(DIRECTION) DIRECTION Returns the direction orthogonal between the two directions
Projected(PLANE) DIRECTION Returns a direction projected onto the passed plane.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-29
FILE Object
Methods
NAME RESULT STATUS ACTION
File(STRING) FILE CONSTRUCTO
R
Create a FILE object on a file whose name is given in STRING.
AccessMode() STRING Return access mode for the file {CLOSED, READ, WRITE,
OVERWRITE, APPEND}.
Close() NO RESULT MODIFIES Close file if open.
Copy(STRING) FILE Copies the file whose pathname is given in STRING. Returns FILE
object for copied file.
Copy(FILE) FILE NO EFFECT Copies the file represented by the FILE object. Returns FILE object
for copied file.
DeleteFile() NO
RESULT
MODIFIES Delete the file represented by the file object if it exists.
Directory() FILE Returns a FILE object corresponding to owning directory.
DTM() DATETIME Returns a DATETIME object holding the date and time that this file
was last modified.
Entry() STRING Returns file name as string.
Exists() BOOLEAN Returns BOOLEAN indicating whether file exists or not.
Files() ARRAY OF
FILES
Returns an ARRAY of FILE objects corresponding to files owned
by this directory.
FullName() STRING Returns the name including path for this FILE object as a
STRING.
IsOpen() BOOLEAN Return BOOLEAN indicating whether file is open or not.
LineNumber() REAL Return line number of line about to be written.
Move(STRING) FILE MODIFIES Move this file to location given in STRING. Return FILE object
for moved file.
Move(FILE) FILE MODIFIES Move this file to location represented by FILE object.
Name() STRING Return name of this FILE object as STRING.
Open(STRING) NO RESULT MODIFIES Opens this file in the mode given by STRING
{READ,WRITE,OVERWRITE, APPEND}
Owner() STRING Returns the ID of this FILEs owner a STRING.
Path() ARRAY of FILES Returns an ARRAY of FILEs corresponding to the owning
directories of this FILE object.
PathName() STRING Returns owning path as a STRING.
ReadFile() ARRAY OF
STRING
MODIFIES Open, read contents and close file. Data returned as an
ARRAY of STRINGs corresponding to the lines in the file.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-30
FILE Object Methods (continued)
ReadFile(REAL) ARRAY OF
STRING
MODIFIES As above, but ensures that file is no longer than number of
lines given in REAL.
ReadRecord() STRING MODIFIES Reads a line from an open file and returns it in a STRING.
Set() BOOLEAN Returns a BOOLEAN indicating whether this FILE object has a
name set or not.
Size() REAL Returns size of file in bytes.
SubDirs() ARRAY OF FILE Returns an ARRAY of FILE objects corresponding to
directories owned by this directory.
Type() STRING Returns a STRING indicating whether this object represents a
FILE or a DIRECTORY.
WriteFile(STRING,
ARRAY OF STRING)
NO RESULT MODIFIES Opens file in mode given in string {WRITE, OVERWRITE,
APPEND}, writes STRINGs in ARRAY and closes file.
WriteRecord(STRING) NO RESULT MODIFIES Writes STRING to this FILE which must already be open.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-31
FMSYS Object All
Methods
None of these methods modi fy the ori gi nal object.
NAME RESULT ACTION
Clickpop(BOOLEAN) NO RESULT Sets the clickpop behaviour. TRUE means that a form will pop to the
front as soon as the a mouse button is clicked when the cursor is in the
window.
SetMain(FORM) FORM Sets the main form for an Application.
SetInterrupt(GADGET) NO RESULT Sets the Gadget which will interrupt macro or function processing.
Interrupt() BOOLEAN Set to TRUE if the interrupt gadget has been selected.
FMINFO() ARRAY OF
STRINGS
Returns array of all fminfo strings.
DOCSATMAXSCREEN(
BOOLEAN)
NO RESULT Sets dafault placement position for document forms to be towards the
maximum (right0 of the screen.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-32
FORM Object Forms and Menus
Members
NAME RESULT STATUS ACTION
FormRevision STRING SETTABLE Form Revision text
FormTitle STRING SETTABLE Form title
IconTitle STRING SETTABLE Icon title
Initcall STRING SETTABLE Callback executed when form is initialised
Autocall STRING SETTABLE Callback executed when any of the specified application
attributes has changed
Okcall STRING SETTABLE Callback executed when OK button is pressed
Cancelcall STRING SETTABLE Callback executed when Cancel button is pressed
KeyboardFocus GADGET SETTABLE Gadget to have initial keyboard focus on display of the form.
One of Textfield, Textpane, Button, Toggle or Alpha view
Maximised BOOLEAN SETTABLE Get/set forms maximised status (on screen)
Popup MENU SETTABLE Get/set forms current popup menu
Methods
Name() STRING Get name
FullName() STRING Get the full form name (Including !!)
NewMenu( MENU ) MENU Adds a new menu to the form
SetActive( BOOLEAN ) Sets all gadgets on form to be active or inactive
SetPopup( MENU ) Specifies the pop-up to be displayed when the right-hand mouse
button is held down over the form background.
RemovePopup( MENU ) Removed a pop-up associated with a form.
GetPickedPopup() STRING Returns the name of the menu picked from a pop-up
Show('FREE') NO RESULT Show the form on the screen as a FREE form.
Show('AT', REAL X, REAL
Y)
NO RESULT Show the form as a FREE form with the origin at the X,Y relative
screen position.
Show('CEN', REAL X,
REAL Y)
NO RESULT Show the form as a FREE form with its centre at the X,Y relative
screen position.
Shown() BOOLEAN Get 'shown' status
Hide() NO RESULT Hides the form (removes it from the screen)
Owner() FORM Returns the form's owner, or unset variable if form is free-standing
Objects, Members and Methods
Software Customisation Reference
February 1999
2-33
Commands
SETUP FORM
You must be i n Form Setup mode before you can cal l any commands for
defi ni ng the form i tsel f or any of the gadgets whi ch i t i s to own. Once-onl y
form attri butes are entered as part of the SETUP FORM command l i ne;
modi fi abl e attri butes are entered as contents of the form.
The commands to set modi fi abl e attri butes are descri bed after the
syntax graph.
You remai n i n Form Setup mode unti l you use the EXIT command.
.---------<------------.
/ |
>-- SETUP FORM fname --*-- MAIN ----------------|
| |
|-- DOCUMENT ------------|
| |
|-- DIALOG --------------|
| |
|-- BLOCKingdialog ------|
| |
|-- RESIzeable ----------|
| |
|-- AT <xypos> ----------|
| |
|-- SIZE val val --------
|
contents
|
EXIT --->
Defaults: Di al og, non-resi zeabl e; si ze adjusted automati cal l y to fi t
contents.
CANCELCALL
Thi s command defi nes the cal l back stri ng whi ch i s executed whenever the
form i s di smi ssed from the screen vi a the CANCEL button or the
QUIT/CLOSE control on the wi ndow ti tl e bar.
Note: Thi s command repl aces the callback stri ng on the CANCEL button.
>-- CANCELcall text -->
Objects, Members and Methods
Software Customisation Reference
February 1999
2-34
CURSORTYPE
When a screen cursor enters a vi ew, the vi ew gadget determi nes what
cursor type shoul d be di spl ayed i ni ti al l y, and what type wi l l be di spl ayed
duri ng di fferent types of graphi cal i nteracti on. You can speci fy the i ni ti al
setti ng for the cursor type usi ng thi s command.
Note: You cannot speci fy an i ni ti al cursor type for Vol ume vi ews.
>-- CURSortype --+-- POINTER ----.
| |
|-- NOCURSOR ---|
| |
|-- PICK -------|
| |
|-- PICKPLUS ---|
| |
-- CROSSHAIR --+---->
Note: There are other cursor types whi ch are onl y for Cadcentre use.
HALIGN
Works i n conjuncti on wi th PATH and HDISTANCE. Defi nes how a newl y
added gadget shoul d be al i gned hori zontal l y wi th the precedi ng gadget.
>-- HAlign --+-- Left ---.
| |
-- Right --+-->
HDISTANCE
Works i n conjuncti on wi th PATH and HALIGN. Defi nes how a newl y added
gadget shoul d be spaced hori zontal l y wi th respect to the precedi ng
gadget.
>-- HDistance value -->
ICONTITLE
Defi nes the ti tl e for the i con when the form i s mi ni mi sed.
>-- ICONTItle text -->
INITCALL
Defi nes the cal l back stri ng whi ch i s executed each ti me the form i s
di spl ayed. Thi s cal l back i s usual l y run to check the val i di ty of showi ng
the form and to i ni ti al i se gadget val ues.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-35
Note: Thi s command repl aces the INITIALISATION command.
>-- INITcall text -->
LIST
Speci fi es the posi ti on, tag, and cal l back text of a l i st gadget. Al so speci fi es
whether the l i st al l ows a si ngl e choi ce onl y or mul ti pl e choi ces and
defi nes the area (wi dth and hei ght) i n whi ch the di spl ayed part of the l i st
wi l l appear. The arrays defi ni ng the di spl ay texts and repl acement texts
for the l i st opti ons are set i n the forms defaul t constructor method.
.-------<---------.
/ |
>- LIST gname -*-- <fgpos> --------|
| |
|-- tagtext --------|
| |
|-- CALLback text --
|
|-- SINGle ---.
| |
|-- MULTiple -|
| |
-------------+- <vshap> -->
Default: A si ngl e choi ce l i st.
OKCALL
Defi nes the the OK cal l back stri ng for a form, whi ch i s executed
whenever the form i s di smi ssed from the screen vi a i ts OK button or that
of an ancestor.
Note: Thi s command repl aces the callback stri ng on the OK button.
>-- OKcall text -->
PATH
Defi nes the di recti on i n whi ch a sequence of new gadgets are to be added
to a form. The path setti ng remai ns unti l you gi ve another PATH
command. Used wi th HALIGN, HDISTANCE, VALIGN , VDISTANCE.
>-- PATH --+-- Up ------.
| |
|-- Down ----|
| |
|-- Left ----|
| |
-- Right ---+-->
Objects, Members and Methods
Software Customisation Reference
February 1999
2-36
Default: Path Ri ght.
TITLE
Defi nes the form ti tl e.
>-- TITLe text -->
VALIGN
Use i n conjuncti on wi th PATH and VDISTANCE. Defi nes how a newl y added
gadget shoul d be al i gned verti cal l y wi th the precedi ng gadget.
>-- VAlign --+-- Top -----.
| |
-- Bottom --+-->
VDISTANCE
Works i n conjuncti on wi th PATH and VALIGN. Defi nes how a newl y added
gadget shoul d be spaced verti cal l y wi th respect to the precedi ng gadget.
>-- VDistance value -->
Objects, Members and Methods
Software Customisation Reference
February 1999
2-37
FORMAT Object Formatting
NAME RESULT OPTIONS ACTION
CompSeparator STRING | | Separator used for multi-component data types such
as POSITIONs (Default SPACE)
Denominator REAL 32 Largest denominator for Imperial fractions
(Default 32)
Dimension STRING NONE
L
L2
L3
Number is un-dimensioned (Default)
Number is a LENGTH
Number is an AREA
Number is a VOLUME
DP REAL 2 Number of decimal places for decimal fractions
(Default 2)
ENU BOOLEAN TRUE
FALSE
Use ENU format when outputting POSITIONs
(Default)
Use XYZ format when outputting POSITIONs
Fraction BOOLEAN FALSE
TRUE
Fractional part output as decimal (Default)
Fractional part output as fraction
FtLabel STRING || Label used for feet e.g. ' or FT or ft or feet
(Default )
InchSeparator STRING |.| Separator between inches and fractions
(Default . )
Label STRING |mm| General distance label
e.g. mm or m or " or IN
(Default is no label)
PadFractions BOOLEAN FALSE
TRUE
Do not pad Fractions (Default)
Pad Fractions with trailing spaces
Units STRING MM
M
FINCH
INCH
Output number in millimetres (Default)
Output number in metres.
Output number in feet and inches
Output number in inches
OriginExp BLOCK ||
|/*|
|CE|
With respect to World (Default)
With respect to World
With respect to Current Element
Zeros BOOLEAN TRUE
FALSE
Leading zeroes are displayed for Imperial units
(Default)
Leading zeroes are not displayed for Imperial units
Objects, Members and Methods
Software Customisation Reference
February 1999
2-38
FRAME Object Forms and Menus
Members
NAME RESULT STATUS ACTION
Active BOOLEAN SETTABLE Sets active/inative status
Tag STRING SETTABLE Gadgets tag text
Command
The FRAME command defi nes a Frame.
A frame wi l l expand to surround al l the gadgets wi thi n i t, but you can
speci fy a mi ni mum si ze. Frames can be nested three-deep, but thi s does
not necessari l y produce a wel l -desi gned form.
The tag text wi l l be di spl ayed on the top edge of the frame
--------------.
/ |
>-- FRAME gname ---*--- tagtext ---|
| |
|--- <fgpos> ---|
| |
|--- <vshap> ---
|
contents
| |
---------------+--- EXIT --->
where contents are the gadgets and l ayout commands wi thi n
the Frame.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-39
LINE Object 3D Geometry
See al so the POINTVECTOR Object.
Basic Line Definition: Members
NAME RESULT STATUS ACTION
StartPosition POSITION SETTABLE Start position of line
EndPosition POSITION SETTABLE End position of line
Basic Line Definition: Methods
None of these methods modi fy the ori gi nal object.
NAME RESULT ACTION
String() STRING Returns the line as a string
Direction() DIRECTION Returns the direction of the line
Direction(DIRECTION) LINE Creates a new line with the same start position and length but in
the given direction.
EndPosition
StartPosition
Direction(DIRECTION)
Objects, Members and Methods
Software Customisation Reference
February 1999
2-40
LINE Object: Methods Returning Booleans
None of these methods modi fy the ori gi nal object.
NAME RESULT ACTION
On(POSITION) BOOLEAN Returns true if the passed position lies on the bounded line
OnProjected(POSITION) BOOLEAN Returns true if the passed position, when projected onto the line, lies
within the bounded line
OnProjected(POSITION)
On (POSITION)
Objects, Members and Methods
Software Customisation Reference
February 1999
2-41
LINE Object: Methods Returning Positions
None of these methods modi fy the ori gi nal object.
NAME RESULT ACTION
Intersection(LINE) POSITION Returns the intersection point of the passed line on the line definition
Intersection(POINT
VECTOR)
POSITION Returns the intersection point of the passed pointvector on the line
definition.
Intersection(PLANE) LINE Returns the intersection line of the passed plane on the line definition.
Intersections(ARC) ARRAY OF
POSITIONS
Returns the intersection points of the passed arc on the line definition.
Near(POSITION) POSITION Returns the nearest position on the line definition of the passed
position
Proportion(REAL) POSITION Returns the position at the proportion along the bounded line from the
StartPosition.
Values > 1 will give positions off the end of the line
Values < 0 will give positions off the start of the line.
Intersection(LINE)
Proportion(REAL)
Near(POSITION)
Objects, Members and Methods
Software Customisation Reference
February 1999
2-42
LINE Object: Methods Returning Reals
None of these methods modi fy the ori gi nal object.
NAME RESULT ACTION
Length() REAL Returns the length of the line
Distance(LINE) REAL Returns the minimum distance between the line definition and the
passed line.
Distance(POSITION) REAL Returns the minimum distance between the line definition and the
position.
Distance(LINE)
Distance(POSITION)
Length()
LINE Object: Miscellaneous Methods
None of these methods modi fy the ori gi nal object.
NAME RESULT ACTION
Plane() PLANE Returns a plane object, using the StartPositioin and Direction of
line object
Pointvector()
POINTVECTOR
Returns a pointvector object, using the StartPositioin and
Direction of line object
Objects, Members and Methods
Software Customisation Reference
February 1999
2-43
LINE Object: Methods Returning Lines
None of these methods modi fy the ori gi nal object.
NAME RESULT ACTION
SetLengthStart(REAL) LINE Returns a new line, maintaining the original StartPosition and
direction, with a EndPosition to match the supplied length
SetLengthEnd(REAL) LINE Returns a new line, maintaining the original EndPosition and
direction, with a StartPosition to match the supplied length
Towards(POSITION) LINE Returns a new line object with the same StartPosition and the
same relative EndPosition (Length) of the original line, but the
direction is from the start position to the passed position
From(POSITION) LINE Returns a line, where the StartPosition is set to the passed
position, maintaining the original EndPosition
To(POSITION) LINE Returns a line, where the EndPosition is set to the passed
position, maintaining the original StartPosition
ExtendStart(REAL) LINE Returns a new line, where the StartPosition has been extended
in the opposite direction of line by the given distance
ExtendEnd(REAL) LINE Returns a new line, where the EndPosition has been extended in
the direction of line by the given distance
SetLengthStart(REAL)
From(POSITION)
Towards(POSITION)
To(Position)
ExtendEnd(REAL)
ExtendStart(REAL)
SetLengthEnd(REAL)
Objects, Members and Methods
Software Customisation Reference
February 1999
2-44
LINE Object: Methods Returning Lines (continued)
NAME RESULT ACTION
ExtendStart(PLANE) LINE Returns a new line, where the StartPosition has been extended
to the plane.
ExtendEnd(PLANE) LINE Returns a new line, where the EndPosition has been extended to
the plane.
ReverseSense() LINE Returns a line, where the Start and End positions have been
transposed
Projected(PLANE) LINE Returns a line definition normalised onto the passed plane. See
picture.
Parallel(POSITION) LINE Returns a parallel to the line definition of the line object, through
the passed position. All other members are copied. See picture.
Offset(DIRECTION, REAL) LINE Returns a parallel line to the line object, offset from the original in
the given direction. See picture.
Offset(DIRECTION, REAL)
Parallel(POSITION)
Projected(PLANE)
Objects, Members and Methods
Software Customisation Reference
February 1999
2-45
LINE Object: Methods Returning Lines (continued)
Overlap(LINE) LINE Returns the overlapping line of two parallel lines, all positions are
return projected onto the original object . See picture.
Union(LINE) LINE Returns the union of line of two parallel lines, all positions are return
projected onto the original object. See picture.
Overlap(Line)
Union(Line)
Objects, Members and Methods
Software Customisation Reference
February 1999
2-46
LINEARGRID Object Construction Aids
Basic Grid Definition: Members
NAME RESULT STATUS ACTION
Position POSITION SETTABLE Origin of the grid
Orientation ORIENTATION SETTABLE Orientation of the grid
XSpacing REAL SETTABLE Spacing in the X direction
YSpacing REAL SETTABLE Spacing in the Y direction
Basic Grid Definition: Members
Thi s method does not modi fy the ori gi nal object.
NAME RESULT ACTION
String() STRING Returns the grid as a string
X
Y
Z
Orientation
XSpacing
YSpacing
Position
Objects, Members and Methods
Software Customisation Reference
February 1999
2-47
LINEARGRID Object: Methods Returning Positions
None of these methods modi fy the ori gi nal object.
NAME RESULT ACTION
GridPoint(REAL, REAL) POSITION Returns the position at the intersection of the passed X and Y
lines from the origin of the grid. Values can be +ve or -ve
depending on the side of the origin
Snap(POSITION) POSITION Returns the nearest intersection point to the passed position,
when mapped onto the grid plane
Snap(LINE) POSITION Returns the nearest intersection point to the intersection of the
passed line and the grid plane
Snap(POINTVECTOR) POSITION Returns the nearest intersection point to the intersection of the
passed point vector and the grid plane
SnaptoCentre(POSITION) POSITION Returns the nearest mesh cell centre point to the passed
position, when mapped onto the grid plane
SnaptoCentre(LINE) POSITION Returns the nearest mesh cell centre point to the intersection of
the passed line and the grid plane
SnaptoCentre(
POINTVECTOR)
POSITION Returns the nearest mesh cell centre point to the intersection of
the passed point vector and the grid plane
Snap(POSITION)
Snap(LINE)
GridPoint(REAL, REAL)
Objects, Members and Methods
Software Customisation Reference
February 1999
2-48
LINEARGRID object: Miscellaneous Methods
Thi s method does not modi fy the ori gi nal object.
NAME RESULT ACTION
Plane() PLANE Returns the grid as plane object
Plane()
Within(POSITION)
Within(POSITION)
LINEARGRID object: Methods Returning XYOffset
Thi s method does not modi fy the ori gi nal object.
NAME RESULT ACTION
XYOffset(Position) XYPOSITION Returns the position, mapped onto the grid plane, in terms of an XY
offset from the grid plane origin
XYOffset(POSITION)
Objects, Members and Methods
Software Customisation Reference
February 1999
2-49
LIST Object Forms and Menus
Members
NAME RESULT STATUS ACTION
Val REAL SETTABLE Selected field number of a single choice list
Val REAL ARRAY SETTABLE Selected field numbers of a multiple choice list
DText STRING ARRAY SETTABLE Set or get the entire list of display texts
DText[n] STRING GET ONLY Get the display text of the nth field
PickedField REAL GET ONLY Last picked list field number
RText STRING ARRAY SETTABLE Set or get the list of replacement texts
RText[n] STRING READ ONLY Get the replacement text of the nth field
Methods
NAME RESULT ACTION
FullName() STRING Get the full gadget name, e.g.!!Form.gadget
Name() STRING Get the gadgets name, e.g. gadget
Owner() FORM Get owning form.
Select( STRING1,
STRING2 )
NO RESULT Select specified item in a list. STRING1 must be Rtext or Dtext. STRING2
is the value to be selected.
Select(STRING1,
STRING ARRAY)
NO RESULT Select multiple choice list fields by value: STRING1 must be Rtext or
Dtext. STRING ARRAY contains the values to be selected.
Selection( ) STRING ARRAY Get selection Rtexts array for multi-choice list.
Selection( STRING) STRING
STRING ARRAY
Gives dtext (or rtext if no detext set ) of current selection.
Selection(STRING) STRING Get single choice list current selection: STRING must be Rtext or Dtext.
Selection(STRING) STRING ARRAY Get multiple choice list current selection: STRING must be Rtext or Dtext.
Selection() STRING Get current selection Rtext.
Clear() NO RESULT Clear list contents and selections.
ClearSelection() NO RESULT Clear list selections and for a single choice list resets current selection to
field 1.
SetPopup ( MENU ) NO RESULT Links the given menu with the gadget as a popup.
RemovePopup(
MENU)
NO RESULT Removes the given popup menu from the gadget.
GetPickedPopup() MENU Returns the name of the menu picked from a popup
Shown() BOOLEAN Get shown status
Type() STRING Get the GADGET type as a STRING
Objects, Members and Methods
Software Customisation Reference
February 1999
2-50
Command
Defi nes a si ngl e-choi ce or mul ti pl e-choi ce l i st gadget, and speci fi es i ts
posi ti on, tag, and cal l back text. Al so speci fi es whether the l i st al l ows a
si ngl e choi ce onl y or mul ti pl e choi ces and defi nes the area (wi dth and
hei ght) i n whi ch the di spl ayed part of the l i st wi l l appear. The arrays
defi ni ng the di spl ay texts and repl acement texts for the l i st opti ons are
set i n the forms defaul t constructor method.
.-------<---------.
/ |
>- LIST gname -*-- <fgpos> --------|
| |
|-- tagtext --------|
| |
|-- CALLback text --
|
|-- SINGle ---.
| |
|-- MULTiple -|
| |
-------------+- <vshap> -->
Defaults: A si ngl e choi ce l i st.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-51
MACRO Object PDMS
Member
NAME RESULT ACTION
Filename STRING Inter-DB mcaro filename (up to 17 characters).
From DB Source DB of inter-DB connection macro.
Number REAL Inter-DB macro number.
To DB Target DB of interDB connection macro.
Command
!ARRAY = MACROS
Returns an array of al l the MACRO objects i n the
project.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-52
MDB Object PDMS
Member
NAME RESULT ACTION
Name STRING Name of the MDB, up to 32 characters
Description STRING MDB description, up to 120 characters
Methods
None of these methods modi fy the ori gi nal object.
NAME RESULT ACTION
Current() ARRAY OF DBS Currentl databases as an array of DB objects
Deferred() ARRAY OF DBS Deferred databases as an array of DB objects
Mode() ARRAY OF STRINGS Returns NR or RW for each current DB of the MDB
Command
!ARRAY = MDBS Returns an array of MDB objects i n the project.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-53
MENU Object Forms and Menus
Members
NAME RESULT STATUS ACTION
PickedField STRING GET ONLY Returns the DTEXT of the last picked menu field
Callback STRING SETTABLE Sets the callback on the menu.
Methods
METHOD NAME RESULT ACTION
Owner() FORM Returns reference to owning form.
Name() STRING Returns menu objects simple name: Menu.
FullName() STRING Returns menu objects full name, i.e. !!Form.Menu
SetActive(STRING,
BOOLEAN )
NO RESULT Deactivates/activates menu field with Dtext STRING
Add( 'SEPARATOR' ) NO RESULT Append a SEPARATOR field.
Add( 'CALLBACK',
STRING1, STRING2 )
NO RESULT Append CALLBACK field with Dtext STRING1. The callback command is
given by STRING2.
Add( 'FORM', STRING1,
STRING2 )
NO RESULT Append FORM display field with Dtext STRING1, and the formname given
by STRING2.
Add( 'MENU', STRING1,
STRING2 )
NO RESULT Append MENU (pullright) field with Dtext STRING1, and the menuname
given by STRING2.
Add( 'TOGGLE',
STRING1, STRING2 )
NO RESULT Append TOGGLE field with Dtext STRING1. The callback command is
given by STRING2, which must be an open PML function.
Select(STRING,
BOOLEAN )
NO RESULT Set the selected status of TOGGLE field with Dtext given by STRING.
Selected( STRING ) BOOLEAN Get selected status of TOGGLE field with Dtext given by STRING.
Clear() NO RESULT Removes all menu fields from the menu.
Clear( STRING ) NO RESULT Removes menu fields starting with the one with Dtext STRING onwards.
Command
The MENU command creates a menu object bel ongi ng to the form.
The opti ons on the menu are created usi ng the menus Add method.
>--- MENU gname -->
Objects, Members and Methods
Software Customisation Reference
February 1999
2-54
Option Object Forms and Menus
Members
NAME RESULT STATUS ACTION
Val REAL SETTABLE Selected option number
DText STRING ARRAY SETTABLE Set or get the entire list of display texts
DText[n] STRING GET ONLY Get the display text of the nth option
RText STRING ARRAY SETTABLE Set or get the list of replacement texts
RText[n] STRING GETONLY Get the replacement text of the nth option
Methods
NAME RESULT ACTION
Clear() NO RESULT Clear gadget contents.
ClearSelection() NO RESULT Clears selection and returns to default of first in list.
FullName() STRING Get the full gadget name, e.g.!!Form.gadget
Name() STRING Get the gadgets name, e.g. gadget
Owner() FORM Get owning form.
Select( STRING1,
STRING2 )
NO RESULT Select specified item in a list. STRING1 must be Rtext or Dtext. STRING2
is the value to be selected.
Selection() STRING Get current selection Rtext.
Selection( STRING ) STRING Gives Dtext (or Rtext if no Dtext set ) of current selection. STRING must
be Rtext or Dtext.
SetPopup ( MENU ) NO RESULT Links the given menu with the gadget as a popup.
RemovePopup(
MENU)
NO RESULT Removes the given popup menu from the gadget.
GetPickedPopup() MENU Returns the name of the menu picked from a popup
Shown() BOOLEAN Get shown status
Type() STRING Get the GADGET type as a STRING
Objects, Members and Methods
Software Customisation Reference
February 1999
2-55
Command
The OPTION command defi nes an opti on gadget and speci fi es the posi ti on,
tag or pi xmap, and cal l back text of the opti on (or l i st button) gadget. Al so
sets the wi dth al l owed for di spl ayi ng the l i st opti ons when the gadget i s
sel ected. The arrays defi ni ng the di spl ay texts and repl acement texts for
the gadget shoul d be set i n the forms defaul t constructor method.
.-------<---------.
/ |
>-- OPTion gname --*-- <fgpos> --------|
| |
|-- tagtext --------|
| |
|-- CALLback text --|
| |
|-- TOOLTIP text ---|
|
|-- WIDth integer -----.
| |
-- PIXmap-+- <vshap> -|
| |
-----------+--->
Objects, Members and Methods
Software Customisation Reference
February 1999
2-56
ORIENTATION Object PDMS
Members
NAME RESULT STATUS ACTION
Alpha REAL SETTABLE The Alpha component
Beta REAL SETTABLE The Beta component
Gamma REAL SETTABLE The Gamma component
Origin DBREF SETTABLE The DB element which is the origin
Methods
None of these methods modi fy the ori gi nal object.
NAME RESULT ACTION
EQ(
ORIENTATION)
BOOLEAN TRUE if ORIENTATIONS are equal
LT(ORIENTATION) BOOLEAN TRUE if ORIENTATION is less than argument
String(FORMAT) STRING Convert ORIENTATION to a STRING
WRT(DBREF) ORIENTATION Convert to a new ORIENTATION with respect to given DB element
XDir() DIRECTION Return X component as a DIRECTION
YDir() DIRECTION Return Y component as a DIRECTION
ZDir() DIRECTION Return Z component as a DIRECTION
Objects, Members and Methods
Software Customisation Reference
February 1999
2-57
PARAGRAPH Object Forms and Menus
Members
NAME RESULT STATUS ACTION
Val STRING SETTABLE The paragraphs textual content as a string.
If it has a pixmap then the value will be the pathname of
the pixmap file as a string.
Background REAL SETTABLE Set or get Background Colour Number
Background STRING SET ONLY Set Background Colour Name
Methods
NAME RESULT ACTION
AddPixmap(
STRING, STRING,
STRING )
NO RESULT Adds pixmaps to be used for the unselected, selected and inactive states.
The last two are optional.
FullName() STRING Get the full gadget name, e.g.!!Form.gadget
Name() STRING Get the gadgets name, e.g. gadget
Owner() FORM Get owning form.
SetPopup ( MENU ) NO RESULT Links the given menu with the gadget as a popup.
RemovePopup(
MENU)
NO RESULT Removes the given popup menu from the gadget.
GetPickedPopup() MENU Returns the name of the menu picked from a popup
Shown() BOOLEAN Get shown status
Type() STRING Get the GADGET type as a STRING
Objects, Members and Methods
Software Customisation Reference
February 1999
2-58
Command
The PARAGRAPH command defi nes a paragraph and speci fi es i ts posi ti on,
di mensi ons (i n uni ts of character wi dths and l i ne hei ghts), and, opti onal l y
tag text or a pi xmap. Note that a paragraph gadget cannot have a
cal l back associ ated wi th i t. A paragraph gadget can have a tag, but i t i s
not di spl ayed.
>-- PARAgraph gname --+-- <fgpos> -------------.
| |
|-- BACKGround <colno> --|
| |
------------------------+---- continued>
continued >---+-- PIXMAP --+-- filename --.
| | |
| `----------------<vshap>-->
|
`-- TEXT text --------------+- <vshap>--.
| |
`-----------`-->
Notes: I f a paragraph contai ns text, and no di mensi ons are
speci fi ed, the resul t i s a si ngl e l i ne of wi dth equal to the
l ength of the text. I f you gi ve a wi dth whi ch i s not l ong
enough to contai n the text, i t wi l l be truncated.
I f your paragraph i s to contai n more than one l i ne of text,
you must speci fy a sui tabl e shape. The text, whi ch can
contai n newline characters wi l l be justi fi ed i n the area gi ven.
I f a pi xmap i s speci fi ed, the shape of the gadget must be
defi ned.
I f the paragrap i s to have i ts contents modi fi ed then the text
or pi xmap fi l e woul d normal l y be speci fi ed i n the forms
defaul t constructor method, rather than i n the gadget
defi ni ti on. Remember to defi ne the pi xmap usi ng the
paragraphs AddPixmap method or i ts .val member.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-59
PLANE Object 3D Geometry
Basic Plane Definition: Members
NAME RESULT STATUS ACTION
Orientation ORIENTATION SETTABLE Orientation of plane
Position POSITION SETTABLE Origin of plane
Basic Plane Definition: Methods
None of these methods modi fy the ori gi nal object.
NAME RESULT ACTION
String() STRING Returns the plane as a string
Direction(DIRECTION) DIRECTION Z component of the orientation, uses standard PDMS method of
maintaining X and Y components of the orientation
Towards(POSITION) NO RESULT Modifies the direction (Z component of the orientation) member
of the plane so it is directed to the position
Position
Direction(DIRECTION)
Towards(POSITION)
X
Y
Z
Orientation
Objects, Members and Methods
Software Customisation Reference
February 1999
2-60
PLANE Object: Methods Returning Positions
None of these methods modi fy the ori gi nal object.
NAME RESULT ACTION
Intersection(LINE) POSITION Returns the intersection point of the passed infinite line on the plane
definition
Intersection(POINT
VECTOR)
POSITION Returns the intersection point of the passed point vector on the plane
definition
Intersections(ARC) ARRAY OF
POSITIONS
Returns the intersection point of the passed arc on the plane definition
Intersection(PLANE, PLANE) POSITION Returns intersection position of the three planes
Line(REAL) LINE Returns a line of the given length in the direction of the plane normal.
PointVector() POINT-
VECTOR
Returns a point vector at the origin of the plane with a direction equal
to the normal of the plane.
ThreeDPosition(
XYPOSITION)
POSITION Returns 3D position of the XYPOSITION offset from the plane origin
Near(POSITION) POSITION Returns the nearest position on the plane definition of the passed
position
Intersection(LINE)
Intersection(PLANE, PLANE)
Near(POSITION)
ThreeDPosition(XYPOSITION)
Objects, Members and Methods
Software Customisation Reference
February 1999
2-61
PLANE Object: Methods Returning Lines
Thi s method does not modi fy the ori gi nal object.
NAME RESULT ACTION
Intersection(PLANE) LINE Returns the intersection line of the passed plane on the plane definition. The
start position of the line is the origin of the plane definition projected onto the
passed plane. The direction of the line is from the start to the position of the
passed plane projected onto the reference plane. If the start and end points
are coincident, a line of length 1000mm is returned with the start position being
defined as described above.
Intersection(PLANE)
PLANE Object: Methods Returning XYOffset
Thi s method does not modi fy the ori gi nal object.
NAME RESULT ACTION
XYOffset(Position) XYPOSITION Returns the position, mapped onto the plane, in term of an XY offset from
the plane origin
XYOffset(POSITION)
Objects, Members and Methods
Software Customisation Reference
February 1999
2-62
PLANTGRID Object Construction Aids
Basic Non-Regular Grid Definition: Members
NAME RESULT STATUS ACTION
Position POSITION SETTABLE Origin of the grid
Orientation ORIENTATION SETTABLE Orientation of the grid
XSpacings REAL ARRAY SETTABLE Array of spaces in the X direction, each space
is relative to the previous
YSpacings REAL ARRAY SETTABLE Array of spaces in the Y direction, each space
is relative to the previous
Basic Non-Regular Grid Definition: Members
None of these methods modi fy the ori gi nal object.
NAME RESULT ACTION
Xsize() REAL Maximum size in the X direction
Ysize() REAL Maximum size in the Y direction
OutofBounds(POSITION) BOOLEAN Returns whether point lies within the grid boundaries.
Ysize()
X
Y
Z
Orientation
Xsize()
XSpacing
YSpacing
Position
Objects, Members and Methods
Software Customisation Reference
February 1999
2-63
PML Object All
Method
NAME RESULT ACTION
GetPathName() STRING Extracts the pathname for a file in the PMLLIB searchpath.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-64
POINTVECTOR Object 3D Geometry
Basic Point Definition: Members
NAME RESULT STATUS ACTION
Direction DIRECTION SETTABLE Direction of point
Position POSITION SETTABLE Origin of point
Basic Point Definition: Method
Thi s method does not modi fy the ori gi nal object.
NAME RESULT ACTION
String() STRING Returns a pointvector as a string.
Position
Direction
Objects, Members and Methods
Software Customisation Reference
February 1999
2-65
POINTVECTOR Object Methods
None of these methods modi fy the ori gi nal object.
NAME RESULT ACTION
Offset(REAL)
POINTVECTOR
Returns the point vector offset in its direction by the passed
distance
Towards(POSITION)
POINTVECTOR
Returns the point vector with the original position and the
direction constructed from the position directed to the passed
position
Through(POSITION)
POINTVECTOR
Returns the point vector at the intersection of the point line with a
plane normal to the point line through the passed position
Through(POSITION)
Offset(REAL)
Towards(POSITION)
Intersection(
POINTVECTOR)
POSITION
Returns the intersection position of the point vectors.
Intersection(LINE)
POSITION
Returns the intersection position of the point vector with the
supplied line.
Intersection(PLANE)
POSITION
Returns the position at the intersection of the point vector with
the supplied plane
Intersection(PLANE)
Intersections(ARC)
ARRAY OF
POSITIONS
Returns the positions at the intersection of the point vector with
the supplied arc.
Plane()
PLANE
Returns a plane with an origin equal to the position of the point
vector and a normal direction equal to the point vector direction.
Line(REAL)
LINE
Returns a line with a start position equal to the position of the
point vector, a direction equal to the direction of the point vector
and a length equal to the supplied length.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-66
POSITION Object PDMS
Members
NAME RESULT STATUS ACTION
East REAL SETTABLE The East component
North REAL SETTABLE The North component
Up REAL SETTABLE The Up component
Origin DBREF SETTABLE The DB element that is the origin
Methods
None of these methods modi fi es the ori gi nal object.
NAME RESULT ACTION
Component(
DIRECTION)
REAL Magnitude of component in specified DIRECTION
EQ(POSITION) BOOLEAN TRUE if POSITIONS are the same
LT(POSITION) BOOLEAN TRUE if POSITION is less than argument
String(FORMAT) STRING Convert POSITION to a STRING
WRT(DBREF) POSITION Convert to a new POSITION with respect to given DB element
Angle (POSITION, POSITION) REAL Returns the angle between the passed two points about the
position object
ArcCentre( POSITION, POSITION,
POSITION, DIRECTION, REAL )
ARC Returns an arc using arc centre technique. The direction is the
normal viewing direction.
!Arc = !posX.ArcCentre(!posA,!posB,!dir,!radius)
POSITION C POSITION C
POSITION B
POSITION A
POSITION X
RADIUS
Objects, Members and Methods
Software Customisation Reference
February 1999
2-67
POSITION Object Methods (continued) PDMS
ArcCentre( POSITION, POSITION,
POSITION, DIRECTION, REAL )
ARC Returns an arc using arc centre technique. The direction is the
normal viewing direction. Please see diagram for full
explanation.
!Arc = !posX.ArcFillet(!posA,!posB,!dir,!radius)
POSITION B
POSITION X
POSITION A
RADIUS
ArcFillet( POSITION, POSITION,
DIRECTION, REAL )
ARC Returns an arc using arc centre technique. The direction is the
normal viewing direction. Please see diagram for full
explanation.
ArcRadius( POSITION, POSITION,
DIRECTION, REAL, BOOLEAN )
ARC Returns an arc using arc radius technique. The direction is the
normal viewing direction. The boolean selects the
minor(FALSE) or major(TRUE) arc .Please see diagram for full
explanation.
!Arc = !posX.ArcRadius(!posA,!posB,!dir,radius,!major)
RADIUS
POSITION B
POSITION A
POSITION X
MAJOR = FALSE
Objects, Members and Methods
Software Customisation Reference
February 1999
2-68
POSITION Object Methods (continued) PDMS
ArcThru( POSITION, POSITION,
DIRECTION )
ARC Returns an arc using arc through 3 points technique. The
direction is the normal viewing direction. Please see diagram
for full explanation.
!Arc = !posX.ArcThru(!posA,!posB,!dir)
POSITION X
POSITION A
POSITION B
ArcThru( POSITION,
POSITION,
DIRECTION, REAL )
ARC Returns an arc using arc through 3 points and radius technique. The
direction is the normal viewing direction. Please see diagram for full
explanation.
!Arc = !posX.ArcThru(!posA,!posB,!dir,!radius)
POSITION X
POSITION A
POSITION B
POSITION X
RADIUS
Arc3Lines( LINE, LINE,
LINE, DIRECTION )
ARC Returns a circle tjrough the 3 line tangent points. The 'this' position refers to
the zone in which the circle lies.
Direction(POSITION) BOOLEAN Returns the direction between the position and the supplied position
Distance(ARC) REAL Returns the distance between the position and the nearest point on the arc
line of the passed arc definition
MidPoint(POSITION) POSITION Returns the mid point between the two positions
Near(POSITION, REAL) BOOLEAN Returns true if the passed position is within the passed distance from the
position object
Objects, Members and Methods
Software Customisation Reference
February 1999
2-69
POSITION Object Methods (continued) PDMS
Offset(DIRECTION,
REAL)
POSITION Returns a position offset by the supplied length in the supplied direction
Plane(POSITION,
POSITION)
PLANE Returns a plane in which each of the supplied points lie.
Distance(LINE) REAL Returns the distance between the position and the nearest point on the
passed infinite line definition
Distance(PLANE) REAL Returns the distance between the position and the nearest point on the
passed plane definition
Distance(POSITION) REAL Returns the distance between the two positions
Line(POSITION) LINE Returns a line between the two positions, starting at the position object
MidPoint(POSITION) POSITION Returns the mid point between the two positions
Near(POSITION, REAL) BOOLEAN METHOD
NO EFFECT
Returns true if the passed position is within the
passed distance from the position object
Offset(DIRECTION,
REAL)
POSITION METHOD NO
EFFECT
Returns a position offset by the supplied length in the
supplied direction
Plane(POSITION,
POSITION)
PLANE METHOD NO
EFFECT
Returns a plane in which each of the supplied points
lie.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-70
PROJECT Object PDMS
Members
NAME RESULT ACTION
Name STRING The name of the Project, up to 120 characters.
Evar STRING Project environment variable, e.g. SAM000
Methods
NAME RESULT ACTION
Active() REAL Number of active users of the project
Code() STRING Project code, three characters, e.g. SAM
Description() STRING Project description, up to 120 characters.
Mbcharset() STRING Multibyte character set number
Message() STRING Project message (information about the project), up to 120 characters.
Name() STRING Project name
Number() STRING Project number, up to 17 characters.
Isglobal() BOOLEAN Whether project is a global project.
Dblist() ARRAY OF DB objects List of databases in the project.
Commands
!ARRAY = PROJECTS Returns an array of al l PROJECT objects whi ch have
project envi onment vari abl es set.
!PROJECTVAR = CURRENT PROJECT
Returns the current project object.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-71
RADIALGRID Object Construction Aids
Basic Radial Grid Definition: Members
NAME RESULT STATUS ACTION
Position POSITION SETTABLE Origin of the grid
Orientation ORIENTATION SETTABLE Orientation of the grid
Radii REAL ARRAY SETTABLE Radii of the grid.
Angles REAL ARRAY SETTABLE Angular spacing, from X axes (zero)
Position
X
Y
Z
Orientation
Radii
Angles
Objects, Members and Methods
Software Customisation Reference
February 1999
2-72
RADIALGRID Object (continued) PDMS
Snap(POSITION)
GridPoint(REAL, REAL)
Snap(LINE)
RadialPosition(REAL, REAL)
Angle[1]
Radius[1]
Radius[2]
Radius[3]
Objects, Members and Methods
Software Customisation Reference
February 1999
2-73
REAL Object PML Built-in Type
Methods
None of these methods modi fi es the ori gi nal object.
NAME RESULT ACTION
ABS() REAL Absolute value (make value positive)
ACos() REAL ACOS
ALog() REAL ALOG
ASin() REAL ASIN
ATan() REAL ATAN
ATanT(REAL) REAL ATANT
Between(REAL, REAL ) BOOLEAN TRUE if value lies in specified range including values specified
Boolean() BOOLEAN FALSE if value is zero, otherwise TRUE
Bore() BORE Convert to BORE (must be exact) dependent on current BORE units
Cosine() REAL COSINE
Dimension() STRING Give dimensions of value
Distance() STRING Convert to a distance using default settings
Distance(
BOOLEAN feet,
BOOLEAN us,
BOOLEAN fraction,
REAL precision,
BOOLEAN zeroes)
STRING Convert to a distance :
to feet & inches if feet (otherwise inches);
to US format if us (otherwise PDMS format);
use fraction if fraction (otherwise decimals);
use precision as largest denominator or precision decimal places;
output zeroes if zeroes (otherwise them)
EQ(BORE) BOOLEAN Comparison dependent on current BORE units
EQ(REAL) BOOLEAN TRUE if equal
GEQ(BORE) BOOLEAN Comparison dependent on current BORE units
GEQ(REAL) BOOLEAN TRUE if greater than or equal to another value
GT(BORE) BOOLEAN Comparison dependent on current BORE units
GT(REAL) BOOLEAN TRUE if greater than another value
INT() REAL Convert to whole number, rounding down
LEQ(BORE) BOOLEAN Comparison dependent on current BORE units
LEQ(REAL) BOOLEAN TRUE if less than or equal to another value
LOG() REAL LOG
LT(BORE) BOOLEAN Comparison dependent on current BORE units
LT(REAL) BOOLEAN TRUE if less than another value
NearestBore() BORE Convert to nearest BORE dependent on current BORE units setting
Nint() REAL Convert to nearest whole number (up or down)
Power(REAL) REAL Raise value to power
Real() REAL Convert to REAL (in this case a null operation)
Objects, Members and Methods
Software Customisation Reference
February 1999
2-74
REAL Object (continued) PML Built-in Type
NAME RESULT ACTION
SBetween(
REAL,REAL)
BOOLEAN TRUE if value lies in specified range excluding values specified
Sine() REAL SINE
Sqrt() REAL Square root of value
String(
STRING precision)
STRING Convert to STRING with precision specified as a STRING in the range D0
to D6
String(FORMAT) STRING Convert to STRING using settings in global FORMAT object
Tangent() REAL TANGENT
Objects, Members and Methods
Software Customisation Reference
February 1999
2-75
RGROUP Object Forms and Menus
Members
NAME RESULT STATUS ACTION
Val REAL SETTABLE Set or get RGROUP selected button number
Methods
None of these methods modi fi es the ori gi nal object.
NAME RESULT ACTION
FullName() STRING Get the full gadget name, e.g.!!Form.gadget
Name() STRING Get the gadgets name, e.g. gadget
Owner() FORM Get owning form.
Select(STRING) NO RESULT Select the button with textual value STRING.
Selection() STRING Get the text value of the selected button.
SetPopup ( MENU ) NO RESULT Links the given menu with the gadget as a popup.
RemovePopup(
MENU)
NO RESULT Removes the given popup menu from the gadget.
GetPickedPopup() MENU Returns the name of the menu picked from a popup
Shown() BOOLEAN Get shown status
Type() STRING Get the GADGET type as a STRING
Command
The RGROUP command puts you i nto Radi o Group Setup mode. You can
then use the add tag subcommand to defi ne i ndi vi dual radi o buttons.
I f you dont speci fy VERTI CAL or HORI ZONTAL arrangement of the
buttons then i t i s control l ed by the current setti ng of the PATH command.
You remai n i n Radi o Group Setup mode unti l you use the EXIT command.
Note: On NT al l radi o groups have a frame, so to ensure pl atform
compati bi l i ty we recommend the use of the FRAME keyword
al ways.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-76
Syntax:
.---------<--------.
/ |
>-- RGROUP gname --*-- fgpos ----------|
| |
|-- tagtext --------|
| |
|-- CALLback text --|
| |
|-- FRAME ----------|
| |
|-- VERTICAL -------|
| |
|-- HORIZONTAL -----|
| |
-------------------*-- continued>
.---------<----------------------.
/ |
/ .---------------. |
/ / | |
continued >--*--ADD TAG text--*-- SELECT text --| |
| | | |
| |-- CALLBack text-| |
| | | |
| -- nl ------------|
-- EXIT --->
Note that the SELECT text i s opti onal for each button and so i s a cal l back
stri ng for each button. I f you speci fy a gadget cal l back and a button
speci fi c cal l back then the gadget cal l back wi l l be i gnored for that button.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-77
SELECTOR Object Forms and Menus
Members
NAME RESULT STATUS ACTION
Val REAL SETTABLE Selected field number of a single choice list
Val REAL ARRAY SETTABLE Selected field numbers of a multiple choice list
DText STRING ARRAY SETTABLE Set or get the entire list of display texts
DText[n] STRING GET ONLY Get the display text of the nth field
PickedField REAL GET ONLY Last picked list field number
Methods
NAME RESULT ACTION
FullName() STRING Get the full gadget name, e.g.!!Form.gadget
Name() STRING Get the gadgets name, e.g. gadget
Owner() FORM Get name of owning form.
Shown() BOOLEAN Get shown status
Type() STRING Get the GADGET type as a STRING
Select( STRING1,
STRING2 )
NO RESULT Select specified item in a selector. STRING1 must be Rtext or Dtext.
STRING2 is the value to be selected.
Select(STRING1,
STRING ARRAY)
NO RESULT Select multiple choice selector fields by value: STRING1 must be Rtext or
Dtext. STRING ARRAY contains the values to be selected.
Selection(STRING) STRING Get single choiceselector current selection: STRING must be Rtext or
Dtext.
Selection(STRING) STRING ARRAY Get multiple choiceselector current selection: STRING must be Rtext or
Dtext.
SetPopup ( MENU ) NO RESULT Links the given menu with the gadget as a popup.
RemovePopup(
MENU)
NO RESULT Removes the given popup menu from the gadget.
GetPickedPopup() MENU Returns the name of the menu picked from a popup
Clear() NO RESULT Clear selector contents.
ClearSelection() NO RESULT Clear list selections and for a single choice list resets current selection to
field 1.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-78
Command
The SELECTOR command defi nes a database el ement sel ector gadget and
speci fi es i ts posi ti on, tag, and cal l back text. Al so speci fi es whether the
sel ector al l ows a si ngl e choi ce onl y or mul ti pl e choi ces and defi nes the
area (wi dth and hei ght) i n whi ch the di spl ayed part of the l i st wi l l
appear. Al so al l ows you to speci fy whi ch parts of the hi erarchy are shown
and whether or not these are updated automati cal l y duri ng database
navi gati on.
.-------<-------.
/ |
>- SELector gname -*- <fgpos> -------|
| |
|- tagtext -------|
| |
|- CALLback text -
|
|- SINGle -.
| |
|----------`- <vshap> DATAbase -+- MEMbers -.
| | |
| |- OWNers --|
| | |
| -----------+-AUTO-.
| | |
| ------`-->
|
`- MULTiple <vshap> DATAbase -+- MEMbers -.
| |
|- OWNers --|
| |
-----------`-->
Defaults: A si ngl e choi ce l i st.
I f DATABASE i s not qual i fi ed, defaul t i s Members plus
Owners.
Auto update off.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-79
SESSION Object PDMS
Members
NAME RESULT STATUS ACTION
UniqueID STRING SETTABLE Internal ID
Name STRING SETTABLE Session Name
Login STRING SETTABLE Users login ID
Host STRING SETTABLE ID of the Machine running the session
Entered STRING SETTABLE Time of entering PDMS
IsCurrent BOOLEAN SETTABLE TRUE for Users own SESSION object
Methods
None of these methods modi fi es the ori gi nal object.
NAME RESULT ACTION
Current() ARRAY OF DB List of Current DBs in the MDB of the SESSION object
Deferred() ARRAY OF DB List Deferred DBs in the MDB of the SESSION object
MDB() MDB The current MDB of the SESSION
Mode() ARRAY OF
STRING
List of potential access modes as R , RW or N for each of the
current DBs
Modified() BOOLEAN TRUE if database has been modified
Module() STRING Name of the current PDMS module
Status() ARRAY OF DB List of current access modes as R , RW or N for each of the current
DBs
User() USER The user of this SESSION object
Command
!SESSION = CURRENT SESSION
Returns the current sessi on object.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-80
STRING Object PML Built-in Type
Methods
None of these methods modi fi es the ori gi nal object.
NAME RESULT ACTION
After(
STRING two)
STRING Return sub-string following leftmost occurrence of sub-string two
Before(
STRING two)
STRING Return sub-string before leftmost occurrence of sub-string two
Block() BLOCK Make string into a block for evaluation
Boolean() BOOLEAN TRUE if string is TRUE, T, YES or Y
FALSE if string is FALSE, F, NO,or N
Bore() BORE Convert STRING to a BORE (exact conversion - see also
NEARESTBORE)
Bore(FORMAT) BORE Convert STRING to a BORE using the settings in the global FORMAT
object
DBRef() DBREF Convert STRING to a DBREF
DBRef(FORMAT) DBREF Convert STRING to a DBREF using the settings in the global FORMAT
object
Direction() DIRECTION Convert STRING to a DIRECTION
Direction(
FORMAT)
DIRECTION Convert STRING to a DIRECTION using the settings in the global
FORMAT object
DLength() REAL As LENGTH but for multibyte characters
DMatch(STRING) REAL As MATCH but for multibyte characters
DSubstring(
REAL)
STRING As SUBSTRING but for multibyte characters
DSubstring(
REAL, REAL)
STRING As SUBSTRIING but for multibyte characters
Empty() BOOLEAN TRUE for empty zero-length string
Length() REAL Number of characters in string
LowCase() STRING Convert string to lower case
LT(STRING) BOOLEAN Comparison using ASCII collating sequence
Match(
STRING two)
REAL Location of start of sub-string two within first string - zero returned if not
found
MatchWild(
STRING two)
BOOLEAN TRUE if strings are the same. STRING two may contain wildcard
characters:
* for any number of characters
? for any single character.
MatchWild(
STRING two,
STRING multiple)
BOOLEAN TRUE if strings are the same as above but multiple redefines the
wildcard for any number of characters
Objects, Members and Methods
Software Customisation Reference
February 1999
2-81
STRING Object (continued) PML Built-in Type
NAME RESULT ACTION
MatchWild(
STRING two,
STRING multiple,
STRING single)
BOOLEAN TRUE if strings are the same as above but multiple redefines the
wildcard for any number of characters and single also redefines that for
a single character.
Occurs(
STRING)
REAL Returns the number of occurrences of the given string.
Orientation() ORIENTATION Convert STRING to an ORIENTATION
Orientation(
FORMAT !!format)
ORIENTATION Convert STRING to an ORIENTATION using the settings in the global
!!format
Part(REAL nth) STRING Extract nth field from string where fields are delimited by space, tab or
newline.
Part(REAL nth, STRING
delim)
STRING Extract nth field from string where fields are delimited by delim
Position() POSITION Convert STRING to a POSITION
Position(
FORMAT !!format)
POSITION Convert STRING to a POSITION using the settings in the global
!!format object
REAL() REAL Convert to a number
Replace(STRING two,
STRING three )
STRING Replace all occurrences of sub-string two with sub-string three
Replace(
STRING two, STRING
three,
REAL n)
STRING Replace all occurrences of sub-string two with sub-string three starting
at the nth occurrence (or -nth occurrence from the end)
Replace(
STRING two,
STRING three, REAL n,
REAL count)
STRING Replace count occurrences of sub-string two with sub-string three
starting at the nth occurrence (or -nth occurrence from the end)
Split() ARRAY Split string into an ARRAY of STRINGS at space (multiple spaces
compressed)
Split(
STRING delim)
ARRAY Split string into an ARRAY of STRINGS at delim (multiples of delim not
compressed)
String(FORMAT) STRING Convert STRING to a STRING using the settings in the global FORMAT
object
Substring(
REAL index)
STRING Returns a sub-string from index to the end of the string
Substring(REAL index,
REAL nchars)
STRING Returns a sub-string, nchars in length, starting at index
Trim() STRING Remove initial and trailing spaces
Trim(
STRING options )
STRING Remove initial spaces (options =L), trailing spaces (options = R) or both
(options =LR);
Objects, Members and Methods
Software Customisation Reference
February 1999
2-82
STRING Object (continued) PML Built-in Type
NAME RESULT ACTION
Trim(
STRING options,
STRING char)
STRING Reduce multiple occurrences of char to a single occurrence throughout
the string (options = M)
UpCase() STRING Convert string to upper case
VLogical() BOOLEAN Evaluate STRING as a BOOLEAN
VText() STRING Evaluate STRING as a STRING
VValue() REAL Evaluate STRING as a REAL
Objects, Members and Methods
Software Customisation Reference
February 1999
2-83
TEAM Object PDMS
Members
NAME RESULT ACTION
Name STRING Name of the TEAM, up to 32 characters
Description STRING Team description, up to 120 characters
Methods
None of these methods modi fi es the ori gi nal object.
NAME RESULT ACTION
DbList() ARRAY OF DB List of DBs owned by the TEAM
UserList() ARRAY OF USER List of USERs in the TEAM
Command
!ARRAY = TEAMS Returns an array of TEAMs.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-84
TEXT Object Forms and Menus
Members
NAME RESULT STATUS ACTION
Val STRING SETTABLE Set or get the contents of STRING type TEXT field
Val REAL SETTABLE Set or get the contents of REAL type TEXT field
Val BOOLEAN SETTABLE Set or get the contents of BOOLEAN type TEXT field
Val as defined SETTABLE Set or get the contents of the field as the type defined
DataType STRING GET ONLY Get the type of the field
Echo BOOLEAN GET ONLY Get the Echo Status
Format STRING GET ONLY Get the global format name of the TEXT field
Scroll REAL GET ONLY Get the Scroll Width
Method
NAME RESULT ACTION
FullName() STRING Get the full gadget name, e.g.!!Form.gadget
Name() STRING Get the gadgets name, e.g. gadget
Owner() FORM Get owning form.
SetFocus() NO RESULT Set the keyboard focus immediately to this text gadget.
Clear() NO RESULT Clear gadget contents.
SetEditable
(BOOLEAN )
NO RESULT Sets the editable status for the field.
SetFocus() NO RESULT Move keyboard focus to this Text gadget.
SetPopup ( MENU ) NO RESULT Links the given menu with the gadget as a popup.
RemovePopup(
MENU)
NO RESULT Removes the given popup menu from the gadget.
GetPickedPopup() MENU Returns the name of the menu picked from a popup
Shown() BOOLEAN Get shown status
Type() STRING Get the GADGET type as a STRING TEXT
Objects, Members and Methods
Software Customisation Reference
February 1999
2-85
Command
The TEXT command defi nes a text entry fi el d gadget and speci fi es the
posi ti on, tag, si ze and cal l back text of a text entry fi el d gadget. Al so
speci fi es the maxi mum l ength of the stri ng whi ch may be scrol l ed i n the
gadget, and the type of data whi ch i t wi l l accept, together wi th a format
object speci fyi ng how the text i s to appear and be i nterpreted. Al so al l ows
you to speci fy that the text entered i s not di spl ayed on the screen (for
enteri ng passwords, for exampl e).
.--------<-------------.
/ |
>-- TEXT gname --*-- <fgpos> -------------|
| |
|-- tagtext -------------|
| |
|-- TOOLTIP text --------|
| |
|-- CALLback text -------
|
| .-------------------.
| / |
`--*-- WIDth integer ----|
| |
|-- SCRoll integer ---|
| |
|---NOEcho------------|
|
-- IS --+-- STRING --.
| |
|-- REAL ----|
| |
|-- BOOLEAN -|
| |
`-- word ----+-- FORMAT gvarnm --.
| |
`------------------`--->
The I S word syntax al l ows for any user defi ned data type to be used, but
thi s wi l l onl y work sati sfactori l y i f a sui tabl e FORMAT object i s suppl i ed.
Note: The maxi mum stri ng l ength (SCRoll integer) i s 256 characters,
and the defaul t i f you do not speci fy a l ength i s 132.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-86
TEXTPANE Object Forms and Menus
Members
NAME RESULT STATUS ACTION
Val STRING ARRAY SETTABLE Get or set the contents of the text pane.
Count REAL GET ONLY Get or set the number of lines of text.
Methods
NAME RESULT ACTION
FullName() STRING Get the full gadget name, e.g.!!Form.gadget
Name() STRING Get the gadgets name, e.g. gadget
Owner() FORM Get owning form.
Clear() NO RESULT Clear all lines from this Textpane
Line( REAL ) STRING Gets text at given line
SetLine( REAL,
STRING )
NO RESULT Replace specified line numbe by STRING.
CurPos() REAL ARRAY[2] Get cursor position (line, character).
SetCurPos(REAL[2] ) NO RESULT Set cursor position (line, character).
SetEditable(
BOOLEAN)
NO RESULT Set edit status TRUE / FALSE.
SetFocus() NO RESULT Set the keyboard focus immediately to this Textpane gadget.
SetPopup ( MENU ) NO RESULT Links the given menu with the gadget as a popup.
RemovePopup(
MENU)
NO RESULT Removes the given popup menu from the gadget.
GetPickedPopup() MENU Returns the name of the menu picked from a popup
Shown() BOOLEAN Get shown status
Type() STRING Get the GADGET type as a STRING
Objects, Members and Methods
Software Customisation Reference
February 1999
2-87
Command
The TEXTPANE command defi nes a text pane gadget and speci fi es i ts
posi ti on and tag. Thi s i s a mul ti -l i ne text i nput fi el d, al l owi ng the user to
enter a number of l i nes of text (ei ther di rectl y or usi ng cut and paste).
Note that no cal l back stri ng i s al l owed wi th thi s gadget, as there i s no
way of knowi ng when a user has fi ni shed enteri ng text.
The val ue of a TEXTPANE i s i ts contents, hel d as an array of stri ngs, where
each l i ne i s an el ement of the array.
.--------<--------.
/ |
>-- TEXTPane gname --*-- tagtext --------|
| |
|-- <fgpos> --------
|
-- <vshap> --->
Objects, Members and Methods
Software Customisation Reference
February 1999
2-88
TOGGLE Object Forms and Menus
Member
NAME RESULT STATUS ACTION
Val BOOLEAN GET/SET Toggles value between TRUE and FALSE
Methods
NAME RESULT ACTION
AddPixmap( STRING,
STRING, STRING )
NO RESULT Adds pixmaps to be used for the unselected, selected and inactive
states. The last two are optional.
FullName() STRING Get the full gadget name, e.g.!!Form.gadget
Name() STRING Get the gadgets name, e.g. gadget
Owner() FORM Get owning form.
SetPopup ( MENU ) NO RESULT Links the given menu with the gadget as a popup.
RemovePopup( MENU) NO RESULT Removes the given popup menu from the gadget.
GetPickedPopup() MENU Returns the name of the menu picked from a popup
Shown() BOOLEAN Get shown status
Type() STRING Get the GADGET type as a STRING
Command
The TOGGLE command defi nes a toggl e gadget, and speci fi es i ts posi ti on,
tag, and cal l back text. Al so al l ows you to speci fy di fferent text stri ngs for
the defaul t On and Off states.
.-------<--------------.
/ |
>-- TOGGLE gname --*-- <fgpos> -------------|
| |
|-- PIXMAP <vshap> ------|
| |
|-- tagtext -------------|
| |
|-- CALLback text ------|
| |
|-- TOOLTIP text --------|
|
|-- STATES text1 text2 --|
| |
------------------------`--->
where text1 corresponds to the Off setti ng and text2
corresponds to the On setti ng .
Objects, Members and Methods
Software Customisation Reference
February 1999
2-89
Defaults: Defaul t text stri ngs for the two toggl e setti ngs are Off and
On.
Defaul t state when a toggl e i s fi rst defi ned i s Off; i .e. button
rai sed.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-90
USER Object PDMS
Member
NAME RESULT ACTION
Name STRING The name of the USER, up to 32 characters
Description STRING Users description, up to 120 characters
Access STRING Users access rights (FREE, GENERAL, RESTRICTED)
Method
Thi s method does not modi fy the ori gi nal object.
NAME RESULT ACTION
TeamList() ARRAY OF USER List of TEAMs including this USER
Password() STRING The Users password, up to 6 characters preceded by /.
Command
!ARRAY = USERS Returns an array of USER objects i n current project.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-91
VIEW Objects: AREA View Forms and Menus
Members
NAME RESULT STATUS ACTION
Limits REAL ARRAY[4] SETTABLE Get or set Limits box [x1,y1,x2,y2]
Borders BOOLEAN SETTABLE Get or set Borders ON (TRUE) or OFF (FALSE)
Background REAL SETTABLE Get or set Background Colour Number
Background STRING SET ONLY Set Background Colour Name
Contents REAL ARRAY[2] SETTABLE Get or set User Contents ID
Defcall STRING SETTABLE Get or set default interaction callback
Height REAL GET ONLY Get View Height
Highlight REAL SETTABLE Get or set Highlight Colour Number
Highlight STRING SET ONLY Set Highlight Colour Name
Prompt GADGET SETTABLE Get or Set User Prompt paragraph gadget
Subtype STRING GET ONLY Get Subtype of graphic view
Width REAL GET ONLY Get View Width
Methods
NAME RESULT ACTION
Clear() NO RESULT Clear View contents
SetSize(REAL, REAL) NO RESULT Set view size to WIDTH, HEIGHT.
Command
The VIEW ... AREA command puts you i nto Area Vi ew Setup mode. You
remai n i n Area Vi ew Setup mode unti l you use the EXIT command.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-92
Syntax:
.--------------------------------------------------.
/ |
(AREa) --*- <vshap> -----------------------------------. |
| | |
|- PUT - <sgid> ------------------------------| |
| | |
|- LIMits <uval> <uval> - TO - <uval> <uval> -| |
| | |
|- SETColour - <colno> -----------------------| |
| | |
|- SETHighlight - <colno> --------------------+- nl -|
| |
|- <cursor> -----------------------------------------|
| |
|- <border> -----------------------------------------|
| |
|-- <pml> -------------------------------------------
|
-- EXIT -->
where <sgi d> i s ei ther CE (current el ement) or the name of a
2D graphi cal el ement (e.g., a DRAFT Sheet, Vi ew, Li brary,
etc.) and <col no> i s any val i d DRAFT col our defi ni ti on.
<cursor> i s the syntax for sel ecti ng the cursor type, as
fol l ows:
>-- CURSortype ---+-- POINTER ----.
| |
|-- NOCURSOR ---|
| |
|-- PICK -------|
| |
|-- PICKPLUS ---|
| |
-- CROSSHAIR --+-->
<border> al l ows control of zoomi ng and panni ng:
>--- BORDers --+-- ON --.
| |
-- OFF -+--->
Objects, Members and Methods
Software Customisation Reference
February 1999
2-93
VIEW Object: PLOT View Forms and Menus
Shared Members
NAME RESULT STATUS ACTION
Background REAL SETTABLE Get or set Background Colour Number
Background STRING SET ONLY Set Background Colour Name
Borders BOOLEAN SETTABLE Get or set Borders ON (TRUE) or
OFF (FALSE)
Contents REAL ARRAY[2] SETTABLE Get or set User Contents ID
Defcall STRING SETTABLE Get or set default interaction callback
Height REAL GET ONLY Get View Height
Highlight REAL SETTABLE Get or set Highlight Colour Number
Highlight STRING SET ONLY Set Highlight Colour Name
Prompt GADGET SETTABLE Get or Set User Prompt paragraph gadget
Subtype STRING GET ONLY Get Subtype of graphic view
Width REAL GET ONLY Get View Width
Shared Method
Thi s method does not modi fy the ori gi nal object.
NAME RESULT ACTION
SetSize(REAL, REAL) NO RESULT Set view size to WIDTH, HEIGHT.
Add(STRING) NO RESULT Add plot file with name given by STRING. Replaces given plot file if
any.
Clear() NO RESULT Clear gadget contents
Objects, Members and Methods
Software Customisation Reference
February 1999
2-94
VIEW Objects: VOLUME Views Forms and Menus
Members
NAME RESULT STATUS ACTION
Background REAL SETTABLE Get or set Background Colour Number
Background STRING SET ONLY Set Background Colour Name
Contents REAL ARRAY[2] SETTABLE Get or set User Contents ID
Defcall STRING SETTABLE Get or set default interaction callback
Height REAL GET ONLY Get View Height
Highlight REAL SETTABLE Get or set Highlight Colour Number
Highlight STRING SET ONLY Set Highlight Colour Name
Prompt GADGET SETTABLE Get or Set User Prompt paragraph gadget
Subtype STRING GET ONLY Get Subtype of graphic view
Width REAL GET ONLY Get View Width
Borders BOOLEAN SETTABLE Get or set Borders ON (TRUE) or
OFF (FALSE)
Direction REAL ARRAY[3] SETTABLE Direction vector [dE,dN,dU]
EyeMode BOOLEAN SETTABLE TRUE for Eyemode FALSE for Modelmode
Limits REAL ARRAY[6] SETTABLE Limits box [E1,E2,N1,N2,U1,U2]
Mousemode STRING SETTABLE ZOOM, PAN, ROTATE, WALK
Projection STRING SETTABLE PERSPECTIVE or PARALLEL.
Radius REAL SETTABLE View Radius distance >0
Range REAL SETTABLE Range distance >0
RestoreView REAL Restores view saved as given view number.
SaveView REAL Saves view as given view number, in the range 1 to 4.
Shaded BOOLEAN SETTABLE TRUE for shaded FALSE for wireline
Step REAL SETTABLE Step size >0
Through REAL ARRAY[3] SETTABLE Through point [E,N,U]
WalkThrough BOOLEAN SETTABLE TRUE for Walkthrough (equivalent to Eyemode)
Shared Method
NAME RESULT ACTION
SetSize(REAL, REAL) NO RESULT Set view size to WIDTH, HEIGHT.
RestoreView(REAL) NO RESULT Restores view saved as given view number
SaveView(REAL) NO RESULT Saves view as given view number
Objects, Members and Methods
Software Customisation Reference
February 1999
2-95
Command
The VIEW ... VOLUME command puts you i nto Vol ume Vi ew Setup mode.
You remai n i n Vol ume Vi ew Setup mode unti l you use the EXIT command.
>--+-- LOok --+-- <dir> ---------------------.
| | |
| |-- THRough---. |
| | | |
| |-- FROM -----| |
| | | |
| -- TOWards --+-- <pos> ----. |
| | | |
| |-- <gid> ----| |
| | | |
| -- ID @ nl --+--|
| |
|-- ISOmetric --+-- value --. |
| | | |
| -----------+-------------|
| |
|-- PLAN ---------------------------------|
| |
|-- ELEVation -- (one of N/S/E/W/X/Y) ----|
| |
|-- CLIPping -----+-- ON --. |
| | | |
| -- OFF -+--------------|
| |
|-- CAPping ------+-- ON --. |
| | | |
| -- OFF -+--------------|
| |
|-- PERSPective --+-- ON --. |
| | | |
| -- OFF -+--------------|
| |
|-- WALKthrough --+-- ON --. |
| | | |
| -- OFF -+--------------|
| |
|--RADius --- value ----------------------|
| |
|--STEP ----- value ----------------------|
| |
--RANGE ---- value ----------------------+--->
<col no> i s any val i d DESI GN col our defi ni ti on; ei ther a col our descri pti on or a
col our number.
<cursor> control s the cursor type:
Defaults: Borders: On.
Shadi ng: Off.
Vi ew di recti on: Pl an or Look Down.
Li mi ts: Auto (set to current vi ew l i mi ts).
Objects, Members and Methods
Software Customisation Reference
February 1999
2-96
VIEW Object: ALPHA Views Forms and Menus
Members
NAME RESULT STATUS ACTION
Channel STRING SETTABLE Get or set the assigned channel
Methods
NAME RESULT STATUS ACTION
Clear() NO RESULT MODIFIES Clear all lines from the Alpha TTY window
SetFocus() NO RESULT MODIFIES Set the keyboard focus immediately to this Alpha gadget.
Objects, Members and Methods
Software Customisation Reference
February 1999
2-97
XYPosition Object 3D Geometry
Members
NAME RESULT STATUS ACTION
X REAL SETTABLE X component of 2D Position
Y REAL SETTABLE Y component of 2D Position
Method
Thi s method does not modi fy the ori gi nal object.
NAME RESULT ACTION
String() STRING Returns a XYPosition as a string
Objects, Members and Methods
Software Customisation Reference
February 1999
2-98
Deprecated Gadgets
PIXMAP VIEW GADGET Use Paragraph or Button wi th a PIXMAP
RADIOGROUP GADGET Use new RGROUP object
SELECTOR GADGET Use LI ST OBJECT i f possi bl e
USERDATA Use Form Vari abl es
Software Customisation Reference A-1
February 1999
Appendix A: Communicating with PEGS
Thi s chapter expl ai ns how to send commands to PEGS from the UI
modul e FMLayer, and how to handl e any responses to these commands
whi ch may be returned from PEGS to FMLayer.
The PEGS commands avai l abl e from FMLayer cover the ful l PEGS
functi onal i ty, together wi th some speci al commands for connecti ng to
PEGS and for sendi ng commands i n batches.
A.1 Directing Commands to PEGS
I n order to di rect any command l i ne to PEGS, prefi x the l i ne wi th the
command
PEGS
The remai ni ng part of the l i ne may be:
A command to create a connecti on between FMLayer to a current
PEGS process
Any standard PEGS command sequence
Thi s prefi x i s i ncorporated i nto al l commands descri bed i n the remai nder
of thi s chapter.
A.2 Setting Connections Between FMLayer and PEGS
Before commands can be sent to PEGS from FMLayer, a l i nk must be set
up between the two processes. Communi cati on takes pl ace by means of
pai rs of pi pes.
The commands to connect and di sconnect pi pes are the same for Uni x and
NT systems, but there are si gni fi cant di fferences between named pi pes on
each of these systems and these are descri bed after the connect and
di sconnect commands.
Named pi pes are the communi cati on channel s vi a whi ch commands are
sent to Pegs and repl i es are returned to FMLayer. These connecti ons wi l l
normal l y be made by the UI macros.
Communicating with PEGS
Software Customisation Reference
February 1999
A-2
PEGS CONNECT integer COMMANDS text
creates a connecti on to pi pe number integer, wi th the pi pe name
text, for sendi ng commands to PEGS. Pi pe integer becomes the
current connecti on.
PEGS CONNECT integer RECORDING text
creates a connecti on to pi pe number integer, wi th the pi pe name
text, for recei vi ng commands from PEGS. Pi pe integer becomes the
current connecti on.
PEGS DISCONNECT integer
cl oses the connecti on to pi pe number integer.
PEGS RECONNECT integer
changes the current pi pe to number integer when more than one
connecti on i s acti ve at the same ti me.
UNIX
Uni x named pi pes are speci al fi l es that are created wi th the mknod
command. These can be created before starti ng PEGS and FMLayer i n
the startup scri pts, or after FLMayer has been started by UI macros. The
name of the pi pe i s a pathname and thi s i s the pi pe name used i n the
PEGS CONNECT commands. A si ngl e pai r of pi pes can be used for a whol e
PEGS sessi on where di fferent PEGS modul es are run i n sequence.
New pi pes shoul d be created for each PEGS sessi on and can then be
del eted after the sessi on has ended.
I f a second PEGS sessi on i s started on one Uni x machi ne i t must use
named pi pes wi th di fferent pathnames.
NT
Wi ndows NT has named pi pes but unl i ke Uni x these onl y exi st whi l e
they are connected to a runni ng program. A pai r of named pi pes are
created when each PEGS modul e i s started and these are destroyed when
the next modul e change occurs. The best way to manage the
requi rements of modul e changi ng i s to use two pai rs of pi pes al ternatel y.
The pi pes must be gi ven names that are uni que but al so known to both
the UI macros and each of the PEGS modul es. Thi s i s done by
concatenati ng the envi ronment vari abl es and val ues. For exampl e:
LAYER_PEGS_PIPE is a user defined name
Communicating with PEGS
Software Customisation Reference
February 1999
A-3
A.3 Sending Commands to PEGS
Al l messages recei ved whi l e communi cati ng wi th PEGS are echoed to the
command wi ndow by defaul t (you can swi tch thi s off by usi ng the PEGS
ECHO OFF command). Some PEGS modul es wi l l , however, send messages
from thei r startup sequences before you enter any commands from an
appl i cati on. I n order to recei ve such messages, enter the command
PEGS STARTRECORDING
as your fi rst i nput.
u To send any command di rectl y to PEGS, encl ose the command
stri ng between cl osi ng quotes and prefi x i t wi th the word PEGS:
PEGS command_string
The responses recei ved are stored i n PML vari abl es and array vari abl es,
from whi ch the data can be read and handl ed by the appl i cati on macros.
The vari abl es used are as fol l ows:
!!PEGS.RESULT An array vari abl e hol di ng the whol e of the response from
PEGS i n the format one message l i ne per array el ement.
!!PEGS.PROMPT A vari abl e hol di ng the l ast l i ne of the response onl y. By
conventi on, thi s often contai ns a context prompt to
i ndi cate the current PEGS command status.
!!PEGS.QUERY An array vari abl e hol di ng accumul ated query l i nes
sel ected from the response to a PEGS command. Thi s i s
onl y val i d whi l e PEGS i s operati ng i n a questi on/answer
sequence i nstead of the normal command processor mode,
such as when runni ng a report i nteracti vel y. The content
of !!PEGS.QUERY forms a text descri pti on of the next
i nput requi red from the user, such as output fi l ename.
The answer wi l l be sent to PEGS as the next command.
The end of the questi on/answer sequence i s i ndi cated by
!!PEGS.QUERY becomi ng unset after a questi on has been
answered.
!!PEGS.NAME A vari abl e hol di ng the l astbutone l i ne of the response.
By conventi on, thi s often contai ns an el ement name to
i ndi cate the current PEGS command status.
!!PEGS.ERROR An array vari abl e whi ch hol ds error message l i nes
sel ected from the response to a PEGS command. That i s,
i t hol ds those l i nes from !!PEGS.RESULT whi ch descri be
an error condi ti on, i f any.
!!PEGS.MEMBERS An array vari abl e hol di ng the members l i st.
!!PEGS.CEINDEX A vari abl e hol di ng the current el ement posi ti on i n the
members l i st.
Communicating with PEGS
Software Customisation Reference
February 1999
A-4
u To create a copy of the response to a PEGS command, use the
command format
PEGS variable_id command_string
where variable_id defi nes an array vari abl e. I n thi s case
variable_id wi l l contai n a copy of the contents of
!!PEGS.RESULT, so that you can process the data i n di fferent
ways wi thi n the appl i cati on macros..
u To i nstruct PEGS that the response to a command i s requi red i n a
terse form onl y (that i s, as unformatted raw data), use the
command formats
PEGS RAW command_string
PEGS RAW variable_id command_string
You mi ght, for exampl e, use thi s opti on wi th the POSITION
command, from whi ch an appl i cati on mi ght need onl y the
posi ti ondefi ni ng numbers wi thout the usual associ ated text. The
PEGS command woul d then take the form
PEGS RAW POS
u To send a sequence of PEGS commands i n batch mode, rather
than sendi ng them one at a ti me as they are entered, prefi x each
command wi th BATCH. Each such batch command i s stored i n a
buffer unti l a nonbatch command i s entered, at whi ch poi nt al l
commands from the buffer are sent to PEGS i n the order i n whi ch
they were entered.
Batch mode entry provi des a way of i mprovi ng performance when
enteri ng a sequence of commands whi ch do not make enqui ri es of
PEGS; that i s, commands whi ch do not generate output messages
whi ch must be recei ved back from PEGS. For exampl e, the
fol l owi ng batch sequence adds Li ne el ements to a PI DRAFT
drawi ng:
PEGS BATCH ED
PEGS BATCH LIN
PEGS BATCH AT 100 100
PEGS BATCH AT 100 400
PEGS BATCH AT 400 400
PEGS BATCH AT 400 100
PEGS BATCH AT 100 100
PEGS AT 100 100(nonbatch command sends sequence to PEGS)
Communicating with PEGS
Software Customisation Reference
February 1999
A-5
A.4 Some Special FMLayer Commands
I n addi ti on to the standard PEGS commands, there are some speci al
commands as fol l ows:
u To speci fy whether or not messages recei ved from PEGS are
echoed to the command wi ndow, enter
PEGS ECHO ON
PEGS ECHO OFF
The defaul t i s PEGS ECHO ON.
u To query the current state of a PEGS communi cati on pi pe, enter
PEGS LIST integer
where integer i s the pi pe number. The resul t gi ves detai l s of the
speci fi ed pi pe and of the current pi pe; for exampl e:
Command pipe is 1
#1 Command: Pipe.in Recording: Pipe.out
u To query the current state of al l PEGS communi cati on
parameters, enter
PEGS LIST ALL
The resul t wi l l have the fol l owi ng format:
Command pipe is 1
Echo on, Batch mode off, Results off
Sync Data on, Sync GUI on
#1 Command: Pipe.in Recording: Pipe.out
(The Sync Data and Sync GUI setti ngs are rel evant for
mai ntenance purposes onl y and may be i gnored.)
A.5 Handling Errors Returned from PEGS
The response from PEGS to an FMLayer command al ways i ncl udes the
error status, whi ch i s made up of nn, i s the PEGS modul e number and
mmmm, the error number. I f the command produced no errors, both nn
and mmmm are set to zero.
I f an error message i s recei ved, the appl i cati on converts the PEGS error
i nto an FMLayer error wi th the standard format (78, nnmmmm) ...
whi ch can then be handl ed by the appl i cati on macros. For exampl e, the
PI DRAFT error message
PID7003 WARNING: Flow reversed at attachment point
Communicating with PEGS
Software Customisation Reference
February 1999
A-6
i s converted i nto the error message
(78,147003) WARNING: Flow reversed at attachment point
si nce PI DRAFT has the modul e number 14.
The PEGS modul e numbers returned i n thi s way are as fol l ows:
1 ACCESS (ACS)
3 PEGS Conversi on Program (PCP)
4 DI CTI ONARY (DI C)
6 FORMFI LLER (FOR)
7 LI BRARI AN (LI B)
9 LOOKUP (LUP)
10 MANAGER (MAN)
12 AUTONUMBER (AUT)
14 PI DRAFT (PI D)
15 PLOT (PLO)
16 REPORT GENERATOR (REP) (compi l ati on errors; RGC)
18 REPORT GENERATOR (REP) (i nterpretati on errors; RGI )
21 SYMBOL EDI TOR (SYM)
Software Customisation Reference B-1
February 1999
Appendix B Communicating With REVIEW
Thi s chapter descri bes the sampl e appl i cati on provi ded wi th REVI EW,
and shoul d be read i n conjuncti on wi th the REVI EW User Guide, where
the commands avai l abl e from the command l i ne for control l i ng REVI EW
are expl ai ned. I t al so expl ai ns the responses to these commands whi ch
may be returned from REVI EW.
The REVI EW commands avai l abl e consti tute a subset of the ful l
REVI EW functi onal i ty, together wi th some speci al commands for sendi ng
commands i n batches.
B.1 Invoking the Command Line Interface
You i nvoke the command l i ne i nterface i n REVI EW vi a the Appl i cati ons
i con i n the REVI EW user i nterface.
B.2 Directing Commands to REVIEW
I n order to di rect any command l i ne to REVI EW, prefi x the l i ne wi th the
command
REVIEW
The remai ni ng part of the l i ne may compri se ei ther:
A command sequence for control l i ng one or more of REVI EWs
functi ons
An i nstructi on to send one or more precedi ng command l i nes to
REVI EW
Thi s prefi x i s i ncorporated i nto al l commands descri bed i n the remai nder
of thi s chapter.
Communicating with REVIEW
Software Customisation Reference
February 1999
B-2
B.3 Sending Commands to REVIEW
You may send command l i nes to REVI EW i n one of two ways:
Automati cal l y, as soon as the newline character i s entered to
termi nate the command l i ne
I n batch mode, by enteri ng an expl i ci t i nstructi on to send one or
more previ ousl y entered command l i nes
REVI EW refreshes i ts di spl ay every ti me a recei ved i nstructi on has been
compl etel y processed, whi ch can make the automati c sendi ng of each
command l i ne i neffi ci ent compared wi th batch mode operati on (where the
di spl ay i s refreshed onl y once for the whol e command sequence).
u To i ni ti ate automati c sendi ng of commands on a l i nebyl i ne basi s,
use the command
REVIEW AUTOsend ON
u To stop the automati c sendi ng of commands and revert to batch mode
(whi ch i s the defaul t), use the command
REVIEW AUTOsend OFF
u To pass a batch of commands to REVI EW expl i ci tl y (onl y val i d wi th
Autosend mode Off), use the command
REVIEW SEND
Thi s command wi l l send al l command l i nes whi ch have been entered
si nce the precedi ng REVIEW SEND command. Consi der, for exampl e, the
fol l owi ng command l i nes (whi ch are numbered for reference purposes
onl y):
1. REVIEW MATERIAL 1 RGB 10 10 10
2. REVIEW ELEMENT /C1101 MATERIAL 1
3. REVIEW SEND
4. REVIEW ELEMENT /C1002 MATERIAL 1
5. REVIEW SEND
By defaul t, batch mode i s i n operati on (i .e. Autosend mode i s Off).
Therefore l i nes 1 and 2, whi ch hol d REVI EW functi onal commands, are
not passed to REVI EW unti l the expl i ci t command to do so i s gi ven i n l i ne
3.
Si mi l arl y, the command i n l i ne 5 causes l i ne 4 (onl y) to be passed to
REVI EW.
Communicating with REVIEW
Software Customisation Reference
February 1999
B-3
B.4 Errors from the Application-to-REVIEW Link
The fol l owi ng error messages resul t from probl ems wi th (a) the
appl i cati on modul e, or (b) the communi cati ons l i nk between appl i cati ons
and REVI EW, rather than from the resul ts of commands transmi tted
al ong that l i nk.
(a)
(79, 101) Environment variable CADC_IPCDIR unset
(79, 102) Cannot start communications: error
(b)
(79, 201) Commands sent automatically as AUTOSEND is enabled
(79, 202) Cannot connect to Review: error
(79, 203) Cannot start command transfer to Review: error
(79, 204) No commands to send to Review
(79, 205) Cannot send commands to Review: error
(79, 206) Cannot end transfer to Review: error
(79, 207) Cannot start transfer from Review: error
(79, 208) Cannot receive reply from Review: error
(79, 209) Cannot receive the error message from Review: error
B.5 Sample Application
Note: The sampl e appl i cati on suppl i ed i s for demonstrati on purposes
only. By defaul t i t uses fl at fi l es as the source of data. Note that
you shoul d cancel the Logi n form di spl ayed when the
demonstrati on appl i cati on i s run.
The fi rst stage of the sampl e appl i cati on i s concerned wi th progress
monitoring, coveri ng both the desi gn and constructi on phases. I t uses
the sampl e model to gi ve a cl ear presentati on of the current status of the
project, whi ch i s parti cul arl y useful duri ng concurrent desi gn and
constructi on.
The second stage focuses on extracti ng a range of engineering data
avai l abl e from the model , i ncl udi ng the di spl ay of P&I Ds, vendor
drawi ngs and scanned i mages, data sheets, and reports.
The thi rd part of the appl i cati on focuses on the operati ng l i fe of the pl ant,
such that i tems requi ri ng maintenance can be i nterrogated by reference
to a ti mebase. Mai ntenance hi story can be studi ed for past probl ems and
recommendati ons; mai ntenance procedures can be di spl ayed to show the
scope of the work i nvol ved. Cost benefi ts can be seen by obtai ni ng the
i sol ati on group associ ated wi th a gi ven el ement; for exampl e, the Mai n
Separator Tower may be hi ghl i ghted together wi th an adjacent control
val ve whi ch i s to be mai ntai ned at the same ti me.
Communicating with REVIEW
Software Customisation Reference
February 1999
B-4
A set of ful l y documented forms and macros are suppl i ed to support these
engi neeri ng appl i cati ons, based around the Stabi l i ser model . These
appl i cati ons are summari sed i n more detai l i n the fol l owi ng secti ons.
B.6 Progress Monitoring
The Progress Moni tori ng appl i cati on i s based on the need to vi ew
di fferent engi neeri ng di sci pl i nes of a pl ant that are at vari ous stages of
compl eti on. Rel evant i nformati on can then be di spl ayed and hi ghl i ghted
wi thi n REVI EW.
The engi neeri ng di sci pl i nes recogni sed by the appl i cati on are:
Piping
Mechanical
Vessels
Structural
Instruments
For each di sci pl i ne, the compl eti on status, each of whi ch i s di spl ayed
wi thi n REVI EW i n a di fferent col our, may be any of the fol l owi ng:
Completion Status Display Colour
Preliminary Design Green
Final Design Cyan
Fabricated Blue
Erected Purple
Tested Brown
B.6.1 Engineering Data
The Engi neeri ng Data appl i cati on i s based on the need to deri ve
engi neeri ng data whi ch rel ates to a graphi cal el ement sel ected wi thi n the
REVI EW di spl ay; for exampl e:
Purchase order data
Descriptions
Document availability and viewing capability
Once thi s data has been suppl i ed, a further sel ecti on can be made to
di spl ay rel ated documents and drawi ngs through other appl i cati ons.
Exampl es suppl i ed wi l l al l ow access to pl otfi l es, ASCI I and scanned
i mage fi l es.
Communicating with REVIEW
Software Customisation Reference
February 1999
B-5
B.6.2 Maintenance
The Mai ntenance appl i cati on i s based on the need to vi ew di fferent types
of pl ant el ement whi ch requi re mai ntenance at di fferent ti me i nterval s.
Mai ntenance acti vi ti es can then be sel ected for further data anal ysi s and
di spl ay wi thi n REVI EW.
The types of desi gn el ement recogni sed by the appl i cati on are:
Vessels
Exchangers
Mechanical
Instruments
All
For each el ement type, the mai ntenance i nterval , speci fi ed i n terms of the
date when mai ntenance i s next due, may be any of the fol l owi ng:
Overdue
Due today
Due next week
Due next month
When appl i ed for a sel ected El ement Type and Due On, al l avai l abl e data
wi l l be di spl ayed to show whi ch el ements requi re mai ntenance and when.
These el ements can then be sel ected for further mai ntenance enqui ri es by
sel ecti ng one or more the fol l owi ng opti ons:
Maintenance schedule
Maintenance history
Parts inventory
Isolation list
B.7 Using the Sample Application
B.7.1 Start-Up
Fi rst ensure that al l software has been i nstal l ed as expl ai ned i n the
REVI EW I nstallation Guide. Then open a wi ndow and type
% run_demo
Note: The fi l e run_demo i s l ocated under the demo di rectory where the
software was i nstal l ed. Read the rvq_docs/README fi l e for hi nts
on how (i f youre an experi enced Query Tool ki t user) you can
customi se the appl i cati on for use wi th an external database.
Communicating with REVIEW
Software Customisation Reference
February 1999
B-6
REVI EW wi l l l oad i ts graphi cs and the sampl e model onto the screen.
Cl i ck on the Appl i cati ons i con to start the demonstrati on.
You wi l l then see a Data Server Logi n form, whi ch you shoul d cancel for
thi s fl at fi l e demonstrati on.
B.7.2 Progress Monitoring.
Sel ect Applications>Progress Monitoring.
A form wi l l be di spl ayed, as shown i n Fi gure B.1, to enabl e you to access
data rel evant to the compl eti on status for a parti cul ar di sci pl i ne.
Fi gure B.1 The Progress Moni tori ng form
Use the two opti on gadgets on thi s form to set the requi red combi nati on
of desi gn Discipline (e.g. Piping) and correspondi ng compl eti on Status (e.g.
Erected).
Cl i ck the Apply button to hi ghl i ght i tems meeti ng the sel ecti on cri teri a
wi thi n the REVI EW model . Di fferent col ours wi l l be used for the vari ous
Status opti ons.
Cl i ck the Make Display Translucent button to reset al l materi al s i n the
REVI EW di spl ay to transl ucent to enabl e di fferent Discipline/Status
combi nati ons to be sel ected and vi ewed.
Progress Monitoring Examples:
Sel ect and then appl y the fol l owi ng combi nati ons:
Discipline=Piping and Status=Erected Pi pes are di spl ayed i n purpl e
Discipline=Vessels and Status=Delivered Vessel s are di spl ayed i n bl ue
Discipline=Vessels and Status=Installed Vessel s are di spl ayed i n purpl e
Discipline=Structural and Status=Erected Steel work i s di spl ayed i n purpl e
Discipline=Instr/Elect and Status=Fabricated I nstrument Cabi nets are di spl ayed
Communicating with REVIEW
Software Customisation Reference
February 1999
B-7
i n bl ue*
Discipline=Mechanical and Status=Tested Pumps are di spl ayed i n brown*
(* Sel ect Look > ISO > One from the REVI EW bar menu for the best
di spl ay.)
B.7.3 Engineering Data
Sel ect Applications > Engineering Data.
A form wi l l be di spl ayed, as shown i n Fi gure B.2, to enabl e you to extract
engi neeri ng data rel evant to the model .
I n the REVI EW di spl ay, sel ect the central upri ght vessel (/C1101) usi ng
the cursor and l efthand mouse button. Now sel ect the Name fi el d on the
Engineering Data form and paste i n the name of the sel ected vessel by
cl i cki ng the ri ghthand mouse button.
Figure B.2 The Engineering Data form
Cl i ck the Apply button to di spl ay data for the speci fi ed vessel agai nst the
headi ngs Purchase Order and Description.
A l i st of associ ated documents wi l l be shown under the Document and
Description headi ngs. To di spl ay such a document, fi rst sel ect the l i ne for
that document i n the scrol l abl e l i st and then cl i ck the View Document
button. The resul ti ng document di spl ay may be:
Communicating with REVIEW
Software Customisation Reference
February 1999
B-8
a text fi l e, usi ng the system edi tor
a pl otfi l e representati on of orthogonal vi ews of a drawi ng
a scanned i mage of a drawi ng
Note: Any external application may be used to display
documents.
Any number of documents may be selected simultaneously
for viewing.
Document Examples
Names can be sel ected graphi cal l y (as expl ai ned above) or by enteri ng an
expl i ci t name.
Name: /C1101
D1537851 Fabrication Drawing displays a plotfile of the Main Separation
Tower
DPL123 P&ID sheets 1-3 each displays a P&ID plotfile
Name: /P1501A
D8428797 2D Drawing displays a set of orthogonal views
D43173298 Bill of materials displays a BOM report for Pump P1501A
ER3245-001 Cable List Report displays a cable connection list report
Name: /V-70
D7862134 Cross Sectional View displays a scanned image of a the valve
B.7.4 Maintenance
Accessing the Maintenance Data
Sel ect Applications > Maintenance.
A form wi l l be di spl ayed, as shown i n Fi gure B.3, to enabl e you to access
data rel ati ng to those i tems whi ch requi re mai ntenance wi thi n speci fi c
ti me peri ods.
Communicating with REVIEW
Software Customisation Reference
February 1999
B-9
Figure B.3 The general Maintenance form
Use the two opti on gadgets on thi s form to set the requi red combi nati on
of i tem Type (e.g. Vessels) and ti me when next mai ntenance operati on i s
due, shown as Due When (e.g. Due in next week).
Cl i ck the Apply button to hi ghl i ght i tems meeti ng the sel ecti on cri teri a
wi thi n the REVI EW model .
To make i t easi er to see the sel ected i tem i n the REVI EW di spl ay, cl i ck
the Setup camera view button. Thi s sets up Camera One such that the
through poi nt i s at the i tem of i nterest, wi th a fi el d of vi ew of 60.
The Name, Description and Inspection Date for each rel evant i tem wi l l be
l i sted on the form under the correspondi ng headers. To obtai n detai l ed
mai ntenance data for any i tem, sel ect the i tem i n the scrol l abl e l i st and
then cl i ck the appropri ate button under the headi ng Further data for selected
item. The data avai l abl e comes under the fol l owi ng headi ngs:
Maintenance Schedule
Maintenance History
Parts Inventory
Isolation List
Maintenance Schedule
The Maintenance Schedule form, as i l l ustrated i n Fi gure B.4, al l ows you to
vi ew the mai ntenance procedures that have been generated for a named
model i tem.
Communicating with REVIEW
Software Customisation Reference
February 1999
B-10
Figure B.4 The Maintenance Schedule form
To di spl ay any of the mai ntenance procedures l i sted for the current i tem,
sel ect the procedure i n the scrol l abl e l i st and then cl i ck the View Procedure
button. The sel ected report wi l l be di spl ayed (i n readonl y mode) to show
detai l s of the mai ntenance procedures.
To l i st the avai l abl e mai ntenance procedures for a di fferent model i tem
wi thout returni ng to the general Maintenance form, enter the new i tem
name and cl i ck the Apply button.
Maintenance History
The Maintenance History form, as i l l ustrated i n Fi gure B.5, al l ows you to vi ew
the mai ntenance hi story reports that have been generated for a named
model i tem.
To di spl ay any of the mai ntenance reports l i sted for the current i tem,
sel ect the report i n the scrol l abl e l i st and then cl i ck the View Report button.
The sel ected report wi l l be di spl ayed (i n readonl y mode) to show detai l s
of the mai ntenance hi story.
To l i st the avai l abl e mai ntenance reports for a di fferent model i tem
wi thout returni ng to the general Maintenance form, enter the new i tem
name and cl i ck the Apply button.
Communicating with REVIEW
Software Customisation Reference
February 1999
B-11
Figure B.5 The Maintenance History form
Parts Inventory
The Parts Inventory form, i l l ustrated i n Fi gure B.6, al l ows you to vi ew
suppl i er detai l s that have been generated for a named model i tem.
Figure B.6 The Parts Inventory form
Communicating with REVIEW
Software Customisation Reference
February 1999
B-12
To di spl ay detai l s of any part l i sted for the current i tem, sel ect the part i n
the scrol l abl e l i st and then cl i ck the Supplier Details button. Suppl i er
i nformati on for the sel ected part wi l l be di spl ayed (i n readonl y mode).
To l i st the avai l abl e suppl i er detai l s for a di fferent model i tem wi thout
returni ng to the general Maintenance form, enter the new i tem name and
cl i ck the Apply button.
Isolation List
The Isolation List form, i l l ustrated i n Fi gure B.7, al l ows you to vi ew detai l s
of mai ntenance i sol ati on l i nes that have been generated for a named
model i tem.
Figure B.7 The Isolation List form
The scrol l abl e l i st shows al l associ ated i tems whi ch make up the i sol ati on
l i ne rel ated to the current i tem. The compl ete i sol ati on l i ne wi l l be
hi ghl i ghted i n the REVI EW di spl ay.
To l i st the i sol ati on l i ne detai l s for a di fferent model i tem wi thout
returni ng to the general Maintenance form, enter the new i tem name and
cl i ck the Apply button.
Communicating with REVIEW
Software Customisation Reference
February 1999
B-13
B.8 A Summary of the Application Data
As a gui de to the data avai l abl e wi thi n the exampl e suppl i ed, the
fol l owi ng tabl es show the data whi ch may be extracted by usi ng the
vari ous appl i cati ons.
B.8.1 Progress Monitoring
Piping Mech. Vessels Civil Structural HVAC Instr./Elec.
Preliminary nono no no no no no
Final Design yes no no no no no no
Fabricated yes n/a n/a n/a no no yes
Erected yes n/a n/a n/a yes no yes
Tested yes yes yes n/a yes no no
Delivered n/a no yes n/a n/a n/a n/a
Installed n/a no yes yesn/a n/a n/a
Excavated n/a n/a n/a no n/a n/a n/a
Foundations n/a n/a n/a no n/a n/a n/a
Oversite n/a n/a n/a yesn/a n/a n/a
B.8.2 Engineering Data
The engi neeri ng data extracted from the data source (fl at fi l e or database
tabl es) i s based on the fol l owi ng PDMS el ements:
/C1101 Main Separator Tower
/P1502A Secondary Backup Pump
/V-70 Manual Shutdown Valve
B.8.3 Maintenance
Vessels
Overdue Due today next week
next month
Primary data no no yes yes
Schedule no no yes yes
History no no yes yes
Parts inventory no no yes yes
Isolation list no no yes yes
Communicating with REVIEW
Software Customisation Reference
February 1999
B-14
Exchangers
Overdue Due today next week
next month
Primary data no no noyes
Schedule no no nono
History no no nono
Parts inventory no no nono
Isolation list no no nono
Mechanical
Overdue Due today next week
next month
Primary data yes yes yes yes
Schedule no no nono
History no no nono
Parts inventory no no nono
Isolation list no no nono
Instruments
Overdue Due today next week
next month
Primary data no no noyes
Schedule no no nono
History no no nono
Parts inventory no no nono
Isolation list no no nono
All
Overdue Due today next week
next month
Primary data yes yes yes yes
Schedule no no yes yes
History no no yes yes
Parts inventory no no yes yes
Isolation list no no yes yes
Note: Most of the data extracted from the data source (fl at fi l e or
database tabl es) i s based on the fol l owi ng PDMS el ements:
/C1101 Main Separator Tower
/P1501A Secondary Backup Pump
/E1301 Storage Tank
/V121 Manual Shutdown Valve
/V-70 Manual Shutdown Valve
Communicating with REVIEW
Software Customisation Reference
February 1999
B-15
There are i nstances where data extracted i s not consi stent wi th that of
the model . I n such cases the fol l owi ng message wi l l be di spl ayed:
data ignored not in review model
B.9 The Application Files Supplied
For conveni ence, the sampl e appl i cati on fi l es are suppl i ed under a
functi onrel ated di rectory hi erarchy, thus:
demo
ADMIN PROGRESS ENGDATA MAINTAIN DATA run_demo rvq_docs
README rvq files
These di rectori es/fi l es have the fol l owi ng functi ons:
ADMIN A general di rectory for startup and i ni ti al i sati on of
Query
PROGRESS A di rectory for the progress moni tori ng appl i cati ons
ENGDATA A di rectory for the engi neeri ng data appl i cati ons
MAINTAIN A di rectory for the mai ntenance appl i cati ons
DATA A di rectory contai ni ng data for use by the
appl i cati ons
run_demo A scri pt to run the REVI EW demonstrati on
appl i cati on
The fi l es whi ch are suppl i ed wi thi n each of these di rectori es are l i sted i n
the fol l owi ng secti ons.
Note: The names of many of the files begin with a prefix which
indicates the files function, thus:
Ffilename denotes a form definition
Mfilename denotes a macro definition
Ufilename denotes a utility macro
Ifilename denotes a form initialisation macro
Al l other fi l enames denote general fi l es whi ch are not speci fi cal l y
used i n form creati on.
B.9.1 The ADMIN Directory
CONFIG User-speci fi ed confi gurati on; e.g. database server
Communicating with REVIEW
Software Customisation Reference
February 1999
B-16
node
FORACLE Form defi ni ti on macro for RDBMS connecti on
FSYSTEM Form defi ni ti on macro for mai n system menu
FVERSION Form defi ni ti on macro for versi ons
IORACLE I ni ti al i sati on macro for RDBMS connecti on
IVERSION I ni ti al i sati on macro for versi ons
MORACLE Resul t macro for RDBMS connecti on
MVERSION Resul t macro for versi ons
RPODESC Uti l i ty macro to set purchase order number and
descri pti on
START Query start-up macro
UCAMERA Uti l i ty macro to set up camera 1
UORACLE Uti l i ty macro to i nvoke RDBMS connecti on form
UQUIT Uti l i ty macro to qui t Query
URESET Uti l i ty macro to reset observer materi al s
UVIEWDOC Uti l i ty macro to vi ew documents (pl otfi l es and other
formats)
VAR2ENV Uti l i ty macro to convert %Vari abl e% to
envi ronmental vari abl e
B.9.2 The ENGDATA Directory
FENGDATA Form defi ni ti on macro for engi neeri ng data
FPLOTVIEW Form defi ni ti on macro for pl otfi l e vi ewer
IENGDATA I ni ti al i sati on macro for engi neeri ng data
MENGDATA Resul t macro for engi neeri ng data
UNEXTPLOT Uti l i ty macro to vi ew next pl ot
UPREVPLOT Uti l i ty macro to vi ew previ ous pl ot
B.9.3 The PROGRESS Directory
FPROGRESS Form defi ni ti on macro for progress moni tori ng
IPROGRESS I ni ti al i sati on macro for progress moni tori ng
Communicating with REVIEW
Software Customisation Reference
February 1999
B-17
MPROGRESS Resul t macro for progress moni tori ng
UDISCIP Uti l i ty macro to set status l i st for sel ected
di sci pl i ne
UTRANSLU Uti l i ty macro to make di spl ay transl ucent
B.9.4 The MAINTAIN Directory
FHISTORY Form defi ni ti on macro for mai ntenance hi story
FINVENT Form defi ni ti on macro for parts i nventory
FISOLATE Form defi ni ti on macro for i sol ati on l i st
FMAINTAIN Form defi ni ti on macro for mai ntenance
requi rements
FSCHEDULE Form defi ni ti on macro for mai ntenance schedul e
FSUPPLY Form defi ni ti on macro for suppl i er detai l s
IHISTORY I ni ti al i sati on macro for mai ntenance hi story
IINVENT I ni ti al i sati on macro for parts i nventory
IISOLATE I ni ti al i sati on macro for i sol ati on l i st
IMAINTAIN I ni ti al i sati on macro for mai ntenance requi rements
ISCHEDULE I ni ti al i sati on macro for mai ntenance schedul e
ISUPPLY I ni ti al i sati on macro for suppl i er detai l s
MHISTORY Resul t macro for mai ntenance hi story
MINVENT Resul t macro for parts i nventory
MISOLATE Resul t macro for i sol ati on l i st
MMAINTAIN Resul t macro for mai ntenance requi rements
MSCHEDULE Resul t macro for mai ntenance schedul e
UMSHOW Uti l i ty macro to show and appl y one of the
mai ntenance forms
B.9.5 The DATA Directory
DOCDATA Document data for engi neeri ng appl i cati on
NAMEDATA El ement names agai nst descri pti on data
SUPPLIERDATA
Suppl i er data contai ni ng names, addresses and
Communicating with REVIEW
Software Customisation Reference
February 1999
B-18
tel ephone No.
ISOLATEDATA
I sol ati on el ements agai nst pri mary el ement data
PARTSINVDATA
Parts i nventory and suppl i er names agai nst el ement
data
MAINHDATA
Mai ntenance hi story data and reports agai nst
el ement data
MAINSDATA
Mai ntenance servi ce data and reports agai nst
el ement data
MAINTDATA
Mai ntenance schedul es and due dates agai nst
el ement data
PROGRESSDATA
Progress moni tori ng data type agai nst compl eti on
state
oracle_data An ORACLE data fi l e i n the form of tabl es for
l oadi ng i nto ORACLE
(Tabl e contents and names are consi stent wi th those
of the above fl at fi l es)
sybase_data.ksh
A Shel l scri pt for l oadi ng demo tabl es i nto Sybase
RDBMS
(Tabl e contents and names are consi stent wi th those
of the above fl at fi l es)
C1101.plot Pl otfi l e of 2D drawi ng of the Stabi l i ser
C1101020592.asc
Mai ntenance report
C1101091092.asc
Mai ntenance report
C1101111091.asc
Mai ntenance report
C1101121089.asc
Mai ntenance report
C1101141090.asc
Mai ntenance report
Communicating with REVIEW
Software Customisation Reference
February 1999
B-19
EI3245.plot El ectri cal drawi ng pl otfi l e
EI3246.plot El ectri cal drawi ng pl otfi l e
V-70.spec Val ve speci fi cati on
P1501A.bom Pump bi l l of materi al s
P1501A.plot Pl otfi l e of 2D drawi ng of Pump
cablelist..rep El ectri cal cabl e l i st report (PEGSgenerated)
panel.rep El ectri cal panel report (PEGSgenerated)
pfd.plot Process fl ow di agram pl otfi l e
pid1.plot P&I D sheet 1 for pl ant
pid2.plot P&I D sheet 2 for pl ant
pid3.plot P&I D sheet 3 for pl ant
v-70.tif Scanned i mage of a val ve (secti oned drawi ng)
xtiff Uti l i ty to di spl ay scanned i mages
Software Customisation Guide C-1
November 1998
Appendix C: PML 1 Expressions
Thi s appendi x expl ai ns the PML 1 expresi ons package. These faci l i ti es
are needed wi thi n Cadcentre products, for exampl e, to defi ne report
templ ates i n PDMS.
Note: General l y, al l these faci l i ti es are compati bl e wi th PML 2.
Expressi ons have types. For exampl e, you can have numeri c expressi ons,
text expressi ons and l ogi cal expressi ons. Al l the el ements i n an
expressi on must be of the correct type. For exampl e, i f you have a two
numbers, x and y, and two text stri ngs text1 and text2, the fol l owi ng
expressi on i s meani ngl ess:
x + text1
However, both of the fol l owi ng expressi ons are val i d:
x + y Has the effect of addi ng the val ues of the numeri c
vari abl es.
text1 + text2 Has the effect of concatenati ng (joi ni ng) the two
text stri ngs.
The fol l owi ng types of expressi ons are avai l abl e:
Logi cal expressi ons See Secti on C.2.
Logi cal array expressi ons See Secti on C.2.3
Real expressi ons See Secti on C.3
Real array expressi ons See Secti on C.3.3
Text expressi ons See Secti on C.6
C.1 Format of Expressions
The format of an expressi on, for exampl e the use of brackets, spaces and
quotes, i s i mportant. I f you do not fol l ow the rul es gi ven bel ow you wi l l
get error messages:
Text must be encl osed i n quotes. For exampl e:
This is text
There must be a space between each operator and operand. For
exampl e:
x + y
PML 1 Expressions
Software Customisation Guide
February 1999
2
Use round brackets to control the order of eval uati on of expressi ons
and to encl ose the argument of a functi on. For exampl e:
SIN(30)
I n general , you do not need spaces before or after brackets, except when a
PDMS name i s fol l owed by a bracket. I f there i s no space, the bracket wi l l
be read as part of the name. For exampl e:
(NAME EQ /VESS1 )
C.1.1 Operator Precedence
Operators are eval uated i n the order of the fol l owi ng l i st: the ones at the
top of the l i st are eval uated fi rst.
Brackets
Functi ons
* /
+ -
EQ, NEQ, LT, LE, GE, GT
NOT
AND
OR
Brackets can be used to control the order i n whi ch operators are
eval uated, i n the same way as i n normal ari thmeti c.
C.1.2 Nesting Expressions
Expressi ons can be nested usi ng brackets. For exampl e:
( (SIN(!angleA) * 2) / SIN(!angleB) )
Logical expressions
Logi cal expressi ons can contai n:
PDMS attri butes of type l ogi cal e.g. BUI LT.
Logi cal constants. The constants avai l abl e are:
TRUE, ON, YES for true
FALSE, OFF, NO for fal se
Logi cal operators
Logi cal functi ons
PML 1 Expressions
Software Customisation Guide
February 1999
C-3
C.2.1 Logical Operators
The l ogi cal operators avai l abl e are:
AND
EQ, NE
GT, GE, LE, LT
NOT
OR
The operators EQ and NE may be appl i ed to any pai r of val ues of the
same type.
The operators GE, LE, GT and LT may onl y be used wi th numbers and
posi ti ons. For more i nformati on, see Secti on C.5, Using Positions,
Directions and Orientations in Expressions.
Note: The operators EQ, NEQ, LT, GT, LEQ and GEQ are someti mes referred
to as comparator or relational operators; NOT, AND and OR are
someti mes referred to as Boolean operators.
See al so Secti on C.11, Precisions of Comparisons for tol erances i n
compari ng numbers.
AND
Synopsi s log1 AND log2 -> logical
Descri pti on Perform the l ogi cal AND between two l ogi cal val ues.
Treats unset val ues as fal se.
Si de effects I f one of the val ues i s undefi ned and the other one i s
FALSE, the resul t i s FALSE.
Exampl e TRUE and FALSE -> FALSE
EQ and NE
Synopsi s ( number1 EQual number2 ) -> logical
( text1 EQual text2 ) -> logical
( log1 EQual log2 ) -> logical
( id1 EQual id2 ) -> logical
( pos1 EQual pos2 ) -> logical
( dir1 EQual dir2 ) -> logical
( ori1 EQual ori2 ) -> logical
( pp1 EQual pp2 ) -> logical
( number1 NEqual number2 ) -> logical
( text1 NEqual text2 ) -> logical
( log1 NEqual log2 ) -> logical
( id1 NEqual id2 ) -> logical
( pos1 NEqual pos2 ) -> logical
PML 1 Expressions
Software Customisation Guide
February 1999
4
( dir1 NEqual dir2 ) -> logical
( ori1 NEqual ori2 ) -> logical
( pp1 NEqual pp2 ) -> logical
Descri pti on Compare two val ues. A speci al feature i s used for the
posi ti ons, onl y the coordi nates speci fi ed are
compared. See Secti on C.5.4 for more i nformati on.
Unset val ues resul t i n FALSE across EQ, TRUE
across NE.
Exampl e ( 1.0 eq 2.0) -> FALSE
Si de effects I f two posi ti ons have no common coordi nate, for
exampl e, N 10 ne U 10, the resul t i s undefi ned.
Uni ts are consol i dated across compari sons.
GT, GE, LE and LT
Synopsi s ( number1 GT number2 ) -> l ogi cal
( pos1 GT pos2 ) -> l ogi cal
( number1 GE number2 ) -> l ogi cal
( pos1 GE pos2 ) -> l ogi cal
( number1 LE number2 ) -> l ogi cal
( pos1 LE pos2 ) -> l ogi cal
( number1 LT number2 ) -> l ogi cal
( pos1 LT pos2 ) -> l ogi cal
Descri pti on Compare two val ues. A speci al feature i s used for
posi ti ons: onl y the coordi nates speci fi ed are
compared. See Secti on C.5.4 for more i nformati on.
For posi ti ons, si nce compari sons may be performed
on more than one val ue, LT (GT) i s not the i nverse of
GE (LE). Unset val ues resul t i n fal se.
Exampl es ( 1.0 LT 2.0) -> TRUE
( N 0 E 10 GT N 10 E 0 ) -> FALSE
( N 0 E 10 GT N 10 E 0 ) -> FALSE
Si de effects I f two posi ti ons have no common coordi nate, the
resul t i s undefi ned. For exampl e, N 10 gt U 10.
Uni ts are consol i dated across compari sons.
NOT
Synopsi s NOT log1 -> logical
Descri pti on Perform the l ogi cal NOT on a l ogi cal val ue.
Exampl e not TRUE -> FALSE
PML 1 Expressions
Software Customisation Guide
February 1999
C-5
OR
Synopsi s log1 OR log2 -> logical
Descri pti on Perform the l ogi cal i ncl usi ve OR between two l ogi cal
val ues. (The excl usi ve OR i s defi ned by usi ng NE.)
Al l ows numbers i nstead of l ogi cal s.
Si de effects I f one of the val ue i s undefi ned and the other one i s
TRUE, the resul t i s TRUE.
Exampl e TRUE or FALSE -> TRUE
C.2.2 Logical Functions
The l ogi cal functi ons avai l abl e are
BADREF
DEFI NED,UNDEFI NED
EMPTY
MATCHWI LD
UNSET
VLOGI CAL
BADREF
Synopsi s BADREF (id) -> logical
Defi ni ti on Returns true i f id i s i nval i d, el se fal se.
Exampl e BADREF(TREF) -> true i f TREF=nul ref
DEFINED and UNDEFINED
Synopsi s DEFi ned ( variable_name ) -> logical
DEFi ned ( variable_name , number ) -> logical
UNDEFi ned ( variable_name ) -> logical
UNDEFi ned ( variable_name , number ) -> logical
Descri pti on With one argument, DEFI NED i s true onl y i f the
scal ar vari abl e, the array vari abl e or the array
vari abl e el ement exi sts.
With two arguments, DEFI NED i s true onl y i f the
fi rst argument i s an array vari abl e whi ch has a val ue
for the i ndex denoted by the second argument.
UNDEFI NED( !foo ) i s equi val ent to NOT
DEFI NED( !foo ).
Exampl es DEFI NED ( !var ) -> TRUE
DEFI NED ( !array ) -> TRUE
PML 1 Expressions
Software Customisation Guide
February 1999
6
DEFI NED ( !array[1] ) -> TRUE
DEFI NED ( !array , 1 ) -> TRUE
DEFI NED ( !rav ) -> FALSE
UNDEFI NED ( !yarra ) -> TRUE
DEFI NED ( !array , 3 ) -> FALSE
EMPTY
Synopsi s EMPTY (text) -> l ogi cal
Definition Returns true i f text i s a zero l ength stri ng, el se fal se.
Exampl e s EMPTY () -> TRUE
EMPTY(ABC) -> FALSE
MATCHWILD
Synopsi s MATCHW/I LD( text1,text2)
MATCHW/I LD( text1,text2,text3)
MATCHW/I LD( text1,text2,text3,text4)
Descri pti on Matches stri ng text2 to sti ng text1. I f the same then
returns true, el se fal se. text2 may contai n wi l dcard
characters. The defaul ts for wi l dcards are
* for any number of characters
? for a si ngl e character.
Wi th three arguments, the mul ti pl e wi l dcard
character * may be redefi ned by text3.
Wi th four arguments the si ngl e wi l dcard character ?
may be redefi ned by text4.
Exampl e MATCHW/I LD(A bi g bottl e of beer,*bi g*)-> TRUE
MATCHW/I LD(A bi g bottl e of beer,??bi g*) ->
TRUE
MATCHW/I LD(A bi g bottl e of beer,???*bi g*) ->
FALSE
MATCHW/I LD(A bi g bottl e of beer,*bi g*beer) ->
TRUE
MATCHW/I LD(** text,**!,!) ->
TRUE
UNSET
Synopsi s UNSET ( value ) -> logical
Defi ni ti on Returns true i f value i s unset, el se fal se. value can
be of any data type i ncl udi ng arrays. Normal l y i t wi l l
be a PDMS attri bute.
Exampl es UNSET( DESC ) -> true where DESC i s an unset
text attri bute
PML 1 Expressions
Software Customisation Guide
February 1999
C-7
UNSET(CRFA) -> fal se where CRFA contai ns
unset reference attri butes
VLOGICAL
VLOGI CAL i s used for the l ate eval uati on of vari abl es.
Synopsi s VLOGI CAL ( variable_name ) -> logical
VLOGI CAL ( variable_name , number ) -> logical
Descri pti on With one argument, return the val ue of the scal ar
vari abl e or the val ue of the array vari abl e el ement as
a l ogi cal .
With two arguments, return the val ue of the
el ement correspondi ng to the i ndex number as a
l ogi cal .
The rul es of conversi on are:
TRUE for the stri ngs T, TR, TRU or TRUE (case
i nsensi ti ve) or any numeri c val ue not equal to zero;
FALSE for the stri ngs F, FA, FAL, FALS or
FALSE (case i nsensi ti ve) or a numeri c val ue equal
to zero.
Exampl es VLOG ( !array[1] ) -> TRUE
VLOG ( !array , 2 ) -> FALSE
Si de effects I f the scal ar vari abl e, the array vari abl e or the array
vari abl e el ement does not exi st, the resul t i s
undefi ned.
Errors Scal ar vari abl es may not be i ndexed. For exampl e,
VTEXT (!var[1]) ) wi l l return an error.
Array vari abl es must have an i ndex. For exampl e,
VTEXT ( !array ) ) wi l l return an error.
The val ue cannot be transl ated i nto a l ogi cal .
See al so: VTEXT, used for l ate eval uati on when a text resul t i s
requi red.
VVALUE, used for l ate eval uati on when a numeri c
resul t i s requi red.
C.2.3 Logical array expressions
Logi cal array expressi ons can contai n:
PDMS attri butes of type logical array. For exampl e, :LOGARR
where :LOGARR i s a UDA of type logical.
PML 1 Expressions
Software Customisation Guide
February 1999
8
Logi cal constants. The constants avai l abl e are:
TRUE, ON, YES for true
FALSE, OFF, NO for fal se
Logi cal operators. See Secti on C.2.1.
Logi cal functi ons. See Secti on C.2.2.
C.3 Numeric (Real) Expressions
I n PDMS expressi ons, i ntegers are treated as real s; they are ful l y
i nterchangeabl e. Numeri c expressi ons can contai n:
Numbers, for exampl e: 32, 10.1.
Numbers can be gi ven as as i nteger exponents, for exampl e:
10 exp 5
5 E 6
Numbers can contai n uni ts. The val i d uni ts are MM, M/ETRES,
I N/CHES, FT, FEET. These may be preceded by SQU/ARE, CUBI C,
CUB/E to denote nonl i near val ues. For exampl e: 100 mm, 10 exp 5
cubi c feet. Feet and i nches can be shown as, for exampl e, 106.
2.54 EXP 6 2.54 x 10
^
= 2540000
2.54 EXP -6 2.54 x 10
-^
= 0.00000254
(81 / 3) EXP 2 IN81/3 x 10
@
inches = 2700 inches
PDMS attri butes of type number, for exampl e: XLEN.
Posi ti on, di recti on and ori entati on attri butes whi ch have a subscri pt
to i ndi cate whi ch part of the array i s requi red. For exampl e, POS[2]
means the second el ement of the POSI TI ON attri bute, that i s, the
northi ng. Note that posi ti on, di recti on and ori entati on attri butes
wi thout subscri pts can onl y be used i n number array expressi ons.
The keyword PI (3.142).
Numeri c operators.
Numeri c functi ons.
C.3.1 Numeric (Real) Operators
The numeri c operators avai l abl e are:
+ Add
- Subtract
* Mul ti pl y
/ Di vi de
PML 1 Expressions
Software Customisation Guide
February 1999
C-9
ADD and SUBTRACT (+ and -)
Synopsi s number + number -> number
number - number -> number
- number -> number
+ number -> number
Descri pti on Add and subtract two numbers. They can al so be
used as unary operators at the begi nni ng of a
parenthesi sed subexpressi on.
Exampl es 1 + 2 -> 3.0
1 - 2 -> -1.0
+ 1 -> 1.0
- 1 -> -1.0
Si de effects Uni ts are consol i dated across add, subtract.
Errors Fl oati ng poi nt overfl ow.
DIVIDE and MULTIPLY (/ and * )
Synopsi s number * number -> number
number / number -> number
Descri pti on Mul ti pl y or di vi de two numbers.
Exampl es 2 * 3 -> 6.0
2 / 3 -> 0.666666666
Si de effects Numeri c underfl ow i s not consi dered to be an error
and nei ther i s i t fl agged as a warni ng. The resul t
returned i s zero.
Uni ts are consol i dated across Mul ti pl y and Di vi de.
Errors Fl oati ng poi nt overfl ow.
Di vi de by zero.
C.3.2 Numeric (Real) Functions
The numeri c functi ons avai l abl e are:
ABS ( number1 ) Gi ves the absol ute val ue of a number
ACOS ( number1 ) Gi ves the arc cosi ne of a number, i n degrees.
ASI N ( number1 )Gi ves the arc si ne of a number, i n degrees.
ATAN ( number1 ) Gi ves the arc tangent of a number, i n
degrees.
ATANT ( number1, number2 ) Gi ves the arc tangent of
number1/number2, i n degrees, wi th the appropri ate
PML 1 Expressions
Software Customisation Guide
February 1999
10
si gn.
ALOG ( number1 ) Gi ves the exponenti al functi on (natural anti
l og) of a number.
ARRAY(pos or dir or ori)
Converts a posi ti on, di recti on or ori entati on val ue or
attri bute i nto three numbers.
ARRAYSI ZE ( variablename )
Gi ves the si ze of an array vari abl e.
ARRAYWI DTH( variablename )
Gi ves the l argest di spl ay wi dth of any stri ng i n array
vari abl ename.
COMPONENT dir OF pos2
Gi ves the magni tude of a vector drawn from E0 N0
U0 to pos2,
projected i n the di recti on dir1.
I NT ( number1 ) Gi ves the truncated i nteger val ue of a number.
SI N ( number1 ) Gi ves the si ne, cosi ne or tangent val ue of a number
(consi dered to be
i n degrees).
COS ( number1 ) Gi ves the si ne, cosi ne or tangent val ue of a number
(consi dered to be
i n degrees).
TAN ( number1 ) Gi ves the si ne, cosi ne or tangent val ue of a number
(consi dered to be
i n degrees).
LENGTH ( text1 )Gi ves the l ength of text1.
DLENGTH ( text1 ) Gi ves the l ength of text1. DLENGTH i s used
wi th characters whi ch have a di spl ayed wi dth that i s
di fferent from standard characters, such as
Japanese.
LOG ( number1 ) Gi ves the natural l ogari thm of a number.
MATCH ( text1, text2 )
Gi ves the posi ti on of the begi nni ng of the l eftmost
occurrence of text2 i n text1. I f text2 does not occur i n
text1, 0 i s returned.
DMATCH ( text1, text2 )
Gi ves the posi ti on of the begi nni ng of the l eftmost
occurrence of
PML 1 Expressions
Software Customisation Guide
February 1999
C-11
text2 i n text1. I f text2 does not occur i n text1, 0 i s
returned.
DMATCH i s used wi th characters whi ch have a
di spl ayed wi dth that i s di fferent from standard
characters, such as Japanese.
MAX ( number1, number2[ , number3 [. . .]]) )
Gi ves the maxi mum val ue of the arguments.
MI N ( number1, number2[ , number3 [. . .]]) )
Gi ves the mi ni mum val ue of the arguments.
NEGATE Mul ti pl y a number by -1.0.
NI NT ( number1 ) Gi ves the nearest i nteger to a real .
NI NT(N+0.5) i s equal to N+1 i f
N i s posi ti ve or equal to zero, to N i f N i s negati ve.
OCCUR ( text1, text2 )
Gi ves the number of ti mes stri ng text2 occurs i n
stri ng text1.
REAL ( text1 ) Try to read a number at the begi nni ng of text1.
POWER ( number1, number2 )
Gi ves the the val ue of number1 rai sed to the power
number2.
SQRT ( number1 ) Gi ves the square root of a number.
VVALUE ( variablename )
Used for l ate eval uati on of vari abl es. Gi ves a real
val ue.
ABS
Synopsi s ABS ( number1 ) -> number
Descri pti on Return the absol ute val ue of a real .
Exampl e ABS ( -3.2 ) -> 3.2
ACOS, ASIN, ATAN and ATANT
Synopsi s ASI N ( number1 ) -> number
ACOS ( number1 ) -> number
ATAN ( number1 ) -> number
ATANT ( number1, number2 ) -> number
Descri pti on Return the arc-cosi ne, arc-si ne or arc-tangent of a
number, i n degrees. ATANT returns the arc-tangent
of number1/number2 wi th the appropri ate si gn.
ATANT i s useful where the second val ue i s near or
PML 1 Expressions
Software Customisation Guide
February 1999
12
equal to zero. For exampl e,
(6 0 ATANT) wi l l gi ve the correct resul t of 90
degrees,
(6 0 D ATAN) wi l l i ndi cate an error when tryi ng to
di vi de by zero.
Exampl e ACOS ( 0.8660254 ) -> 30
Errors Argument of ACOS or ASI N out of range [-1.0,+1.0]
ATANT (0.0,0.0) i s undefi ned.
ALOG
Synopsi s ALOG ( number1 ) -> number
Descri pti on Return the exponenti al functi on (natural anti l og) of
a number.
Exampl e ALOG ( -0.7 ) -> 0.4965853
Si de effects Numeri c underfl ow causes the resul t to be set to
zero.
Errors Fl oati ng poi nt overfl ow
ARRAY
Synopsi s ARRAY(pos or dir or ori) -> number
Defi ni ti on Converts a posi ti on, di recti on or ori entati on val ue or
attri bute i nto three numbers.
Exampl es ARRAY(e100 ) -> 100 0 0
ARRAYSIZE
Synopsi s ARRAYSi ze ( variablename ) -> number
Descri pti on Gi ve the si ze of an array vari abl e.
Exampl e ARRAYSI ZE(!array) -> 2.0
Si de effects I f the array vari abl e does not exi st, the resul t i s
undefi ned.
Errors The vari abl e i s a scal ar vari abl e and not an array
vari abl e.
The vari abl e i s an array vari abl e el ement and not an
array vari abl e.
ARRAYWIDTH
Synopsi s ARRAYWi dth ( variablename ) -> number
Descri pti on Gi ve the l argest di spl ay wi th of any stri ng i n array
vari abl e_name.
PML 1 Expressions
Software Customisation Guide
February 1999
C-13
Exampl e I f an array contai ns the fol l owi ng val ues
!ARRAY[1] Bread
!ARRAY[2] i s
!ARRAY[3] for
!ARRAY[4] l i fe,
!ARRAY[5] not
!ARRAY[6] just
!ARRAY[7] for
!ARRAY[8] breakfast
then
ARRAYWI DTH(!ARRAY)
woul d return 9 ( i .e. the l ength of breakfast)
Errors The vari abl e i s a scal ar vari abl e and not an array
vari abl e.
The vari abl e i s an array vari abl e el ement and not an
array vari abl e
COMPONENT ... OF ...
Synopsi s COMPonent dir1 OF pos2 -> text
Descri pti on Returns the magni tude of a vector drawn from E0 N0
U0 to pos2, projected i n the di recti on dir1.
Exampl e COMP E 45 N of N 0 E 100 U 50 -> 70.710
SINE, COSINE and TANGENT
Synopsi s SI Ne ( number1 ) -> number
COSi ne ( number1 ) -> number
TANgent ( number1 ) -> number
Descri pti on Return the si ne, cosi ne or tangent val ue of a number
(consi dered to be i n degrees).
Exampl es COS ( 0.0 ) -> 1.0
TAN ( 45.0 ) -> 1.0
Errors Di vi si on by zero for TAN i f the si ne i s (nearl y) equal
to zero.
INT
Synopsi s I NT ( number1 ) -> number
Descri pti on Return the truncated i nteger val ue of a number.
Exampl es I NT ( 1.6 ) -> 1.0
I NT ( -23.7 ) -> -23.0
Errors I nteger overfl ow.
PML 1 Expressions
Software Customisation Guide
February 1999
14
LENGTH and DLENGTH
Synopsi s LENgth ( text1 ) -> number
DLENgth ( text1 ) -> number
Descri pti on Return the l ength of text1. DLENGTH i s for use wi th
characters whi ch have a di spl ayed wi dth that i s
di fferent from standard characters, such as
Japanese.
Exampl es LENGTH ( abcdef ) -> 6.0
LENGTH ( ) -> 0.0
LOG
Synopsi s LOG ( number1 ) -> number
Descri pti on Return the natural l ogari thm of a real .
Exampl e LOG ( 3 ) -> 1.0986123
Errors Negati ve argument.
MATCH and DMATCH
Synopsi s MATch ( text1 , text2 ) -> number
DMATch ( text1 , text2 ) -> number
Descri pti on Return the posi ti on of the begi nni ng of the l eftmost
occurrence of text2 i n text1. I f text2 does not occur i n
text1, 0 i s returned
DMATCH i s for use wi th characters whi ch have a
di spl ayed wi dth that i s di fferent from standard
characters, such as Japanese.
Exampl es MATCH ( abcdef , cd ) -> 3.0
MATCH ( abcdef , x ) -> 0.0
MATCH ( abcdef , ) -> 1.0
MAX and MIN
Synopsi s MAX ( number1 , number2 [ , number3 [ ... ] ] ) ->
number
MI N ( number1 , number2 [ , number3 [ ... ] ] ) ->
number
Descri pti on Return the maxi mum or mi ni mum val ue of the
arguments.
Exampl es MAX ( 1 , 3.4 ) -> 3.4
MI N ( 7.6 , -12.33 , 2.3 ) -> -12.33
PML 1 Expressions
Software Customisation Guide
February 1999
C-15
NEGATE
Synopsi s NEGate ( number1 ) -> number
Descri pti on Mul ti pl y a real by -1.0.
Exampl e NEG ( 1 ) -> -1.0
NINT
Synopsi s NI NT ( number1 ) -> integer
Descri pti on Return the nearest i nteger to a real . NI NT(N+0.5) i s
equal to N+1 i f N i s posi ti ve or equal to zero, to N i f
N i s negati ve.
Exampl es NI NT ( 1.1 ) -> 1.0
NI NT ( -23.7 ) -> -24.0
NI NT ( 1.5 ) -> 2.0
NI NT ( -11.5 ) -> -12.0
Errors I nteger overfl ow.
OCCUR
Synopsi s OCCUR(text1, text2) -> integer
Defi ni ti on Counts the number of ti mes stri ng text2 occurs i n
stri ng text1.
Exampl es OCCUR (ABBACCBBBBBAB, BB) -> 3
OCCUR(ZZZZZZZZZZZ, A) -> 0
REAL
Synopsi s REAL ( text1 ) -> number
Note: thi s functi on was formerl y cal l ed NUMBER.
Descri pti on Try to read a real number at the begi nni ng of text1.
Exampl es REAL ( 12.34) -> 12.34
REAL ( 7.23 E 3 meters ) -> 7.23
REAL ( -12E-1 meters ) -> -1.2
Note that i f text i s i n the form of an exponent, (-12E-1
i n the thi rd exampl e), there must be no spaces i n i t.
Errors Unabl e to convert the text i nto a real number
POWER
Synopsi s POWer ( number1 , number2 ) -> real
Descri pti on Return the val ue of number1 rai sed to the power
number2.
PML 1 Expressions
Software Customisation Guide
February 1999
16
Si de effects Numeri c underfl ow causes the resul t to be set to
zero.
Uni ts are consol i dated across POWER.
Exampl e POWER ( -2 , 3 ) -> -8
Errors Fl oati ng poi nt overfl ow.
Zero fi rst argument and nonposi ti ve second
argument (effecti vel y di vi de by zero).
Negati ve fi rst argument and noni nteger second
argument
SQRT
Synopsi s SQrt ( number1 ) -> number
Descri pti on Return the square root of a real .
Exampl e SQRT ( 4 ) -> 2.0
Si de effects Uni ts are consol i dated across SQRT.
Errors Negati ve argument.
VVALUE
VVALUE i s used for the l ate eval uati on of vari abl es.
Synopsi s VVALue ( variable_name ) -> number
VVALue ( variable_name , number ) -> number
Descri pti on With one argument, returns the val ue of the scal ar
vari abl e or the val ue of the array vari abl e el ement as
a number.
With two arguments, returns the val ue of the
el ement correspondi ng to the i ndex number as a
number.
Exampl es VVAL ( !array[1] ) -> 1.0
VVAL ( !array , 2 ) -> 0.0
Si de effects I f the scal ar vari abl e, the array vari abl e or the array
vari abl e el ement does not exi st, the resul t i s
undefi ned.
Errors Scal ar vari abl e may not be i ndexed. For exampl e,
VTEXT (!var[1]) ) wi l l return an error.
Array vari abl e must have an i ndex. For exampl e,
VTEXT ( !array ) ) wi l l return an error.
The stri ng can not be converted to a number.
See al so: VLOGI CAL used for l ate eval uati on when a l ogi cal
resul t i s requi red.
PML 1 Expressions
Software Customisation Guide
February 1999
C-17
VTEXT used for l ate eval uati on when a text
resul t
i s requi red.
C.3.3 Real Arrays
Real array expressi ons can contai n attri butes of type real array, for
exampl e: DESP.
C.4 Using IDs in Expressions
I Ds can be used i n expressi ons. I Ds can be any of the fol l owi ng:
El ement name, for exampl e: /VESS1.
Refno, for exampl e: =23/456.
El ement type further up the hi erarchy, for exampl e: SI TE.
Number wi thi n member l i st, for exampl e: 3.
Type and number wi thi n member l i st, for exampl e: BOX 3.
NEXT, PREV for next, previ ous wi thi n current l i st. Opti onal l y wi th
a count and/or el ement type, for exampl e: NEXT 2 BOX, LAST CYL.
NEXT, PREV MEMBER for next, previ ous wi thi n member l i st.
Opti onal l y wi th a count and/or el ement type. I f the el ement type
gi ven i s onl y val i d as a member then MEMBER i s assumed. For
exampl e, NEXT BOX at an EQUI PMENT wi l l assume MEMBER.
FI RST, LAST for fi rst and l ast i n current l i st. Opti onal l y wi th a
count and/or el ement type.
FI RST, LAST MEMBER for fi rst and l ast i n member l i st. I f the
el ement type gi ven i s onl y val i d as a member then MEMBER i s
assumed.
END to navi gate up from current l i st. END i s si mi l ar to owner
but not qui te the same. For exampl e, i f the current el ement i s a
GROU MEMBER, and i t has been reached from the GROUP then
END wi l l return to the group but OWNE wi l l go to the true
owner.
Attri bute of type ref, for exampl e: CREF
SAME to mean l ast current el ement
NULREF to mean =0/0
CE for the current el ement
PML 1 Expressions
Software Customisation Guide
February 1999
18
OF may be used to nest the opti ons i ndefi ni tel y. For exampl e:
SPEC OF SPREF OF FLAN 1 OF NEXT BRAN.
Thi s denotes the SPEC el ement owi ng the SELE el ement poi nted to by
the SPREF attri bute on the fi rst FLANGE of the next BRANCH. I LEAVE
TUBE, I ARRI V TUBE, HEAD TUBE, TAI L TUBE can be added to
denote tube. For exampl e:
HEAD TUBE OF /BRAN1
An error wi l l occur i f there i s no i mpl i ed tube for the el ement concerned.
Note: Some of the I D syntax cl ashes wi th other types. To al l ow for thi s,
an i d expressi on may al ways be preceded wi th the keyword I D.
For exampl e, I D 3 wi l l mean the thi rd member of the current l i st
rather than a number of val ue 3.
I D arrays can al so be used i n expressi ons. For exampl e, CRFA.
C.5 Positions, Directions and Orientations in
Expressions (PDMS only)
C.5.1 Using Positions in Expressions
The basi c ways of defi ni ng a posi ti on are:
Posi ti on attri bute pl us opti onal WRT. For exampl e:
POS OF /VESS1 WRT /* or P1 POS OF /CYL2
Cartesi an posi ti on. For exampl e:
N 45 W 20000 U 1000
Cartesi an posi ti on from an el ement. For exampl e:
N 1000 FROM /ATEST.
Cartesi an posi ti on from a ppoi nt. For exampl e:
N 1000 FROM P1 OF /BOX2.
Cartesi an posi ti on from an attri bute. For exampl e:
N 1000 FROM POSS OF /SCTN1
Any numeri c val ue wi thi n a posi ti on may i tsel f be an expressi on. For
exampl e:
N (DESP[1] + 10) E
i s a val i d posi ti on expressi on.
The cartesi an posi ti on may opti onal l y be fol l owed by WRT to speci fy
the axi s system. See Secti on C.5.2.
PML 1 Expressions
Software Customisation Guide
February 1999
C-19
C.5.2 WRT (PDMS Only)
The WRT keyword i s used to toggl e between absol ute and rel ati ve uni ts.
When we speci fy an el ement (or attri bute of an el ement) we are
speci fyi ng an absol ute poi nt i n worl d space. The poi nt can be gi ven i n
worl d space or some other axi s. Normal l y the answer i s requi red rel ati ve
to the owner axi s system and thi s i s taken as the defaul t. For exampl e:
Q POS
wi l l return the posi ti on of the current el ement rel ati vel y to i ts owner.
Q POS OF /EQUI P1
wi l l return the posi ti on of EQUI P1 rel ati ve to i ts owner. I f we requi re the
resul t i n some other axi s system then the WRT keyword i s used. For
exampl e:
Q POS WRT /* for the posi ti on i n worl d coordi nates.
When we speci fy a Cartesi an coordi nate we are deal i ng wi th a rel ati ve
posi ti on. For exampl e, N 10 i s meani ngl ess unti l we speci fy the axi s
system, or defaul t to an axi s system. Agai n we use WRT to do thi s,
al though i t i s i mportant to note that i n thi s case we are goi ng from a
rel ati ve posi ti on to an absol ute posi ti on (i n the previ ous exampl e WRT
was used to go from an absol ute posi ti on to a rel ati ve one). For exampl e:
N 100 WRT /BOX1
speci fi es an absol ute posi ti on i n worl d space whi ch i s N100 of /BOX1.
The defaul t i s that Cartesi an coordi nates are i n the owni ng el ements
axi s system. Thi s absol ute posi ti on can be expressed i n di fferent
coordi nate systems: the defaul t i s agai n the owners axi s system.
Note: The CONSTRUCT syntax uses the worl d as the defaul t axi s.
Example
Consi der the fol l owi ng:
A SI TE at (0,0,0) wi th defaul t ori entati on
A ZONE at (100,0,0) wi th defaul t ori entati on
An EQUI PMENT at (100,0,0) wi th ori entati on N I S E
A BOX at (-100,0,0) wi th defaul t ori entati on
See Fi gure C-1.
PML 1 Expressions
Software Customisation Guide
February 1999
20
(-100, 0) wrt Equipment
World origin
Site origin
Zone origin
(100, 0) wrt World
Equipment origin
(200, 0) wrt World
(100, 0) wrt Zone
N
E
N
E
W
N
Box origin
W
N
(100, 100) wrt Zone
(200, 100) wrt World

point (300, 100) wrt World


Figure C-1
The resul t of Q (N 100 WRT /BOX1), shown as i n the pi cture, wi l l
depend on the current el ement:
At the Worl d, the resul t i s (300,100,0), i n Worl d coordi nates.
At the Si te, the resul t i s (300,100,0) i n Worl d coordi nates because
the Worl d i s the owner of the current el ement.
At the Zone the resul t i s (300,100,0) i n Worl d coordi nates, because
the Si te i s the owner of the current el ement, and the Si te
coordi nates are the same as the Worl d coordi nates.
At the Equi pment the resul t i s (200,100,0), whi ch i s the posi ti on
rel ati ve to i ts owner, the Zone. At the Box the resul t i s (100,100,0)
whi ch i s the posi ti on rel ati ve to i ts owner, the Equi pment. WRT can
be further qual i fi ed by FROM.
C.5.3 FROM
I n some cases we requi re an offset from a fi xed poi nt, other than the
posi ti on of an i tem. For exampl e, a ppoi nt or attri bute. The FROM syntax
i s used for thi s. We may sti l l use WRT i n combi nati on wi th FROM, but i n
PML 1 Expressions
Software Customisation Guide
February 1999
C-21
thi s case the WRT i s onl y used to determi ne the axi s di recti on and not the
offset, si nce the offset i s speci fi ed by the FROM part.
Consi der the fol l owi ng:
A SI TE at (0,0,0) wi th defaul t ori entati on
A ZONE at (100,0,0) wi th defaul t ori entati on
An EQUI PMENT at (100,0,0) wi th ori entati on N I S E
A BOX at (-100,0,0) wi th defaul t ori entati on
See Fi gure 5-2.
Example 2
The resul t of Q (N 100 WRT /* FROM /BOX1 ), shown as i n Fi gure C-
2, wi l l depend on the current el ement:
At worl d, Si te, Zone the resul t i s (200,200,0) si nce the offset of N100
i s appl i ed i n worl d axi s rather than /BOX1 axi s.
At the equi pment the resul t i s (100,200,0). Note: the defaul t axi s for
the resul t i s the zone.
At /BOX1 the resul t i s (200,0,0), because the defaul t axi s for the
resul t i s the equi pment.
Example 3
Q (N 100 WRT /BOX1 FROM /* ) gi ves the same absol ute posi ti on as the
ZONE.
At the Zone and SI TE the resul t i s (100,0,0)
At EQUI the resul t i s (0,0,0)
At BOX1 the resul t i s (0,-100,0), rememberi ng that the resul t axi s i s
the EQUI .
PML 1 Expressions
Software Customisation Guide
February 1999
22
(-100, 0) wrt Equipment
World origin
Site origin
Zone origin
(100, 0) wrt World
Equipment origin
(200, 0) wrt World
(100, 0) wrt Zone
N
E
N
E
W
N
Box origin
W
N
(100, 100) wrt Zone
(200, 100) wrt World

point (200, 200) wrt World


Figure C-2
Example 4
Q (N 100 FROM /* )
For thi s we cannot mark an absol ute poi nt on the di agram si nce the
defaul t WRT wi l l vary wi th the current el ement. I n fact for the SI TE,
ZONE, EQUI the poi nt i s marked i n Fi gure C-3, and for the BOX the
poi nt coi nci des wi th the ZONE.
At SI TE, ZONE the resul t i s (0,100,0)
At EQUI the resul t i s (-100,100,0), rememberi ng the defaul t resul t
axi s i s the zone
At BOX1 the resul t i s (0,-100,0), as for Exampl e 2.
PML 1 Expressions
Software Customisation Guide
February 1999
C-23
(-100, 0) wrt Equipment
World origin
Site origin
Zone origin
(100, 0) wrt World
Equipment origin
(200, 0) wrt World
(100, 0) wrt Zone
N
E
N
E
W
N
Box origin
W
N
(100, 100) wrt Zone
(200, 100) wrt World

point (200, 0) wrt World


Figure 5-3
C.5.4 Comparing positions
Two posi ti ons can be compared wi th EQ, NE, GT, LT, GE or LE. The
pai rs of coordi nates are onl y compared i n the coordi nate axes for whi ch
the two posi ti ons are defi ned. A posi ti on attri bute al ways has al l three
coordi nates defi ned. For posi ti ons entered by the user, onl y those
coordi nates whi ch are gi ven by the user are defi ned. For exampl e, i n
N10U3
onl y the Y and Z coordi nates are defi ned, whi l e the X coordi nate remai ns
undefi ned. For the EQ operator, al l the pai rs of defi ned coordi nates
shoul d be equal . For NE, onl y one pai r of defi ned coordi nates need be
di fferent. For GT (LT,GE,LE), al l the defi ned coordi nates of the fi rst
posi ti on shoul d be greater than (l ess than, greater than or equal to, l ess
than or equal to) the defi ned coordi nates of the second posi ti on. Thi s
means that GE i s not the opposi te of LT and LE i s not the opposi te of GT.
I f no coordi nate of the two posi ti ons are defi ned for a common axi s (e.g.
N10 and W4D7), the resul t of the compari son i s undefi ned.
Examples:
PML 1 Expressions
Software Customisation Guide
February 1999
24
POS EQ W1S2D3
Thi s eval uates to true onl y i f POS of the current el ement i s (-1,-2,-3).
POS GT N10 or N10 LE POS
Onl y the second coordi nate of POS i s compared; i f i t i s greater than 10,
then the resul t i s true.
E10N10 GT E0N0
I s true because the i nequal i ty i s veri fi ed for the X and Y axi s (both
coordi nates are undefi ned for the Z axi s, so i t i s i gnored).
E10N0 GT E0N0
I s fal se because the Y components are di fferent axes.
E10N0 GT E0U100
I s true. Al though no compari son can be performed i n ei ther the Y or the Z
axi s, because the components are not present i n both posi ti on constants,
the compari son i s true i n the X component.
N10 EQ W4D7
I s undefi ned (no compari son i s possi bl e).
See al so Secti on C.11, Precisions of Comparisons for tol erances i n
compari ng numbers.
C.5.5 POLAR
The POLAR keyword al l ows posi ti ons to be defi ned i n terms of a di stance
i n a parti cul ar di recti on from a poi nt.
The syntax i s:
POLAR point DISTance expr -+- FROM -+- pos ---.
| | |
| - ori ---|
| |
------------------+--->
Where point can be, for exampl e, a P-poi nt
pos can be, for exampl e, E400 N2500 U100
ori can be, for exampl e, N 45 W
I f FROM i s not speci fi ed the defaul t i s the ori gi n of the owner.
Exampl es:
POLAR N 45 E DIST 20M FROM U 10 M
POLAR AXES PL OF PREV DIST ( ABORE * 10 ) FROM PL OF PREV
PML 1 Expressions
Software Customisation Guide
February 1999
C-25
C.5.5 Direction
The basi c ways of defi ni ng a di recti on are:
Di recti on attri bute pl us opti onal WRT. For exampl e,
HDI R OF /PI PE1 WRT /*
Cartesi an di recti on. For exampl e,
N 45 W
Cartesi an di recti on WRT to an el ement.
Al l Cartesi an di recti ons are returned i n the axi s of the owner of the
current el ement. For exampl e:
(U WRT CE ) wi l l return the Z axi s of the current el ement rel ati ve
to i ts owner.
Q ( Z WRT /SCTN )
wi l l return the Z axi s di recti on of /SCTN rel ati ve to
the owner of the current el ement. For exampl e, i f the
resul t i s requi red i n worl d coordi nates the current
el ement must be the Worl d or a Si te.
FROM pos2 TO pos2. For exampl e,
FROM N 50 WRT CE TO N 100
The CLOSEST keyword, whi ch wi l l fi nd the cl osest el ement i n a
parti cul ar di recti on.
The syntax i s:
>- CLOSEST type -+- WITH exp -.
| |
------------+- DIRECTION dir -+- EXTENT val -.
| |
--------------+--> cont
continued >-+- AFTER val -.
| |
-------------+- FROM ? -.
| |
----------+-->
Where:
EXTENT How far to search i n the di recti on speci fi ed, defaul t
10M
AFTER Di stance al ong vector after whi ch to start search,
defaul t 0M
FROM Speci fi es an al ternati ve start poi nt other than
current el ement. Thi s i s of parti cul ar use for a
branch where you mi ght want to speci fy the HPOS or
PML 1 Expressions
Software Customisation Guide
February 1999
26
TPOS.
Exampl es are:
CLOSEST DIR E
CLOSEST BOX WITH ( PURP EQ FLOO ) DIR D WRT /* EXTENT 20M
CLOSEST VALVE DIR N 45 U FROM E100 N200 U300
CLOSEST BRAN HANG AFTER 2M
C.5.6 Orientations
The basi c ways of defi ni ng an ori entati on are:
Ori entati on attri bute pl us opti onal WRT. For exampl e:
ORI OF /BOX1 WRT /*
Cartesi an ori entati on. For exampl e:
dir I S dir AND dir I S dir
For exampl e:
(E I S U WRT /SCTN1 AND N I S E WRT /SCTN1)
to set an ori entati on of an el ement to that of a secti on, rotated by
90 degrees.
The AXES keyword, whi ch wi l l al l ow you to use P-poi nts to speci fy
ori entati ons.
The syntax i s:
----<---------.
/ |
>-- AXES --*--- PArrive ---|
| |
|--- PLeave ----|
| |
|--- PTail -----|
| |
|--- HHead -----|
| |
|--- HTail -----|
| |
--- PPOINT n --+-- OF - <gid> ---->
An exampl e i s:
( AXES PLEAVE IS AXES PLEAVE OF PREV AND AXES P3 IS
UP )
Thi s wi l l ori ent a branch component, such as a val ve, so that i t i s al i gned
wi th the previ ous component and i ts P3 i s up.
See al so Secti on C.5.4, Comparing Positions.
PML 1 Expressions
Software Customisation Guide
February 1999
C-27
C.6 Text Expressions
Text expressi ons can contai n the fol l owi ng:
A text stri ng, whi ch must be encl osed i n quotes. For exampl e:
FRED.
A PDMS attri bute of type text or word. For exampl e: FUNC
A si ngl e el ement of a word array attri bute. For exampl e: ELEL[2].
Text operators
Text functi ons
C.6.1 Text Operator
The text operator avai l abl e i s +, used for concatenati on
Synopsi s text1 + text2 -> text
Descri pti on Return the concatenati on of two text stri ngs.
Exampl e no + space -> nospace
Errors Text resul t too l ong.
C.6.2 Text Functions
The text functi ons avai l abl e are:
AFTER
BEFORE
DI STANCE
LOWCASE, UPCASE
PART
REPLACE
STRI NG
SUBS, DSUBS
TRI M
VTEXT
PML 1 Expressions
Software Customisation Guide
February 1999
28
AFTER
Synopsi s AFTER ( text1 , text2 ) -> text
Descri pti on Return the substri ng of text1 whi ch i s after the
l eftmost occurrence of text2 i n text1.
I f text2 does not occur i n text1, the nul l stri ng i s
returned.
Exampl es AFTER ( abcdef , cd ) -> ef
AFTER ( abcdef , x ) ->
AFTER ( abcdef , ) -> abcdef
BEFORE
Synopsi s BEFORE ( text1 , text2 ) -> text
Descri pti on Return the substri ng of text1 whi ch i s before the
l eftmost occurrence of text2 i n text1. I f text2 does not
occur i n text1, text1 i s returned.
Exampl es BEFORE ( abcdef , cd ) -> ab
BEFORE ( abcdef , x ) ->
BEFORE ( abcdef , ) ->
DISTANCE
Synopsi s DI STance ( number1 ) -> text
DI STance( number1, logical1, logical2, logical3,
number2, logical4) -> text
Defi ni ti on
One argument.
I f the current di stance uni ts are FI NCH, text i s the
conversi on of the deci mal i nches val ue number1 i nto
the format aabb.cc/dd. For exampl e:
DI STANCE ( 17.5 )
i s converted to
15.1/2
Otherwi se, text i s the STRI NG conversi on of
number1.
Six arguments.
The format i s:
DI ST/ANCE (distance, feet, usformat, fraction,
denom_or_dp, zeros)
where:
distance i s the numeri c di stance i n i nches that i s to be
formatted.
PML 1 Expressions
Software Customisation Guide
February 1999
C-29
feet i s a l ogi cal fl ag set to true i f output i s to be i n feet and
i nches and to fal se i f output i s to be i n i nches.
usformat i s a l ogi cal set to true i f US format i s to be used or fal se
i f PDMS format i s to be used.
fraction i s a l ogi cal set to true i f the fracti onal component i s to
be output as a fracti on or fal se i f to be output as a
deci mal denom_or_dp i s a number representi ng the
l argest denomi nator i f fracti on i s
true or representi ng the number of deci mal pl aces i f
i t i s fal se.
zeros i s a l ogi cal set to true i f zeros are to be shown when
that component of the output has no val ue.
For both US and PDMS formats the fol l owi ng rul es are observed:
I f distance i s negati ve, the fi rst symbol i s a mi nus si gn.
I f feet i s true and the di stance i s at l east a foot, then the number of
feet i s output next, fol l owed by a si ngl e quote (). Onl y i f zeros i s
true wi l l the number of feet be output as 0 for di stances l ess than a
foot. Otherwi se the feet wi l l be omi tted.
I f feet have been output, the i nches wi l l be at l east two characters
wi de. Numbers l ess than ten wi l l be preceded by a space i f US
format i s bei ng used or a zero i f PDMS format i s used. A zero wi l l be
output i f there are no whol e i nches.
I f no feet have been output and the di stance i s at l east an i nch, then
the number of i nches i s di spl ayed but wi thout any precedi ng spaces.
Onl y i f zeros i s true wi l l a 0 be output for di stances of l ess than an
i nch.
I f i nches have been output and fractions i s true, these wi l l be
fol l owed by a deci mal poi nt (.).
I f fractions i s true and the number has a fracti onal component, then
the numerator and the denomi nator are shown separated by a sl ash
(/). Thi s i s then bl ank padded up to the wi dth that the l argest
numerator and denomi nator woul d take.
I f fractions i s fal se and the number of deci mal pl aces i s greater than
zero, then the deci mal poi nt (.) i s di spl ayed fol l owed by the
remai nder up to the appropri ate number of deci mal pl aces. I f the
number of deci mal pl aces i s 0 then the deci mal poi nt i s not shown
ei ther.
I f US format has been sel ected then the fol l owi ng addi ti onal rul es are
observed on output:
PML 1 Expressions
Software Customisation Guide
February 1999
30
The () after the number of feet i s fol l owed by a dash (-).
The deci mal poi nt separati ng the i nches from the fracti on i s repl aced
by a space.
The i nches and fracti on of i nches are fol l owed by a doubl e quote().
Example 1. One argument:
DI ST ( 76.23 ) -> 64.15/64 i f the current di stance uni t i s FI NCH,
otherwi se
-> 76.23
Example 2. Six arguments:
The fol l owi ng tabl e bel ow shows sets of opti ons that coul d have been
chosen and the format of the output produced for di fferent numbers.
Bl anks output by the system are represented by underscores(_).
Distance Feet & Inch
US
Fraction
Denom 100
Zeros
Feet & Inch
US
Fraction
Denom 32
No Zeros
Inches
US
Decimal
DP 1
Zeros
Inches
US
Fraction
Denom 4
No Zeros
Feet & Inch
PDMS
Fraction
Denom 2
Zeros
128.5 10-_8_1/2___ 10-_8_1/2__ 128.5 128_1/2 1008.1/2
120.0 10-_0_______ 10-_0______ 120.0 120____ 1000____
11.5 0-11_1/2___ 11_1/2__ 11.5 11_1/2 011.1/2
0.75 0-_0_3/4___ 3/4__ 0.8 3/4 001____
0.0 0-_0_______ ______ 0.0 ____ 000____
-10.0 -0-10_______ -10______ -10.0 -10____ -010____
Errors The val ue i s too bi g to be converted.
More examples:
As an exampl e, i f the current di stance uni ts are feet and i nches, then the
expressi on
(DIST(34.5,TRUE,TRUE,TRUE,100,TRUE))
wi l l resul t i n the text stri ng 2-10.1/2.
I f the expressi on was:
(DIST(34.5,FALSE,TRUE,FALSE,1,TRUE))
the resul ti ng output woul d be 34.5
I f the expressi on was:
(DIST(34.5,FALSE,TRUE,TRUE,4,FALSE))
the resul ti ng output woul d be 34 1/2
PML 1 Expressions
Software Customisation Guide
February 1999
C-31
I f the expressi on was (note the di fferent distance val ue):
(DIST(128.5,TRUE,FALSE,TRUE,2,TRUE))
the resul ti ng output woul d be 1008.1/2
LOWCASE and UPCASE
Synopsi s UPCase ( text1 ) -> text
LOWCase ( text1 ) -> text
Descri pti on Return an upper or l ower case versi on of text1.
Exampl e UPCASE ( Fal se) -> FALSE
LOWCASE ( Fal se) -> fal se
PART
Synopsi s PART(text1, number1)
PART(text1, number1 , text2)
Descri pti on With two arguments, returns the number1
component of text1 assumi ng that text1 i s spl i t on
any whi tespace characters. I f number1 i s negati ve,
counti ng of components starts from the ri ght.
With three arguments, as above, but use text2 as
the separator on whi ch spl i tti ng takes pl ace.
I f the user gi ves a part number hi gher than the
number of components i n the stri ng, the functi on
returns an empty stri ng.
Exampl es PART (x-y-z, 1, -) -> x
PART (a b c d e, 4) -> d
PART (/PI PE45/B9, -1, /) -> B9
PART(aa bb cc, 2) -> bb
PART(aa-bb-cc,3,-) -> cc
REPLACE
Synopsi s REPLace(text1,text2,text3) -> text
REPLace(text1,text2,text3,int1) -> text
REPLace(text1,text2,text2,int1,int2) -> text
Defi ni ti on Repl ace search stri ng text2 i n i nput stri ng text1 wi th
repl acement stri ng text3. I f int1 i s gi ven thi s speci fi es
the fi rst occurrence of text2 at whi ch to start
repl acement. I f int2 i s gi ven thi s speci fi es the
number of repl acements to make. int1 and/or int2
may be negati ve to i ndi cate that the di recti on i s
backwards.
PML 1 Expressions
Software Customisation Guide
February 1999
32
Example 1.
3 arguments:
REPLACE (cat dog cat cat cat dog , cat, dog )
-> dog dog dog dog dog dog
Al l occurrences of cat are repl aced wi th dog
Example 2.
4 arguments: start occurrence gi ven:
REPLACE (cat dog cat cat cat dog, cat, dog, 2)
-> cat dog dog dog dog dog
Al l occurrence of cat from the second occurrence
onwards are repl aced wi th dog
REPLACE(cat dog cat cat cat dog ,cat, dog, -2)
-> dog dog dog dog cat dog
Al l occurrences starti ng at the second occurrence
from the end of the stri ng and movi ng backwards are
repl aced
Note that a negati ve fourth argument wi thout a fi fth
argument i mpl i es backwards mode.
Example 3.
5 arguments: start occurrence and number of
repl acements gi ven:
REPLACE (cat dog cat cat cat dog, cat,dog, 2,2)
-> cat dog dog dog cat dog
Repl ace two occurrences of cat starti ng at second
occurrence
REPLACE (cat dog cat cat cat dog, ,cat, dog, 2, -
2)
-> dog dog dog cat cat dog
Repl ace two occurrence i n backwards di recti on
starti ng at the second occurrence
REPLACE (cat dog cat cat cat dog, cat, dog,-2,2)
-> cat dog cat dog dog dog
Repl ace two occurrences i n forwards di recti on
starti ng at second occurrence from the
end of the stri ng
REPLACE (cat dog cat cat cat dog,cat, dog, -2, -
2)
-> cat dog dog dog cat dog
Repl ace two occurrence i n backwards di recti on
starti ng at second occurrence from the end of the
stri ng
The fol l owi ng exampl es al l gi ve the same resul t:
PML 1 Expressions
Software Customisation Guide
February 1999
C-33
REPLACE(cat1 cat2 cat3 cat4 cat5 cat6 cat7 cat8 cat9 cat10, cat, mouse, 4, 2)
REPLACE(cat1 cat2 cat3 cat4 cat5 cat6 cat7 cat8 cat9 cat10, cat, mouse, 5, -2)
REPLACE(cat1 cat2 cat3 cat4 cat5 cat6 cat7 cat8 cat9 cat10, cat, mouse,-6, -2)
REPLACE(cat1 cat2 cat3 cat4 cat5 cat6 cat7 cat8 cat9 cat10, cat, mouse, -7, 2)
I n each case, the output stri ng i s
cat1 cat2 cat3 mouse4 mouse5 cat6 cat7 cat8 cat9
cat10
Notes: I f the repl acement stri ng text3 i s a nul l stri ng the
requi red number of occurrences of the search stri ng
text2 are removed. For exampl e:
REPLACE (AAABBABZ, B, ) ->
AAAAZ
REPLACE (AAABBABZ, B, , -1, -1) ->
AAABBAZ
Errors I f the i nput stri ng text1 i s a nul l stri ng or an unset
text attri bute, the i nput stri ng text1 i s returned
unchanged. For exampl e:
REPLACE (, A,B) ->
I f the search stri ng text2 i s l onger than the i nput
stri ng text1, the i nput stri ng text1 i s returned
unchanged. For exampl e:
REPLACE(AA, AAAAA , B)-> AA
I f no occurrence of the search stri ng text2 i s found,
the i nput stri ng text1 i s returned unchanged. For
exampl e:
REPLACE( AAAAAA,B,C) -> AAAAAA
I f requi red occurrence int1 i s not found the i nput
stri ng text1 i s returned unchanged. For exampl e:
REPLACE(AAAAAA, A, B, 10 ) -> AAAAAA
I f the number of repl acements requi red int2 i s
greater than the actual number of occurrence from
the speci fi ed start occurrence, repl acements are
made up to the end of the stri ng ( or begi nni ng i n
backwards mode). For exampl e:
REPLACE(AAAAAA, A, B, 2, 8) -> ABBBBB
REPLACE (AAAAAA, A, B, -3, 8) -> BBBBAA
STRING
Synopsi s STRi ng ( any scalar type ) -> text
STRi ng ( number , text1 ) -> text
STRi ng ( pos , text1 ) -> text
Descri pti on Turns a val ue i nto a text stri ng.
With a single argument the STRI NG functi on can
PML 1 Expressions
Software Customisation Guide
February 1999
34
be appl i ed to the fol l owi ng scal ar data types:
numeri c
l ogi cal
i d
posi ti on
di recti on
ori entati on
Wi th onl y one argument, deci mal pl aces are output
to gi ve a maxi mum of 6 si gni fi cant fi gures. Trai l i ng
zeros are al ways removed i n thi s case.
With two arguments the data type may be ei ther
numeri c (scal ar) or posi ti on or di recti on. Wi th two
arguments, convert a number or posi ti on i nto a text
stri ng usi ng the format descri bed by text1, whi ch
may take any of the val ues between D0 and D6 (or
d0 and d6), where the number i ndi cates the
number of deci mal pl aces.
Note: For numbers, STRI NG al ways outputs val ues as
mi l l i metres. I f uni t conversi on i s needed then the
DI ST functi on shoul d be used. For posi ti ons, the
current di stance uni ts are used.
Exampl es STRI NG ( 1 ) -> 1
STRI NG ( 1 , D3 ) -> 1.000
STRI NG ( 1.23456789 ) -> 1.23457
STRI NG(1.1230000) ->1.123
STRI NG ( 1.23456789 , D3 ) -> 1.235
STRI NG (9*9 LT 100) -> TRUE
STRI NG (OWN OF CE) -> /PI PE1
STRI NG(POS) ->
W1000 N20000
U18000
STRI NG(POS, D4 ) ->
W10000.1234 N20000.1234 U18000.1234
STRI NG(HDI R OF /PI PE1-1) -> D
STRI NG(E 22.0125 N, D2) -> E 22.01 N
STRI NG (ORI OF NEXT) -> Y I S D AND Z I S
U
SUBSTRING and DSUBSTRING
Synopsi s SUBStri ng ( text1 , number1 ) -> text
SUBStri ng ( text1 , number1 , number2 ) -> text
DSUBStri ng ( text1 , number1 ) -> text
DSUBStri ng ( text1 , number1 , number2 ) -> text
PML 1 Expressions
Software Customisation Guide
February 1999
C-35
Descri pti on With two arguments, return the substri ng of text1
begi nni ng at the posi ti on number1 to the end of text1.
With three arguments, return the substri ng of
text1 begi nni ng at the posi ti on number1 and of
l ength number2. I f number1 i s negati ve, then
counti ng of characters starts from the RHS of the
i nput stri ng. I f number2 i s negati ve, then characters
up to and i ncl udi ng the start posi ti on are returned.
DSUBSTRI NG used wi th characters whi ch have a
di spl ayed wi dth that i s di fferent from standard
characters, such as Japanese.
I f the chosen range i s outsi de the ori gi nal stri ng, an
empty stri ng i s returned.
Exampl es SUBSTRI NG ( abcdef , 3 ) -> cdef
SUBSTRI NG ( abcdef ,-3 ) -> abcd
SUBSTRI NG ( abcdef , 3 , 2 ) -> cd
SUBSTRI NG ( abcdef , -3, 2 ) -> de
SUBSTRI NG ( abcdef , 3 , -2 ) -> bc
SUBSTRI NG ( abcdef , 10 ) ->
SUBSTRI NG ( abcdef , -10 , 2 ) -> ab
TRIM
Synopsi s TRI M ( text1 ) -> text
TRI M ( text1, text2 ) -> text
TRI M ( text1, text2, text3 ) -> text
Defi ni ti on When only one argument i s suppl i ed, TRI M
removes al l spaces to the l eft (l eadi ng) and ri ght
(trai l i ng) of text1 and returns the answer i n text.
When two arguments are supplied, text2 speci fi es
where the spaces shoul d be removed from: ei ther L
or l for l eft, R or r for ri ght, and M or m for
mul ti pl e (where mul ti pl e occurrences of bl anks are
squeezed to a si ngl e spaces) or any combi nati on of
the three key l etters. So the defaul t i s LR when thi s
fi el d i s omi tted.
When the third argument text3 i s al so suppl i ed,
thi s shoul d onl y be a si ngl e character whi ch
overri des the space character as the character bei ng
tri mmed.
Exampl es TRI M ( How now, brown cow , LRM )
-> How now, brown cow
TRI M ( 10.3000, R, 0 )
-> 10.3
PML 1 Expressions
Software Customisation Guide
February 1999
36
VTEXT
VTEXT i s used for the l ate eval uati on of vari abl es.
Synopsi s VTEXT ( variablename ) -> text
VTEXT ( variablename , number ) -> text
Descri pti on With one argument, get the val ue of the scal ar
vari abl e or the val ue of the array vari abl e el ement.
With two arguments, get the val ue of the el ement
correspondi ng to the i ndex number.
The val ue i s returned as a text stri ng.
Exampl es VTEXT ( !var ) -> hel l o
VTEXT ( !array[1] ) -> 1.00
VTEXT ( !array , 2 ) -> 0.00
Si de effects I f the scal ar vari abl e, the array vari abl e or the array
vari abl e el ement does not exi st, the resul t i s
undefi ned.
Errors Scal ar vari abl e may not be i ndexed (e.g. VTEXT
(!var[1]) )
Array vari abl e must have an i ndex (e.g. VTEXT (
!array ) )
See al so: VLOGI CAL used for l ate eval uati on when a l ogi cal
resul t i s requi red.
VVALUE used for l ate eval uati on when a numeri c
resul t i s requi red.
C.7 Late Evaluation of Variables in expressions
The functi ons VVALUE, VLOGI CAL and VTEXT are used for l ate
eval uati on of PML vari abl es, that i s, they enabl e you to speci fy PML
vari abl es i n expressi ons whi ch wi l l not be eval uated unti l the expressi on
i s eval uated. For exampl e, when you are creati ng a report templ ate, you
are actual l y creati ng a macro whi ch wi l l run when a report i s generated.
Al l vari abl es i n a report templ ate must therefore be preceded by a
sui tabl e l ate eval uati on operator, otherwi se the system wi l l try to
substi tute a val ue for the vari abl e when i t i s entered on the form. The
di fference between the operators i s the type of output. VVALUE i s used to
output a numeri c val ue, VLOGI CAL to output a l ogi cal vari abl e and
VTEXT to output a text vari abl e.
PML 1 Expressions
Software Customisation Guide
February 1999
C-37
C.8 PDMS Attributes in Expressions
Al l PDMS attri butes and pseudoattri butes may be recogni sed wi thi n
expressi ons. Opti onal l y they may be fol l owed by OF to denote a di fferent
el ement to the current one. e.g. POS OF /VESS1. Brackets may be used to
denote an el ement of an array, for exampl e DESP[8 + 1] for the ni nth
val ue of DESP. Si nce syntax cl ashes are possi bl e, the keyword ATTRI B
may be used to denote that an attri bute fol l ows. For exampl e, ATTRI B E
wi l l denote the pseudoattri bute EAST as opposed to the start of a
posi ti on or di recti on. PDMS attri butes are descri bed i n the rel evant
manual s. Pseudoattri butes whi ch can be used i n expressi ons are l i sted
i n Secti on 10.8.
C.9 Querying Expressions
Al l expressi ons may be queri ed. Arrays are al ways concatenated i nto a
si ngl e vari abl e. I mperi al val ues are al ways output as i nch to vari abl es.
Thi s preserves maxi mum accuracy. To output i n fi nch, then the di stance
functi on must be used. I n general expressi on do not have to be encl osed i n
brackets, but to be sure that other queri es are not pi cked up by mi stake
then i t i s advi sabl e to do so. Parti cul ar queri es whi ch coul d l ead to
confusi on are those avai l abl e both outsi de and i nsi de expressi ons. These
are:
Q PPOI NT n
Q POS or cartesian position
Q ORI or cartesian orientation
The functi onal i ty may vary between outsi de and i nsi de expressi on
queri es. For exampl e, Q N 100 FROM /POSS i s not val i d. I t must be
entered as Q (N 100 FROM /POSS )
C.10 Units in Expressions
When a user enters a l i teral val ue then the uni ts are not necessari l y
known. The uni ts for PML vari abl es are al so unknown. Where uni ts are
known, then al l i nternal val ues are set to mm. The val ue i s then
converted to the target (l ocal ) uni ts on assi gnment to a vari abl e or on
output.
To cope wi th unknown uni ts each val ue remembers i ts ori gi nal uni ts
i nternal l y. An attempt i s then made to al l ow for unknown uni ts across
operators.
The i nternal setti ngs for uni ts are as fol l ows:
PML 1 Expressions
Software Customisation Guide
February 1999
38
NONE no uni ts. e.g. attri bute OBS
UNKN unknown uni ts. e.g. 10
MM di st/bore attri bute i f uni ts are MM, or l i teral .e.g. 10 mm.
I NCH di st/bore attri bute i f uni ts are I NCH/FI NCH, or l i teral .
e.g. 10
SQI N Mul ti pl y two I NCH val ues together, or l i teral e.g. 10 sq
i n.
CUI N Mul ti pl y SQI N by I NCH, or l i teral e.g. 10 cu i n
On compari son, addi ti on or subtracti on of two val ues the fol l owi ng
assumpti ons are made. I f one of the uni ts i s unknown and the other i s
anythi ng other than UNKN, then the unknown val ue i s assumed to have
the same uni ts as the known uni ts. A sui tabl e conversi on i s then done i f
the known uni ts i s I NCH or SQI N or CUI N.
For exampl e:
(XLEN GT 10).
I f we are worki ng i n di stance uni ts of i nches, i t i s known that XLEN i s a
di stance val ue. I nternal l y the val ue i s hel d i n mm, but the uni ts are hel d
as I NCH. The uni ts for 10 are hel d as unknown. On doi ng the
compari son, the 10 i s assumed to be i nches, and thus mul ti pl i ed by 25.4
to ensure that the compari son works as expected.
Speci al acti on i s al so taken to preserve the correct uni ts across
mul ti pl i cati on, di vi si on, POWER and SQRT, i n parti cul ar the
mai ntenance of SQI N and CUI N. I n these si tuati ons, uni ts of %UNKN
are treated as none. For exampl e, (10 * XLEN) i s assumed to resul t i n
I NCH rather than SQI N. An excepti on i s made when a reci procal woul d
resul t from di vi si on. For exampl e: for (10 / XLEN) we assume that the 10
i s i n i nches rather than none.
C.11 Precision of Comparisons
To al l ow for smal l l osses of accuracy, the fol l owi ng tol erances are used.
Number Tol erance factor of 0.000001. i .e. i f the di fference
between two real s i s not greater than 0.000001*
(maxi mum of the two val ues) then the val ues are
consi dered to be equal . e.g.
(1.000001 GT 1)
i s fal se as i t consi ders 1.000001 and 1 to be equal
(1.000002 GT 1)
i s true
PML 1 Expressions
Software Customisation Guide
February 1999
C-39
Posi ti on Consi dered to be true i f wi thi n 0.5 mm of one
another.
Di recti on or Ori entati on
Consi dered to be equal i f val ues are wi thi n 0.005
C.12 Undefined Values
I n order to permi t expressi ons l i ke ((DI AM GT 200.0) OR (TYPE EQ
BOX)), expressi ons must be abl e to cope wi th undefi ned val ues.
General l y, appl yi ng an operator to one or more undefi ned arguments has
an undefi ned resul t. Two excepti ons are: the use of the AND operator
wi th a fal se argument, wi l l resul t i n fal se, regardl ess of whether or not
the remai nder of the arguments are defi ned; and OR whi ch returns true
i f any of i ts arguments i s true. For exampl e, consi der appl yi ng the above
expressi on when the current el ement i s a box. DI AM i s undefi ned,
therefore (DI AM GT 200.0) i s al so undefi ned. However, (TYPE EQ BOX)
i s certai nl y true and so the fi nal resul t of the whol e expressi on eval uates
to true.
An undefi ned resul t occurs when:
One of the operands or arguments of a functi on (except some cases of
AND and OR)
i s undefi ned.
An attri bute i s unavai l abl e for the correspondi ng el ement
(e.g.DI AM OF OWNER when the current el ement i s a box).
An el ement i s undefi ned (e.g. OWNER when the current el ement i s
the WORLD).
An attri bute i s unset (e.g. text attri bute or UDA of l ength 0).
A vari abl e i s undefi ned (e.g. VVAL(!ARC6) where !ARC6 has never
been i ni ti al i sed).
Two posi ti on constants are compared wi th GT, GE, LT or LE and
they have no common coordi nates (e.g. N10 EQ E5).
I f the resul t of the whol e expressi on i s undefi ned, an error occurs.
C.12.1Unset Values
A parti cul ar cl ass of undefi ned val ues are unset val ues. The concept
exi sts for attri butes whi ch are val i d for a gi ven el ement, but for whi ch no
val ue has been assi gned. Typi cal l y these may be el ements of an array, or
word attri butes. References of val ue =0/0 are al so treated as unset.
PML 1 Expressions
Software Customisation Guide
February 1999
40
Unset val ues are propagated as for undefi ned val ues (except for Bool ean
operati ons- see bel ow). Undefi ned val ues take precedence over unset.
There i s a speci fi c logical functi on UNSET to test i f a val ues i s unset.
Across compari sons, unset val ues are not propagated, but are treated as
fol l ows:
EQ, GT, GE, LT, LE Resul ts i n fal se
NE Resul ts i n TRUE.
OR , AND Unset val ues are treated as fal se.
For exampl e, i f DESP(2) and :LVAL(3) are unset then:
(DESP(2) GT 99) -> Fal se
(DESP(2) NE 33) -> True
(:LVAL(3) AND TRUE) -> Fal se
Software Customisation Guide
February 1999
D-1
Appendix D: PDMS Attribute Names
The fol l owi ng names shoul d be used when accessi ng a PDMS attri bute as
a member of a DBREF object:
!DBREF.Attributename
PDMS Attribute Names
Software Customisation Guide
February 1999
D-2
Attribute
Name
Data Type Hash
Code
Description
Abbreviation Text(8) ABRE Abbreviation
Ablength Integer ABLE Abbreviation Length
Abop Position(3) ABOP Bottom of Arrive Pipe
Abore Real ABOR Arrive Bore
Acbore Real ACBO Actual Bore
Aconnect Word ACON Arrive Connection Type
Acport Reference ACPO Access Port Reference
Actlength Real ACTL Actual Length
Adegrees Real ADEG Angle
Adend Real ADEN Addition Factor (Unit Definition)
Adesparam Real(100) ADES Design Parameters of Attached Element
Adirection Direction(3) ADIR Arrive Direction
Agradient Real AGRD Arrive Ppoint Gradient
Akey Word AKEY Attribute Key
Akeylist Word(20) AKYL Attribute-keylist (for Radial dimensions)
Alignment Text ALIGN Vertical Alignment
Allowance Real ALLO Allowance
Angle Real ANGL Angle
Anpjoint Position(3) ANPJ Attached Neutral Point Of Joint
Anpsection Position(3) ANPS Attached Neutral Point Of Section
Answer Real ANSW Answer, When A Real Is Expected
Antype Text(120) ANTY Analysis Type
Aodiam Real AOD Arrive Ppoint Outside Diameter
Aparam Real(100) APAR Attached Catalogue Parameters
Apoffset Real(2) APOF Leaderline Attachment Point
Aposition Position(3) APOS Arrive Position
Appdate Text(12) APDT Date Of Approval
Application Text(20) APPL Application
Approver Text(28) APPR Approver
Aproperty Real APRO Spot Value For Property A
Arctolerance Integer ATOL Arc Tolerance
PDMS Attribute Names
Software Customisation Guide
February 1999
D-3
Area Integer AREA Area
Arno Integer ARNO Picture File Area Number
Arrive Integer ARRI Arrive Ppoint
Asubtended Real ASUB Angle Subtended 3rd Point Reference
Atext Text(120) ATEX Replacement Text String
Atlength Real ATLE Length Of Arrive Implied Tube
Atlst Word(50) ATLS Access Type List
Atname Word ATNA Attribute Name
Atop Position(3) ATOP Top Of Arrive Pipe
Attconnect Word ATTC Attached Connection Type
Attype Word ATTY Attachment Type
Author Text(28) AUTH Author
Azidefault Real AZID Default Azimuth Value
Azifactor Real AZIF Azimuth Attractor Factor
Azilimits Real(2) AZIL Azimuth Limits (Min/Max)
Azisetflag Logical AZIS Flag - Ignore Azimuth Values If False
Baindicator Text BAIN Before/After Indicator
Bangle Real BANG Beta Angle
Bdiameter Real BDIA Bolt Diameter
Beadefault Real BEAD Default Bearing Value
Beafactor Real BEAF Bearing Attractor Factor
Bealimits Real(2) BEAL Bearing Limits (Min/Max)
Beasetflag Logical BEAS Flag - Ignore Bearing Values If False
Bflex Real BFLE Out Of Plane Flexibility Factor For Bends
Bfpen Integer BFPN Backface Pen
Bitems Word(10) BITE Bolt Items
Bitlength Real(10) BITL Bolt Item Lengths
Bkey Text(4) BKEY Draft User Defined Symbol Name
Blength Real(200) BLEN Bolt Length
Blnk Logical BLNK Auto-Blanking Flag
Blrfarray Reference(10) BLRF Bolt Reference Array
Bltmethod Text(3) BLTM Bolt Method
Bltref Reference BLTR Bolt Reference
Bmargin Real BMAR Auto-Blanking Margin
PDMS Attribute Names
Software Customisation Guide
February 1999
D-4
Bore Real BORE Pipe Bore
Bpoffset Real(4) BPOF Leader Bend Point Offset
Bproperty Real BPRO Spot Value Of Property B
Brlock Integer BRLO Branch Positioning Status Code (Router)
Bselector Text(3) BSEL Bolt Selector
Bsfname Text(73) BSFN Backing Sheet Filename
Bspec Reference BSPE Bolt Specification
Bsrf Reference BSRF Backing Sheet Reference
Bstatus Integer BSTA Branch Status Code (Router)
Btext Text(120) BTEX Annotation Text String
Bthkness Text(1000) BTHK Parameterised Bolt Thickness
Btolerance Real BTOL Bore Tolerance
Btype Word BTYP Bolt Type
Built Logical BUIL Flag - Built/Unbuilt
Bulgefactor Real BULG Bulge Factor
Bunits Word BUNI Bore Units
Carea Text(4) CARE Isodraft Compipe Attribute
Casref Reference CASR Case Reference
Catref Reference CATR Catalogue Reference
Catype Integer CATY Card Type
Ccentre Integer CCEN Cost Centre
Cclass Integer CCLA Cost Class
Ccolour Integer CCOL Default Spec/ Spec Item Colour
Cconnect Word CCON Connection Type (Structural Pline)
Cdetail Reference CDET Catalogue Detail
Cdplist Word(100) CDPL List Of Valid Current Design Properties
Cdproperty Real CDPR Current Design Dataset Property
Cdrg Text(24) CDRG Isodraft Compipe Attribute
Cend Text CEND Connection At Other End Of Cref (Start/
End)
Cfrarray Reference(10) CFRA Cofitting Reference Array For Pfittings
Chamfers Real(2) CHAM Chamfer Lengths
Cheight Real CHEI Character Height
Chosht Real CHOS Crosshairs Overshoot
PDMS Attribute Names
Software Customisation Guide
February 1999
D-5
Chpen Integer CHPN Crosshairs Pen
Ciweight Real CIWE Total Insulation Weight
Clflag Logical CLFL Centreline Flag
Cline Logical CLFG Centreline Flag
Cllength Real CLLE Branch Centre Line Length
Clmode Text CLMO Centre Line Mode 1 Cl Off 2 Cl On
Clpen Integer CLPN Centre Line Pen
Clrf Reference CLRF Actual Circulation List Reference
Cmpref Reference CMPR Component Reference
Cmpx Text(20) CMPX Design-Manager Exclusion Text Attribute
Cnumber Text(14) CNUM Isodraft Compipe Attribute
Comment Text(120) COMM Comment
Copies Integer COPI Number Of Copies
Corallowance Real CORA Corrosion Thickness
Count Integer COUN Counter
Cparam Real(100) CPAR Catalogue Parameters
Cpen Integer CPEN Pen For Internal Columns
Cpfarray Reference(500
)
CPFA Array Of Ports This Points To
Cplot Text(120) CPLO Plot (In Catalogue)
Cpoffset Real(2) CPOF Leaderline Connection Point For Sytms
Cposition Position(3) CPOS Local Cell Position
Cproperty Real CPRO Spot Value Of Property C
Cpull Real(3) CPUL Cold Pull - Translational
Cputwist Real(3) CPUT Cold Pull - Twist
Cref Reference CREF Connection Reference
Crfarray Reference(10) CRFA Connection Reference Array
Criteria Integer(250) CRIT Selection Criteria (for tag & rep. Rules)
Cspacing Real CSPA Character Spacing Factor
Cspc Text(6) CSPC Isodraft Compipe Attribute
Cstandard Text(120) CSTA Catalogue Standard
Cstref Reference CSTR Constraint Reference
Ctxt Text(120) CTXT Card Text
Ctyattached Word CTYA Attached Connection Type
PDMS Attribute Names
Software Customisation Guide
February 1999
D-6
Ctyend Word CTYE End Connection Type
Ctyowning Word CTYO Owning Connection Type
Ctype Word(2) CTYP Connection Type
Ctystart Word CTYS Start Connection Type
Curfit Text CURF Curve Fitting: 1 Default, 2 Cubicfit
Cutback Real CUTB Cutback
Cutlength Real CUTL Cut Length (Steelwork)
Cutplane Direction(3) CUTP Cutting Plane Normal
Cweight Real CWEI Total Component Weight
Date Text(12) DATE Date
Dbaccess Text DBAC DB Access
Dbclaim Text DBCL DB Claim
Dbdepth Integer DDEP Database Depth Within Hierarchy
Dbfilename Text DBFI DB filename
Dbfnumber Integer DBFN DB file number
Dbname Text DBNA DB name
Dbnumber Integer DBNU DB Number
Dbottom Real DBOT Bottom Diameter
Dbtype Word DBTY DB type (DESI, CATA etc)
Dconnect Word DCON Design Ppoint Connection Type
Dddfault Text(1000) DDDF Parameterised Design Data Value
Ddefaults Real(3) DDEF Port Distance Flexibility Defaults
Ddegrees Real DDEG Radial Dimension Angle
Ddesparam Real(100) DDES Design Parameters As Distance
Ddirection Direction(3) DDIR Design Ppoint Spherical Direction
Ddname Reference DDNM Design Element Reference
Ddnx Text(120) DDNX Text Equivalent Of DDNM
Ddproperty Text(1000) DDPR Parameterised Design Data Property Value
Decplaces Integer DECP Decimal Places
Default Real DEFA Default
Delposition Position(3) DELP Delta Position
Density Real DENS Spot Value Of Density
Depdefault Text(250) DEPD Default Value Of Local Design Property
Deplist Word(100) DEPL List Of Local Design Properties
PDMS Attribute Names
Software Customisation Guide
February 1999
D-7
Deproperty Text(250) DEPR Local Design Property Value
Description Text(120) DESC Description
Desparam Real(100) DESP Design Parameters
Detail Logical DETA Detail (c.f. Detref)
Detref Reference DETR Detailing Text Reference
Dfflex Real(6) DFFL Displacement Force Flexibility
Dflag Text DFLA Radial Dimension Type Flag
Dflfactors Real(3) DFLF Translational Spring Values (X,Y,Z)
Dflt Text(120) DFLT Default
Dfont Integer DFON Dimension Text Font
Dfunits Reference DFUN Default Unit
Diameter Real DIAM Diameter
Dimension Logical DIME Dimension Line Pen
Dimposition Position(3) DIMPOS Derived 3D Dimension Position
Direction Direction(3) DIR Direction
Displacement Real(3) DISP Displacement Force Flexibility
Dkey Word DKEY Data Key
Dlevel Integer DLEV Drawing Level
Dlfg Text DLFG Dimension Line Flag
Dlimit Real(6) DLIM Displacement Limit
Dlpen Integer DLPN Dimension Line Pen
Dmfarray Reference(2) DMFA Isodraft Reference Dimension Attribute
Dmflex Real(9) DMFL Displacement Moment Flexibility
Dmspacing Real DMSP Lower Limit - Parallel Dimension Spacing
Dmtxt Text(120) DMTX Dimension Text
Dmtype Word(2) DMTY Isodraft Reference Dimension Attribute
Dnsty Real DNST Density (Pseudo Attribute)
Doffset Real DOFF Dimension Line Offset
Down Real D Position Downing
Dpbore Real DPBO Design Point Bore
Dpconnect Word DPCO Design Point Connection Type
Dpdirection Direction(3) DPDI Design Point Direction
Dpfname Text(120) DPFN Isodraft Dynamic Detail Area Attribute
Dpgradient Real DPGR Design Point Gradient
PDMS Attribute Names
Software Customisation Guide
February 1999
D-8
Dplst Integer(100) DPLS List Of Valid Design Points
Dposition Position(2) DPOS Dimension Line/Arc Position
Dpps Position(3) DPPS Design Point Position
Dproperty Text(1000) DPRO Parameterised Property Expression (Default)
Dpsf Reference DPSF Design Ppointset Reference
Dradius Text(1000) DRAD Parameterised Radial Offset
Drgpriority Integer DRGP Drawing Priority (How To Draw SCTN)
Drnend Direction(3) DRNE End Cutting Plane Normal
Drnstart Direction(3) DRNS Start Cutting Plane Normal
Drps Position(3) DRPS Derived Position (Steelwork Pseudo-
Attribute)
Drrf Reference DRRF Isodraft Repeatability Attribute
Dscode Text(120) DSCO Design Code
Dsetflag Logical(3) DSET Displacement Limits: Ignore Values If False
Dstyle Text DSTY Radial Dimension Style Flag
Dtangle Text DTAN Dimension Text Angle Flag
Dtcheight Real DTCH Dimension Text Character Height
Dterminator Text DTER Dimension Terminator Code
Dtflag Text DTFL Dimension Text Radius Flag
Dtitle Text(32) DTIT Data Title
Dtlheight Real DTLH Dimension Text Letter Height
Dtoffset Real(2) DTOF Dimension Text Offset
Dtop Real DTOP Top Diameter
Dtpen Integer DTPN Dimension Text Pen
Dtradius Real DTRA Dimension Text Radius
Dtref Reference DTRE Catalogue Data Set Reference
Dtuline Text DTUL Dimension Text Underlining Flag
Dtxrtext Text(120) DTXR R-Text Of Detailing Text
Dtxstext Text(120) DTXS S-Text Of Detailing Text
Dtxttext Text(120) DTXT T-Text Of Detailing Text
Dunits Word DUNI Distance Units
Duty Text(120) DUTY Duty
Dwidth Text(1000) DWID Parameterised Width Offset
Dx Text(1000) DX Parameterised Cartesian X Offset
PDMS Attribute Names
Software Customisation Guide
February 1999
D-9
Dxl Text(1000) DXL Parameterised Incremental X Length
Dy Text(1000) DY Parameterised Cartesian Y Offset
Dyl Text(1000) DYL Parameterised Incremental Y Length
East Real E Position Easting
Eccentricity Position(3) ECCE Eccentricity (Steelwork)
Eccjoint Position(3) ECCJ Joint Eccentricity (Steelwork)
Efactor Real EFAC E-Factor
Eforce Real(3) EFOR End Force Vector Components
Elelist Word(200) ELEL Element List
Emoment Real(3) EMOM End Moment Components
Endangle Real ENDA End Angle
Erection Integer EREC Erection Class
Erelease Integer EREL End Releases (Packed)
Etext Text(120) ETEX Example Text
Exbtext Text(180) EXBTEX Expanded Annotation Text
Exdmtxt Text(180) EXDMTX Expanded Dimension Text
Exfile Integer EXFI Extract File Number
Expansion Real EXPA Expanded Dimension Text
Expltxt Text(180) EXPLTX Expanded Projection Line Text
Ezdistance Real EZDI End Load Point In Section
Fcoeff Real(3) FCOE Friction Coefficient
Ffpen Integer FFPN Front-Face Pen
Firesistance Real FIRE Fire Resistance
Fixity Text(12) FIXT Structural Fixity ( = Fixed For Gtstrudl )
Flen Text(73) FLEN External File Name
Flimit Real(3) FLIM Force Limit
Flnm Text(120) FLNM Full Name Of The Element
Flnn Text(120) FLNN Full Name Of The Element, No / Prefix
Flowdirection Word FLOW Flow Direction
Fluref Reference FLUR Fluid Reference
Flwarrow Logical FLWA Flow Arrow
Font Integer FONT Text Font
Force Real(3) FORC Force Vector (X,Y,Z)
Fpen Integer FPEN Fill Pen
PDMS Attribute Names
Software Customisation Guide
February 1999
D-10
Fponumber Integer FPON From Port Number
Fradius Real FRAD Fillet Radius
Fref Reference FREF Fitting Reference
Frposition Position(3) FRPO Eye Point
Fulltype Text FULL Full Type Of The Element
Function Text(120) FUNC Function
Gaps Real(30) GAPS Projection Line Gap Array
Gbox Real GBOX Box Gap
Gcofg Position(3) GCOF Gross Centre Of Gravity
Gmofi Real(9) GMOF Gross Moments Of Inertia (Pseudo Attribute)
Gmref Reference GMRE Geometry Set Reference
Grade Real GRAD Steel Grade
Gradient Real GRDE Gradient Of An Implied Tube
Gsrfarea Real GSRF Gross Surface Area (Pseudo Attribute)
Gstref Reference GSTR Structural Geometry Set Reference
Gtxt Text(120) GTXT Text Storing Rule To Generate Inventory List
Gtype Word GTYP Generic Type
Gvolume Real GVOL Gross Volume (Pseudo Attribute)
Gweight Real GWEI Gross Weight (Pseudo Attribute)
HardType Word HARDTY Hard Type Of The Element
Hbore Real HBOR Head Bore
Hconnect Word HCON Head Connection Type
Hdirection Direction(3) HDIR Head Direction
Hdmfarray Reference(2) HDMF Isodraft Reference Dimension Attribute
Hdmtype Word(2) HDMT Isodraft Reference Dimension Attribute
Heidefault Real HEID Default Height Value
Heifactor Real HEIF Height Attractor Factor
Height Real HEIG Height
Heilimits Real(2) HEIL Height Limits (Min/Max)
Heisetflag Logical HEIS Height Set Flag - Ignore Height Values If
False
Hend Text HEND Connection At Other End Of Href (Head Or
Tail)
Hhbop Position(3) HHBP Bottom Of Hanger Head
Hhbore Real HHBO Hanger Head Bore
PDMS Attribute Names
Software Customisation Guide
February 1999
D-11
Hhconnect Word HHCO Hanger Head Connection Type
Hhdirection Direction(3) HHDR Hanger Head Direction
Hhgradient Real HHGR Hanger Head Gradient
Hhod Real HHOD Hanger Head Outside Diameter
Hhposition Position(3) HHPO Hanger Head Position
Hhtop Position(3) HHTP Top Of Hanger Head
History Integer(120) HIST History Of Sessions Which Made
Modifications
Hlisttypes Word(200) HLIS List Of The Possible Types In Owning
Hierarchy
Hposition Position(3) HPOS Head Position
Href Reference HREF Head Reference
Hrelative Logical HREL Branch Member Head Relative (Router)
Hspec Reference HSPE Hanger Specification
Hsrod Reference HSRO Headrod Specification
Hstube Reference HSTU Head Tube Specification
Htbop Position(3) HTBP Bottom Of Hanger Tail
Htbore Real HTBO Hanger Tail Bore
Htconnect Word HTCO Hanger Tail Connection Type
Htdirection Direction(3) HTDR Hanger Tail Direction
Htgradient Real HTGR Hanger Tail Gradient
Htod Real HTOD Hanger Tail Outside Diameter
Htposition Position(3) HTPO Hanger Tail Position
Httop Position(3) HTTP Top Of Hanger Tail
Htype Word HTYP Hanger Type
Hwrf Reference HWRF Head Working Point (Router)
Icatref Reference ICAT Insulation Catalogue Reference
Icon Text(120) ICON Icon
Idetail Reference IDET Insulation Detail Text Reference
Idlname Reference IDLN Drawlist Name
Idlx Text(120) IDLX Text Equivalent Of IDLN
Idname Reference IDNM Design Data Or Catalogue Component
Name
Idnx Text(120) IDNX Text Equivalent Of IDNM
Idrtext Text(120) IDRT Insulation Detail R-Text
PDMS Attribute Names
Software Customisation Guide
February 1999
D-12
Idstext Text(120) IDST Insulation Detail S-Text
Idttext Text(120) IDTT Insulation Detail T-Text
Imatref Reference IMAT Insulation Material Text Reference
Imxtext Text(120) IMXT Insulation Material X-Text
Imytext Text(120) IMYT Insulation Material Y-Text
Imztext Text(120) IMZT Insulation Material Z-Text
Inref Reference INRE Insulation Reference
Inschedule Text(120) INSC Inspection Schedule
Insl Logical INSL Insulation
Insulation Logical INFG Insulation Flag
Invfarray Reference(500
)
INVF Array Of Inventory Items
Iparam Real(30) IPAR Parameters Of The Insulation Catalogue
Component
Ipressure Real IPRE Internal Pressure
Ispec Reference ISPE Insulation Specification Reference
Ispref Reference ISPR Insulation Specification Component
Reference
Itlength Real ITLE Length Of An Implied Tube
Itposition Position(3) ITPS Position Of An Implied Tube
Jfree Logical JFRE True If Section Position Dominates A
Connection
Jline Word JLIN Joint Line
Jmax Integer JMAX Isodraft Repeatability Attribute
Jnumber Integer(2) JNUM Isodraft Repeatability Attribute
Joiend Reference JOIE Joint End
Joiprefix Word(2) JOIP Isodraft Repeatability Attribute
Joistart Reference JOIS Joint Start
Jusline Word JUSL Justification Pline
Justification Text JUST Justification
Lastmodified Text(120) LASTM Date Of Last Modification
Laxes Orientation(3) LAXE Local Axes (X,Y,Z)
Lbop Position(3) LBOP Bottom Of Leave Pipe
Lbore Real LBOR Leave Bore
Lcase Integer LCAS Load Case Number
PDMS Attribute Names
Software Customisation Guide
February 1999
D-13
Lchain Logical LCHA Chain Flag
Lclm Logical LCLM Claimed Flag
Lconnect Word LCON Leave Connection Type
Ldirection Direction(3) LDIR Leave Direction
Leave Integer LEAV Leave Ppoint
Lend Logical LEND Line End
Length Real LENG Length (Steelwork Pseudo Attribute)
Level Integer(2) LEVE Drawing Level
Lfpen Integer LFPN Label Frame Pen
Lframe Logical LFRA Frame Flag
Lgradient Real LGRD Leave Ppoint Gradient
Lhead Logical LHEA Logical Head Flag
Lheight Real LHEI Letter Height
Limits Real(6) LIMI Limits Box - Volume Of Interest
Linetype Word LNTP Line Type
Lissue Logical LISS Isodraft Repeatability Attribute
Listtypes Word(60) LIST List Of The Types Which Can Be Owned
Llclearance Real LLCL Leader Line Clearance
Lleader Logical LLEA Leader Line Flag
Llisttypes Word(200) LLIS List Of The Possible Types In Member
Hierarchy
Llpen Integer LLPN Label Leader Pen
Lnfarray Reference(480
)
LNFA Hidden Reference Array for linked Vertices
Location Text(120) LOCA Location
Lock Logical LOCK Lock Flag
Lodiam Real LOD Leave Ppoint Outside Diameter
Loffline Logical LOFF Offline Flag
Loheight Real LOHE Ploop Height - From First Ploop In Owning
Panel
Loose Logical LOOS Loose
Lposition Position(3) LPOS Leave Position
Lref Reference LREF Link Reference
Lshape Text LSHA Leader Shape Code
Lspacing Real LSPA Text Line Spacing Factor
PDMS Attribute Names
Software Customisation Guide
February 1999
D-14
Lsrod Reference LSRO Leave Rod Specification
Lstressed Logical LSTR Stress Flag
Lstube Reference LSTU Leave Tube Ref
Ltail Logical LTAI Logical Tail Flag
Lterminator Text LTER Label Terminator Code
Ltlength Real LTLE Length Of Leave Implied Tube
Ltop Position(3) LTOP Top Of Leave Pipe
Lvisibility Logical LVIS Visibility Flag
Lvolume Real(6) LVOL Enclosing Box Volume In Local Co-ordinates
(Pseudo Attribute)
Matref Reference MATR Material Reference
Matxt Reference MATX Material Text
Maxanswer Real MAXA Maximum Answer - When A Real Is
Expected
Maxbore Real MAXB Maximum Bore
Mcount Integer MCOU Number Of Element Members Of Given Type
Memline Word MEML Member Line For SCTNs
Mfarray Word(50) MFAR Model Function Word Array
Mflg Logical MFLG Master Link Flag - Slave If False
Midpoint Position(3) MIDP Midpoint (Steelwork Pseudo Attribute)
Mirror Logical MIRRO Mirror - True If Mirroring Required
Mlimit Real(3) MLIM Moment Limits
Mlnpen Integer MLNP Member-Line Pen
Module Text(120) MODU Module
Mofi Position MOFI Moments Of Inertia
Moment Real(3) MOME Moment (X,Y,Z)
Mpen Integer MPEN Marker Pen
Mrkr Word MRKR 3-Way Component Marker
Mtbegref Reference MTBE Material Tube - Beginning Pipe Component
Ref
Mtclength Real MTCL Material Tube Centre Line Length
Mtendref Reference MTEN Material Tube - Ending Pipe Component Ref
Mtlength Real MTLE Material Tube Length
MtoLength Real MTOL Material List Text Length (Isodraft)
MtoQuantity Real MTOQ Material Take Off Quantity (Isodraft)
PDMS Attribute Names
Software Customisation Guide
February 1999
D-15
Mtocomponen
t
Word MTOC Component MTO Type (Isodraft)
Mtohead Word MTOH Head Tube MTO Type (Isodraft)
Mtoref Reference(20) MTOR Extra Material List Spec Refs. (Isodraft)
Mtotube Word MTOT Leave Tube MTO Type
Mtoxarray Integer(20) MTOX Extra MTO Part Numbers
Mtxref Reference MTXR Material Text Reference
Mtxxtext Text(120) MTXX X-Text Of Material Text
Mtxytext Text(120) MTXY Y-Text Of Material Text
Mtxztext Text(120) MTXZ Z-Text Of Material Text
Multiplier Real MULT Multiplier Factor - Unit Definition (c.f.
ADEND)
Mvertex Reference MVER Reference to Master Vertex
Name Text(120) NAME Name Of The Element
Namn Text(120) NAMN Name Of The Element - No Leading Slash
Naref Reference NARE Neutral Axis Reference
Ncofg Position(3) NCOF Nett Centre Of Gravity
Ncolumns Integer NCOL Number Of Columns
Ngmref Reference NGMR Negative Geometry Set Reference
Nload Real NLOA Nominal Load
Nlpen Integer NLPN Note/Framing Pen
Nmofi Real(9) Nmof Nett Moments Of Inertia (Pseudo Attribute)
Noff Integer NOFF Number Off
Nofg Logical NOFG Link Constraint Inversion Flag
Normal Direction(3) NORM Plane Normal
North Real N Position Northing
Nposition Position(3) NPOS Position In Owner
Nppt Integer NPPT Ppoint Number
Nrelease Integer NREL Nodal Releases
Nrows Integer NROW Number Of Rows
Nsize Real NSIZ Nominal Size
Nsrfarea Real NSRF Nett Surface Area (Pseudo Attribute)
Nstdblength Reference NSTD Non-Standard Bolt Length (Reference To
Dtab)
Number Integer NUMB Number
PDMS Attribute Names
Software Customisation Guide
February 1999
D-16
Nvolume Real NVOL Nett Volume (Pseudo Attribute)
Nweight Real NWEI Nett Weight (Pseudo Attribute)
Oangle Real OANG Overlay Sheet Angle
Obpen Integer OBPN Obscured Face Pen
Obstflag Logical OBFG Obstruction Level Flag (c.f. Obstflag)
Obstruction Integer OBST Obstruction Level
Ocode Text OCOD Hashed Origin Code
Odesparam Real(100) ODES Owning Design Parameters
Olisttypes Word(200) OLIS List Of The Types Which Can Be Owner
Onpjoint Position(3) ONPJ Owning Neutral Point Of Joint
Onposition Real(2) ONPO Onto Point /: Position Of View In The Region
Onpsection Position(3) ONPS Owning Neutral Point Of Section
Oparam Real(100) OPAR Owning Parameters - Catalogue Component
Opdirection Direction(3) OPDI Origin Plane Direction
Oposition Position(2) OPOS Overlay Sheet Position
Oriangle Real(3) ORIA Orientation As Angles
Orientation Orientation(3) ORI Orientation (Pseudo-Attribute)
Oriflag Logical ORIL Orientation Flag
Orin Word ORIN Orientation Symbol Name
Orna Text(120) ORNA Originator
Orrf Reference ORRF Origin Reference (For Templates)
Oset Logical OSET Offset / View-Position Flag
Osfname Text(73) OSFN Overlay Sheet File Name
Oslvisibility Real(12) OSLV Overlay Sheet View Layers Visible
Osrf Reference OSRF Overlay Sheet Reference
Outdiameter Real OUTD Outside Diameter
Overshoot Real OSHT Overshoot
Ownconnect Word OWNC Owning Connection Type
Owner Reference OWNER Owner
Paaxis Integer(2) PAAX Direction Of Axis
Pangle Text(1000) PANG Parameterised Angle Subtended
Param Real(100) PARA Parameters
Paxis Integer(2) PAXI Axial Direction
Pbaxis Integer(2) PBAX Direction of Axis
PDMS Attribute Names
Software Customisation Guide
February 1999
D-17
Pbbtlength Text(1000) PBBT Parameterised Bottom B Length
Pbdiameter Text(1000) PBDM Parameterised Snout Bottom Diameter
Pbdistance Text(1000) PBDI Parameterised Distance To Bottom Surface
Pboffset Text(1000) PBOF Parameterised B Offset
Pbop Position(3) PBOP Bottom Of Pipe
Pbore Text(1000) PBOR Parameterised Bore
Pbtplength Text(1000) PBTP Parameterised Top B Length
Pcaxis Integer(2) PCAX Direction Of C Offset
Pcbtlength Text(1000) PCBT Parameterised Bottom C Length
Pcoffset Text(1000) PCOF Parameterised C Offset
Pconnect Text(1000) PCON Parameterised Connection Type
Pctplength Text(1000) PCTP Parameterised Top C Length
Pdiameter Text(1000) PDIA Parameterised Diameter
Pdirection Direction(3) PDIR Ppoint Direction
Pdistance Text(1000) PDIS Parameterised Distance
Perspective Real PERS Perspective Angle
Pfont Integer PFON Pltext Font
Pfref Reference PFRE Pfitting Reference For Cofittings
Pgradient Real PGRD Ppoint Gradient
Phbop Position(3) PHBP Pipe Head Bottom
Phbore Real PHBO Pipe Head Bore
Phconnect Word PHCO Pipe Head Connection Type
Phdirection Direction(3) PHDR Pipe Head Direction
Pheight Text(1000) PHEI Parameterised Height
Phgradient Real PHGR Pipe Head Gradient
Phod Real PHOD Pipe Head Outside Diameter
Phposition Position(3) PHPO Pipe Head Position
Phtop Position(3) PHTP Pipe Head Top
Picfilename Text(73) PICF Picture File
Pjustification Text PJUS Pltext Justification
Pkdistance Real PKDI Proportional Distance Along Pline
Pkey Word PKEY Pline Identifier Key
Plaxis Integer(2) PLAX 2d Direction Angle
Plclearance Real PLCL Projection Line Clearance
PDMS Attribute Names
Software Customisation Guide
February 1999
D-18
Plcnflag Logical PLCN Pline Centreline Flag
Plconnect Word PLCO Pline Connection
Pldescription Text(120) PLDE Pline Description
Pldirection Real(3) PLDI Projection Line Direction
Plend Position(3) PLEN Pline End
Plines Logical PLFG Plines Flag
Pllevel Integer(2) PLLE Pline Level
Pllst Word(100) PLLS List Of Valid Plines
Plnames Word(100) PLNA List Of Available Pline Names
Plnpen Integer PLNP Pline Pen
Plorientation Orientation(3) PLOR Pline Orientation
Plpen Integer PLPN Projection Line Pen
Plpposition Word PLPP Plane Pipe Positioning Code Word (Router)
Plpurpose Word PLPU Pline Purpose
Plref Reference PLREF Pline Ref
Plrf Reference PLRF Plane Reference
Plspacing Real PLSP Projection Line Text Line-Spacing
Plstart Position(3) PLST Pline Start
Pltuflag Logical PLTU Pline Tube Flag
Pltxt Text(120) PLTX Projection Line Text
Pmaximum Integer PMAX Maximum Part Number (Isodraft)
Pmode Text PMOD Plane Mode
Pname Text(12) PNAM Property Description
Pobore Real POBO Port Bore
Pocket Word POCK Is a branch component in a pocket:
%TOP for Air Lock
%BOTT for Sump
%NONO for NO Pocket
Poconnect Word POCO Port Connection
Pod Real POD Ppoint Outside Diameter
Podirection Direction(3) PODI Port Direction
Poeflag Logical POEF Post-Evaluation Flag
Poffset Text(1000) POFF Parameterised Offset
Poissons Real POIS Spot Value Of Poissons Ratio
Poname Text(120) PONA Port Name
PDMS Attribute Names
Software Customisation Guide
February 1999
D-19
Poorientation Orientation(3) POOR Port Orientation
Pops Position(3) POPS Port Position
Posend Position(3) POSE End Position
Posflag Logical POSI Positioning Flag
Position Position(3) POS Position (Pseudo-Attribute)
Posline Word POSL Positioning P-Line
Posstart Position(3) POSS Start Position
Potarget Reference POTA Port Target Reference
Ppbore Real PPBO Ppoint Bore
Ppconnect Word PPCO Ppoint Connection Type
Ppdescription Text(120) PPDE Ppoint Description
Ppdirection Integer PPDI Ppoint Number For Direction
Pplst Integer(100) PPLS List Of Valid Ppoints
Ppnumber Integer PPNU Design Ppoint/Port Number
Pposition Position(3) PPOS Ppoint Position
Ppref Reference PPREF Ppoint Ref
Pproperty Text(1000) PPRO Parameterised Property Expression
Ppskey Word PPSK Ppoint Pskey
Ppurpose Word PPUR Ppoint Purpose
Ppvisibility Integer(100) PPVI List Of Ppoints Visible
Pqualifier Word PQUA Property Qualifier
Pradius Text(1000) PRAD Parameterised Fillet Radius
Prdefault Text(250) PRDE Property default
Preflag Logical PREF Pre-Evaluation Flag
Pressure Real PRES Pressure
Prfactor Real PRFC Pressure Factor
Prfl Text(120) PRFL Profile
Prlst Word(100) PRLS List Of Valid Properties - Catalogue or
Design
Prmvisibility Logical PRMV Primitive Visibility
Profile Logical PRFG Profile Flag
Property Text(250) PROP Property Value - Catalogue Or Design
Dataset
(Design Property in Dataset under a
Template)
PDMS Attribute Names
Software Customisation Guide
February 1999
D-20
Prpurpose Word PRPU Property Purpose
Prtitle Text(120) PRTI Property Title
Pskey Word PSKE Key For Isodraft
Pspec Reference PSPE Pipe Specification
Pstf Reference PSTF Pointset Reference
Pstref Reference PSTR Structural Pline Set Reference
Psymbols Logical PSFG Piping Component Symbol Flag
Ptangle Text PTAN Projection Text Angle Flag
Ptbop Position(3) PTBP Pipe Tail Bottom
Ptbore Real PTBO Pipe Tail Bore
Ptcdirection Integer(250) PTCD Projection Text Character Direction
Ptcheight Real PTCH Projection Text Character Height
Ptconnect Word PTCO Pipe Tail Connection Type
Ptdiameter Text(1000) PTDM Parameterised Snout Top Diameter
Ptdirection Direction(3) PTDR Pipe Tail Direction
Ptdistance Text(1000) PTDI Parameterised Distance To Top Surface
Ptemperature Real PTEM Pipework Temperature
Ptfarray Reference(17) PTFA Point Reference Array
Ptgradient Real PTGR Pipe Tail Gradient
Ptlheight Real PTLH Projection Text Letter Height
Ptnbarray Integer(20) PTNB Bolt Item Part Numbers (Isodraft)
Ptnhead Integer PTNH Head Tube Part Number (Isodraft)
Ptno Integer PTNO Part Number (Isodraft)
Ptntube Integer PTNT Leave Tube Part Number (Isodraft)
Ptod Real PTOD Pipe Tail Outside Diameter
Ptoffset Real(2) PTOF Projection Line Text Offset
Ptop Position(3) PTOP Pipe Top
Ptpen Integer PTPN Projection Text Pen
Ptposition Position(3) PTPO Pipe Tail Position
Ptref Reference PTRE Point Set Reference
Ptrf Reference PTRF Point Reference
Pts Integer(6) PTS Line Definition Points in Catalogue
Ptspec Text(120) PTSP Paint Specification
Pttop Position(3) PTTP Pipe Tail Top
PDMS Attribute Names
Software Customisation Guide
February 1999
D-21
Ptype Word PTYP Property Type
Punits Text(32) PUNI Data Property Units
Purpose Word PURP Purpose Code
Pvifilter Integer PVIF Ppoint Visibility Filter
Pvno Integer PVNO Picture Version Number
Pwastage Real PWAS Percentage Wastage Factor
Pwidth Text(1000) PWID Parameterised Width / Wall Thickness
Px Text(1000) PX Parameterised Cartesian X Position
Pxbshear Text(1000) PXBS Parameterised Inclination Of Bottom Surface
To Local X Axis
Pxlength Text(1000) PXLE Parameterised X Length of Box
Pxtshear Text(1000) PXTS Parameterised Inclination Of Top Surface To
Local X Axis
Py Text(1000) PY Parameterised Cartesian Y Position
Pybshear Text(1000) PYBS Parameterised Inclination Of Bottom Surface
To Local Y Axis
Pylength Text(1000) PYLE Parameterised Y Length of Box
Pytshear Text(1000) PYTS Parameterised Inclination Of Top Surface To
Local Y Axis
Pz Text(1000) PZ Parameterised Cartesian Z Position
Pzlength Text(1000) PZLE Parameterised X Length of Box
Qualifier Integer QUAL Qualifier
Quantity Integer QUAN Quantity (Always One!)
Question Word QUES Question
Raddefault Real RADD Radius Default Value
Radfactor Real RADF Radius Attractor Factor
Radlimits Real(2) RADL Radius Limits (Min/Max)
Radsetflag Logical RADS Radius Set Flag - Ignore Values If False
Rating Real RATI Pressure Rating
Rcode Text RCOD Direction Of Region Vertical (View Rotation)
Rdefaults Real(3) RDEF Port Rotation Flexibility Defaults
Ref Reference REF Reference Of The Element
Refatt Word REFA Reference Attribute Of Port
Refindex Integer REFI Reference Array Index
Reflist Word(200) REFL Reference Type List
PDMS Attribute Names
Software Customisation Guide
February 1999
D-22
Resolution Real RESO Resolution Of Model (Distance)
Revdate Text(12) RVDT Revision Date
Revision Integer REV Revision
Rflfactors Real(3) RFLF Rotational Spring Values (X,Y,Z)
Rinertia Real(3) RINE Rotational Inertia Vector
Rinside Real RINS Inside Radius
Rlexclude Reference(20) RLEX Array Of Refs Of Special Rules For
Exclusion
Rlimit Real(6) RLIM Rotation Limits
Rlinclude Reference(20) RLIN Array Of Refs Of Special Rules For Inclusion
Rlock Integer RLOC Branch Member Creation Status Code
(Router)
Rmflex Real(6) RMFL Rotational Moment Flexibility
Rname Text(120) RNAM Recipient Name
Rotn Real(3) ROTN Rotation
Routside Real ROUT Outside Radius
Rpen Integer RPEN Pen For Internal Rows
Rpressure Real RPRE Reference Pressure
Rproperty Real RPRO Catalogue Dataset (Pseudo Attribute)
Rptxt Text(20) RPTX Reporter Header Text
Rrsf Reference RRSF Representation Ruleset Reference
Rsetflag Logical(3) RSET Rotation Limits Set Flag - Ignore Values If
False
Rtemperature Real RTEM Reference Temperature
Rtext Text(120) RTEX Text String
Rtype Text(12) RTYP Restraint Type
Ruse Integer RUSE Set in Catalogue if Pprop/ Dprop to be used
as an Rprop in a Geomset/ Pointset
Expression
Rvauthor Text(28) RVAU Revision Author
Rvsnumber Text(120) RVSN Revision Number
Safclass Integer SAFC Safety Class
Sbrarray Reference(10) SBRA Sbolt References
Sbrp Reference SBRP Sbfr To Rpla Ref Link (Router)
Scale Integer SCAL Overlay Sheet View Layers Visible
PDMS Attribute Names
Software Customisation Guide
February 1999
D-23
Scode Text(3) SCOD Short Code (Isodraft Compipe)
Sdthickness Real(3) SDTH Saddle Thickness
Sense Text SENS Sense
Sequence Integer SEQU Sequence Position in Member List
Sesscomment Text(120) SESSC Session Comment
Sessdate Text(120) SESSD Session Date
Sessmodified Integer SESSM Session Of Last Modification
Sessuser Text(120) SESSU User Creating Session
Sforce Real(3) SFOR Start Force Vector Component
Shapemodulu
s
Real SHAP Shape Modulus
Shockload Real(3) SHOC Shock Load Vector
Shop Logical SHOP Shop/Site Flag
Sifactor Real(3) SIF Stress Intensification Factor
Sigfigures Integer SIGF Significant Figures
Size Real(2) SIZE Sheet/Region Size
Sjustification Word SJUS Surface Justification
Skey Text(4) SKEY Symbol Key
Smaximum Integer SMAX Spool Number Maximum (Isodraft)
Smode Text SMOD Sectioning Mode
Smoment Real(3) SMOM Start Moment Component
Sorf Reference SORF Source Ref (For Automatic Application)
Source Text(120) SOUR Source Macro
South Real S Position Southing
Spindle Text(4) SPIN Spindle Key Name
Splh Text(120) SPLH Isodraft Repeatability Attribute ????
Spln Text(120) SPLN Isodraft Repeatability Attribute ????
Splprefix Text(120) SPLP Spool Prefix (Isodraft)
Splt Text(120) SPLT Isodraft Repeatability Attribute
Spref Reference SPRE Component Spec Ref
Spsp Text(2) SPSP Spool Break Indicator (Isodraft)
Sref Text(12) SREF Source Reference
Srelease Integer SREL Start Releases ( Packed )
Srtpriority Integer SRTP Sorting Priority For Dimensions
PDMS Attribute Names
Software Customisation Guide
February 1999
D-24
Stalength Real STAP Straight Tube Arrive Length
Stangle Real STAN Start Angle
Stext Text(120) STEX Text String
StlRef Reference STLR Structural Frame Reference
Stlength Real STLE Straight Tube Leave Length
Stmf Reference STMF Template Selection Pointer
Stress Real STRE Spot Value Of Stress
Stspec Reference STSP Structural Specification
Styf Reference STYF Representation Style Reference
Stype Text STYP Database Type
Supref Reference SUPR Support Reference
Surface Text(120) SURF Surface Preparation
Sysize Real SYSZ Label/Symbol Size
Szdistance Real SZDI Start Load Point In Section
Tanswer Text(256) TANS Text Answer
Tarflag Reference TARF Target Port Reference
Tbore Real TBOR Tail Bore
Tcatref Reference TCAT Trace Catalogue Reference
Tcddefault Text(250) TCDD Current Design Property Default Value
Tcdproperty Text(250) TCDP Current Design Property Value
Tcode Text TCOD Hashed Origin Code
Tconnect Word TCON Tail Connection Type
Tdefault Text(256) TDEF Text Default For Text Styp In Spec
Tdetail Reference TDET Trace Detail Text Reference
Tdirection Direction(3) TDIR Tail Direction
Tdmfarray Reference(2) TDMF Tail Dimension Refs (Isodraft)
Tdmtype Word(2) TDMT Tail Dimension Types
Tdrtext Text(120) TDRT Trace Detail Rtext
Tdstext Text(120) TDST Trace Detail Stext
Tdttext Text(120) TDTT Trace Detail Ttext
Temperature Real TEMP Temperature
Tend Text TEND Connection At Other End Of Tref (Head Or
Tail)
Tgradient Real TGRA Temperature Gradient Of Pipework
PDMS Attribute Names
Software Customisation Guide
February 1999
D-25
Thposition Position(3) THPO Through Point For Viewing
Title Text(120) TITL Title
Tlindicator Logical TLIN True Length Indicator
Tmatref Reference TMAT Trace Material Text Reference
Tmpref Reference TMPR Template Reference From Spco
Tmrf Reference TMRF Template Reference
Tmxtext Text(120) TMXT Trace Material Xtext
Tmytext Text(120) TMYT Trace Material Ytext
Tmztext Text(120) TMZT Trace Material Ztext
Tparam Real(30) TPAR Trace Catalogue Component Parameters
Tpen Integer TPEN Text Pen
Tponumber Integer TPON To Port Number
Tposition Position(3) TPOS Tail Position
Trcg Logical TRCG Tracing Symbol Name ???
Tref Reference TREF Tail Reference
Trsf Reference TRSF Tag Ruleset Reference
Truncation Real TRUN Truncation Value(+ve) or Percent(-ve)
Tsize Real TSIZ Terminator Size
Tspec Reference TSPE Tracing Spec Reference
Tspref Reference TSPR Trace Specification Component Reference
Ttext Text(120) TTEX Text String
Ttype Word TTYP Template Type
Tubeflag Logical TUFG Tubing Flag
Tucllength Real TUCL Tube Centre Line Length Of Branch
Tuflag Logical TUFL Tube Flag
Tulength Real TULE Tube Length Of Branch
Twrf Reference TWRF Tail Working Point (Router)
Type Word TYPE Type Of The Element
Tysequence Integer TYSEQU Type Sequence Number
Ucode Integer UCOD Units Code
Udacpy Reference UDACPY Udacpy
Udname Text(12) UDNA User Defined Attribute Name
Uiweight Real UIWE Unit Insulation Weight
Ukey Integer UKEY User Defined Attribute Unique Internal Key
PDMS Attribute Names
Software Customisation Guide
February 1999
D-26
Ulength Integer ULEN User Defined Attribute - Length Of Data Or
Text
Uname Text(12) UNAM User Name
Up Real U Position Upping
Uref Reference UREF Units Reference
Userclaim Text(120) USERC User claiming element
Usermodified Text(120) USERM User Making Last Modification
Utype Word UTYP User Defined Attribute Type
Uunits Text(20) UUNI Units Text
Uweight Real UWEI Unit Pipe Weight
Vgaplength Real VGAP View Gap Length
Virflag Logical VIRF Virtual Flag
Vlimits Real(6) VLIM View Limits Box
Vratio Real(2) VRAT View Ratio
Vregion Real(4) VREG View Region
Vscale Real VSCA Viewing Scale - Scales Projected View
Vtype Text VTYP View Type (Design View)
Vvolume Real(6) VVOL View Volume
Wdanswer Word WDAN Answer As A Word
Wdesparam Word(100) WDES Design Parameters
Wdiameter Real WDIA Wind Diameter Modulus
Wdmaxanswe
r
Word WDMA Maximum Answer
Wefactor Real WEFA Weight Multiplication Factor
Weighting Real(3) WEIG Weighting Value
West Real W Position Westing
Width Real WIDT Width
Wifactor Real WIFA Wind Multiplication Factor
Wldnumber Integer WLDN Weld Sequence Number (Isodraft)
Wldprefix Text(4) WLDP Weld Number Prefix (Isodraft)
Wmaximum Integer WMAX Weld Number Maximum (Isodraft)
Wparam Word(100) WPAR Parameters
Wpressure Real WPRE Wind Pressure
Wtolerance Real WTOL Wall Thickness Tolerance / Weight
Tolerance
PDMS Attribute Names
Software Customisation Guide
February 1999
D-27
Wvolume Real(6) WVOL World Co-ordinates Enclosing Box Volume
Xbottom Real XBOT X-Length Bottom
Xbshear Real XBSH Inclination Of Bottom Face To Local X Axis
Xlength Real XLEN X-Length
Xoffset Real XOFF X-Offset
Xtext Text(120) XTEX X Text
Xtop Real XTOP X-Length Top
Xtralength Real XTRA Extra Material List Spec Refs
Xtshear Real XTSH Inclination Of Top Face To Local X Axis
Xyposition Position(2) XYPS 2D Position
Xyscale Real(2) XYSC Label XY Size
Ybottom Real YBOT Y-Length Bottom
Ybshear Real YBSH Inclination Of Bottom Face To Local Y Axis
Ylength Real YLEN Y-Length
Yoffset Real YOFF Y-Offset
Youngs Real YOUN Spot Value Of Youngs Modulus
Ytext Text(120) YTEX Text String
Ytop Real YTOP Y-Length Top
Ytshear Real YTSH Inclination Of Top Face To Local Y Axis
Zdirection Direction(3) ZDIR Additional Axis Direction
Zdistance Real ZDIS Position Along P-Line in Section
Zlength Real ZLEN Z-Length
Ztext Text(120) ZTEX Text String
Software Customisation Guide
February 1999
D-1

You might also like