Академический Документы
Профессиональный Документы
Культура Документы
PLEASE NOTE: AVEVA Solutions has a policy of continuing product development: therefore, the information contained in this document may be subject to change without notice. AVEVA SOLUTIONS MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. While every effort has been made to verify the accuracy of this document, AVEVA Solutions shall not be liable for errors contained herein or direct, indirect, special, incidental or consequential damages in connection with the furnishing, performance or use of this material. This manual provides documentation relating to products to which you may not have access and which may not be licensed to you. For further information on which Products are licensed to you please refer to your licence conditions. Copyright 1991 through 2005 AVEVA Solutions Limited All rights reserved. No part of this document may be reproduced, stored in a retrieval system or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without prior written permission of AVEVA Solutions. The software programs described in this document are confidential information and proprietary products of AVEVA Solutions or its licensors. For details of AVEVA's worldwide sales and support offices, see our website at http://www.aveva.com.
AVEVA Solutions Limited, High Cross, Madingley Road, Cambridge, CB3 0HB, UK.
Revision History
Revision History
Date April 2003 June 2004 May 2005 Version 11.5 11.6 11.6.SP1 Notes Definitions of noclaim attribute setting and primary element added Updates for PDMS 11.6 Added material for deprecated features and new enhancements for PDMS 11.6.SP1
revision history - i
Revision History
revision history - ii
Contents
Contents..................................................................................................... i 1 2
2.1 2.2 2.3
2.4
ALERT Object Forms and Menus .................................................................2-12 ARC Object 3D Geometry.............................................................................2-13 ARRAY Object PML Built-in Type ..............................................................2-22 BANNER Object PDMS ................................................................................2-26 BAR Object Forms and Menus .....................................................................2-27 BLOCK Object PML Built-in Type ..............................................................2-29 BOOLEAN Object PML Built-in Type............................................................2-30 BORE Object PDMS ....................................................................................2-31 BUTTON Object Forms and Menus .............................................................2-33 COLLECTION Object Collection and Report.................................................2-36 COLUMN Object Collection and Report........................................................2-38 COLUMNFORMAT Object Collection and Report .........................................2-39 DATEFORMAT Object Collection and Report ...............................................2-40 DATETIME Object PML Built-in Type ............................................................2-41 DB Object PDMS........................................................................................2-43 DBREF Object PDMS ................................................................................2-45 DBSESS Object PDMS ................................................................................2-46 DIRECTION Object PDMS ............................................................................2-47 EXPRESSION Object Collection and Report ................................................2-49 FILE Object PML Built-in Type......................................................................2-50 FMSYS Object All ......................................................................................2-52 FORM Object Forms and Menus .................................................................2-54 FORMAT Object Formatting .........................................................................2-60 FRAME Object Forms and Menus .............................................................2-62 LINE Object 3D Geometry.............................................................................2-65 LINEARGRID Object Construction Aids ........................................................2-72 LIST Object Forms and Menus .....................................................................2-76 LOCATION Object PDMS Global ..................................................................2-81 MACRO Object PDMS ................................................................................2-83 MDB Object PDMS........................................................................................2-84
PDMS Software Customisation Reference Manual Version 11.6SP1 contents - i
Contents
MENU Object Forms and Menus..................................................................2-86 OBJECT All ..................................................................................................2-93 OPTION Object Forms and Menus..............................................................2-94 ORIENTATION Object PDMS........................................................................2-97 PARAGRAPH Object Forms and Menus .......................................................2-98 PLANE Object 3D Geometry ...................................................................2-100 PLANTGRID Object Construction Aids ........................................................2-104 POINTVECTOR Object 3D Geometry .........................................................2-105 POSITION Object PDMS .............................................................................2-108 POSTEVENTS Object PDMS ......................................................................2-112 PROJECT Object PDMS .............................................................................2-113 PROFILE Object 3D Geometry ...................................................................2-115 RADIALGRID Object Construction Aids.......................................................2-125 REAL Object PML Built-in Type ................................................................2-127 REPORT Object Collection and Report ......................................................2-129 RGROUP Object (superseded) Forms and Menus......................................2-132 RTOGGLE Object Forms and Menus ..........................................................2-135 SELECTOR Object Forms and Menus ........................................................2-137 SLIDER Object Forms and Menus............................................................2-140 SESSION Object PDMS ..............................................................................2-143 STRING Object PML Built-in Type ............................................................2-145 TABLE Object Collection and Report ..........................................................2-149 TEAM Object PDMS ..................................................................................2-151 TEXT Object Forms and Menus................................................................2-152 TEXTPANE Object Forms and Menus.........................................................2-155 TOGGLE Object Forms and Menus............................................................2-157 UNDOABLE Object PDMS...........................................................................2-159 USER Object PDMS ..................................................................................2-160 VIEW Objects: AREA View Forms and Menus ............................................2-162 VIEW Object: PLOT View Forms and Menus ..............................................2-164 VIEW Objects: VOLUME Views Forms and Menus .....................................2-166 VIEW Object: ALPHA Views Forms and Menus ..........................................2-169 XYPosition Object 3D Geometry..................................................................2-170 2.5 Deprecated Gadgets..............................................................................2-171
Appendix A.
A.1. A.2. A.3. A.4. A.5.
Directing Commands to PEGS ................................................................. A-1 Setting Connections Between FMLayer and PEGS ................................. A-1 Sending Commands to PEGS .................................................................. A-2 Some Special FMLayer Commands ......................................................... A-5 Handling Errors Returned from PEGS...................................................... A-5
Appendix B.
B.1. B.2. B.3. B.4. B.5. B.6.
Invoking the Command Line Interface ...................................................... B-1 Directing Commands to REVIEW ............................................................. B-1 Sending Commands to REVIEW .............................................................. B-2 Errors from the Application-to-REVIEW Link ............................................ B-3 Sample Application ................................................................................... B-3 Progress Monitoring.................................................................................. B-4
B.6.1. B.7.1. B.7.2. B.7.3. Engineering Data................................................................................... B-4 Progress Monitoring. ............................................................................. B-6 Engineering Data................................................................................... B-7 Maintenance .......................................................................................... B-8
contents - ii
Contents
Appendix C.
C.1.1. C.1.2. C.2.1. C.2.2. C.2.3. C.3.1. C.3.2. C.3.3. C.3.4. C.3.5.
C.4. Using IDs in Expressions ....................................................................... C-20 C.5. Positions, Directions and Orientations in Expressions (PDMS only)...... C-21
C.5.1. C.5.2. C.5.3. C.5.4. C.5.5. C.5.6. C.5.7. C.6.1. C.6.2. Using Positions in Expressions ........................................................... C-21 WRT (PDMS Only) .............................................................................. C-22 FROM .................................................................................................. C-24 Comparing Positions ........................................................................... C-27 POLAR ................................................................................................ C-28 Direction .............................................................................................. C-28 Orientations ......................................................................................... C-29 Text Operator ...................................................................................... C-30 Text Functions..................................................................................... C-30
C.7. Late Evaluation of Variables in expressions........................................... C-39 C.8. PDMS Attributes in Expressions ............................................................ C-39 C.9. Querying Expressions ............................................................................ C-39 C.10. Units in Expressions............................................................................... C-40 C.11. Precision of Comparisons ...................................................................... C-41 C.12. Undefined Values ................................................................................... C-41 C.13. Unset Values .......................................................................................... C-42
Appendix D.
contents - iii
Contents
contents - iv
Introduction
This manual is the Reference Manual for the AVEVA Programming Language, PML. It is intended for users who are already familiar with PML. Users who are starting to use PML should refer to the PDMS Software Customisation Guide, which should be used together with this manual. There are two versions of PML, the older one, known as PML 1, and the newer one, known as PML 2. PML 2 has been written specifically for creating and customising the AVEVA GUI, and this manual is mainly concerned with PML 2. However, PML 2 has not completely replaced PML 1, and there are some tasks which are carried out more efficiently using PML 1 facilities. In particular, this manual describes the PML 1 expressions package, which is used within PDMS; for example, for writing rules and defining report templates. If you need a full description of PML 1, for example if you are maintaining old code, you will need to refer to previous versions of the PDMS Software Customisation Guide. The last one to describe PML 1 fully was dated October 1995. This manual contains: A list of PML 2 Objects, Members and Methods. For the Forms and Menus objects, the command syntax relating to the objects is included.
Note:
Many properties of Forms and Gadgets that were previously set using commands should now be set using the Form or Gadget methods. In general, the only commands described are those which have not been replaced by methods. If you are maintaining old code, you may need to refer to the edition of the AVEVA Software Customisation Guide dated October 1995, which describes the old syntax in detail..
Information about using PML in PEGS. Information about using PML in REVIEW. A description of the PML 1 expressions package. Lists of PDMS attributes and pseudo-attributes, with brief descriptions.
1-1
Introduction
1-2
2.1
2-1
Classification
ALERT ALPHA BAR BUTTON FMSYS FORM FRAME LIST MENU OPTION PARAGRAPH RGROUP SELECTOR TEXT TEXTPANE TOGGLE VIEW ALPHA AREA PLOT VOLUME
Formatting Text
FORMAT
Table 2-1: Object Types and Classification
2-2
2.2
Attributes()
2-3
2.3
2.3.1
active
BOOLEAN Get/Set
callback tag
2-4
2.3.2
Add AddPixmap Background Clear ClearSelection CurPos Highlight InsertAfter InsertBefore FieldProperty FullName GetPickedPopup Line Name Owner Refresh RemovePopup RestoreView SaveView Select Selection SetActive SetCurPos SetEditable SetFieldProperty SetFocus SetLine SetPopup SetSize SetTooltip SetValue
X X X X
X X X
X X X
X X
Option
Rgroup
Slider
Text-pane
Button
List
Para
Toggle /Rtoggle
View Alpha
X X
X X
X X
X X
X X
X X
X X
X X X
X X
X X
X X
X X
X X
2-6
View 3D
Bar
View 2D
Text
2.4
2.4.1
ii.
iii.
iv.
2-7
2.4.2
2.4.3
Note:
The DOCK and ANCHOR attributes are mutually exclusive. Setting the DOCK attribute resets the ANCHOR to the default; setting the ANCHOR attribute resets DOCK to none. You can set these attributes only when you define the gadget: you cannot change it after the exit from form setup. Thus you are not allowed to the resize behaviour at run-time.
2-8
2.4.4
The subgraph <fgprl>, shown below, sets the gadget position relative to another gadget or the forms extent. For example, you can use it to position a gadget halfway across the width of a form.
>-- <fgprl> --+- <gname> -. +-- FORM ---| -----------+- * val -----. | | +- + val --. | +- - val ---+- + val * SIZE ---. | +- - val * SIZE ---| | +- + SIZE ---------| | +- - SIZE ---------| | `------------------| +- + SIZE -----------------------| +- - SIZE -----------------------| `----------------------------------> Syntax Graph 2-4: Relative Positioning
2-9
AT YMAX+1
AT XMIN.GAD1-2 YMAX.GAD2+1
2.4.5
Note:
h/w is the value of the Aspect Ratio (height/width). The units for <vshap> will have been preset to pixels or F&M grid units, appropriately. The default width and height for <vshap> will have been preset, so leaving the graph with only width or height set still realises both values. All values may be given as integer or reals.
2-10
2.4.6
Setting Up the Gadgets Tagwidth (TEXT, TOGGLE, OPTION, and RGROUP): <fgtagw>
The TAGWIDTH specifies the size of the gadgets tag field in grid width units including any padding space, regardless of the actual tag string. Tagwidth is not needed for gadgets with an explicit area specification (width and height, lines or length). FRAME, LIST, SELECTOR, TEXTPANE and PARAGRAPH can always force an explicit width. The syntax graph <fgtagw> defines the Tag specification
>-- <fgtagw> --+- TAGWIDth val -+-------------. ------------------ tagtext ---> Syntax Graph 2-6: Gadget Tagwidth
Note
The <fgtagw> graph supports both the simple tagtext setting and/or the specification of the maximum width of any tag. If the tag width is not explicitly given then it is assumed to be the number of characters in the tagtext string multiplied by the horizontal grid size (the notional character width for the font). You can specify the tag width without specifying any tagtext at definition time; this can be added at run time.
2.4.7
Note:
Normalized co-ordinates represent a proportion of the full screen size. 0.0 <= XR <= 1.0 and 0.0 <= YR <= 1.0.
2-11
ALERT Object
Methods
Name Confirm( Message is STRING, X is REAL, Y is REAL ) Result STRING YES OR NO
Purpose Show a blocking CONFIRM ALERT and retrieve the response. X and Y are optional screen positions. Show a blocking ERROR ALERT and retrieve the response. X and Y are optional screen positions. Show a blocking MESSAGE ALERT and retrieve the response and retrieve the response. X and Y are optional screen positions. Show a blocking QUESTION ALERT and retrieve the response. X and Y are optional screen positions. Show a blocking WARNING ALERT and retrieve the response and retrieve the response. X and Y are optional screen positions. Show a blocking INPUT ALERT. !prompt is the prompt displayed to the user, and !default is the default value in the text box. Show a blocking INPUT ALERT. !prompt is the prompt displayed to the user, and !default is the default value in the text box. xPos and yPos are the coordinates of the top lefthand corner of the alert box.
STRING YES
STRING YES
STRING
!!Alert.Input( !prompt is STRING, !default is STRING, xPos is REAL, yPos is REAL) is STRING
STRING
2-12
ARC Object
Basic ARC Definition: Members
Name Orientation Position Radius StartAngle EndAngle Sense Type ORIENTATION Get/Set POSITION Get/Set REAL Get/Set REAL Get/Set REAL Get/Set BOOLEAN Get/Set Purpose
3D Geometry
Orientation of the arc. Origin/Centre of the arc. Radius of the arc Angle from X axes to start of the arc. Angle from X axes to end of the arc. Arc sense: 0 for clockwise 1 for anti-clockwise
Basic ARC Definition: Methods These methods do not modify the original object.
Name Arc( POSITION, ORIENTATION, REAL, REAL, REAL,BOOLEAN) Result ARC Purpose Creates an arc with the given Position, Orientation, Start Angle, End Angle, Radius. If the last argument is TRUE, the arc is clockwise. Returns the arc as a string
String()
STRING
2-13
ARC Methods that Return ARCs None of these methods modifies the original object.
Name StartPosition(POSITION) Result ARC Purpose 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, forms the X axis. As StartPosition, but for the EndAngle. Returns a new arc, where the radius (of the full circle) passes through the passed position when mapped onto the arc plane. 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. 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. Returns a full circle definition of the arc. Returns a full circle definition of the arc. If True, the arc is anti-clock-wise Returns the complementary arc of the arc definition (the remainder of the circle)
EndPosition(POSITION) Through(POSITION)
ARC ARC
ChordHeight(REAL)
ARC
Chord(REAL)
ARC
Circle() Circle(BOOLEAN)
ARC ARC
Complement()
ARC
2-14
EndPosition(POSITION) Through(POSITION)
Complement()
ARC Method that Returns POSITIONs This method does not modify the original object.
Name AnglePosition(REAL) Result POSITION Purpose Returns the position at the specified angle on the arc.
AnglePosition(REAL)
2-15
ARC Methods that Return DIRECTIONs None of these methods modifies the original object.
Name AngleDirection(REAL) Result DIRECTION Purpose Returns the direction from the centre of the arc through a point at the given angle from the X axis Returns the direction out of the arc, tangential to the start angle line. The sense of the arc is used. Returns the direction out of the arc, tangential to the end angle line. The sense of the arc is used. Returns the direction, tangential to the angle passed.
StartTangent()
DIRECTION
EndTangent()
DIRECTION
AngleTangent(REAL)
DIRECTION
EndTangent()
AngleDirection(REAL)
AngleTangent(REAL)
Figure 2-C: DIRECTIONs Returned by ARC Methods
StartTangent()
2-16
ARC Methods that Return XYOffsets This method does not modify the original object.
Name XYOffset(POSITION) Result XYPOSITION Purpose Returns the position, mapped onto the arc plane, in term of an XY offset from the arc plane origin
XYOffset(POSITION)
Figure 2-D: XYOffsets Returned from ARC Methods
ARC Methods that Return REALs None of these methods modifies the original object.
Name Proportion(REAL) Result REAL Purpose 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 Returns the subtended angle of the arc Returns the position, in terms of an angle from the X axis, to the position on the arc plane of the passed position
Angle() Near(POSITION)
REAL REAL
2-17
Near(POSITION) Proportion(REAL)
Name Chord()
Result REAL
Purpose Returns the chord length between the start and end of the arc definition Returns the true length of the arc line Returns the chord height of the arc line
Length() ChordHeight()
REAL REAL
Chord()
Length()
ChordHeight()
Figure 2-F: REALs Returned by ARC Methods (b)
2-18
ARC Intersection Methods that Return REAL ARRAYs None of these methods modifies the original object.
Name Intersections(LINE) Result REAL ARRAY Purpose 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 Returns the intersection points, in terms of angles from the X axis, of the passed plane with the circle defined by the arc 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
Intersections(PLANE)
REAL ARRAY
Intersections(ARC)
REAL ARRAY
The Arcs must be in the same plane, i.e. the angle between Z components of the direction must be 0 or 180
Table 2-14: ARC Intersection Methods that Return REAL ARRAYs
Intersections(LINE)
Intersections(PLANE)
Intersections(ARC)
Figure 2-G: REAL ARRAYs Returned by ARC Intersection Methods
2-19
ARC Tangent Methods Returning Real Arrays None of these methods modifies the original object.
Name Tangents(POSITION) Result REAL ARRAY Purpose Returns the points of tangency on the arc circle from the passed position, in terms of angles from the X axis, Returns the points of tangency on the arc circle for the passed arc circle, in terms of angles from the X axis Splits the arc into a non-zero number of segments Returns the pole position of the arc
Tangents(ARC)
REAL ARRAY
Split() Pole()
Tangents(POSITION)
Tangents(ARC)
Figure 2-H: REAL ARRAYs Returned from ARC Tangent Methods
2-20
ARC Methods that Return BOOLEANs None of these methods modify the original object.
Name On(POSITION) OnProjected(POSITION) Result BOOLEAN BOOLEAN Purpose Returns true if the passed position lies on the arc line Returns true if the passed position, when projected onto the arc line, lies within it Returns true if the passed position, when mapped onto the arc line, lies outside it
OnExended(POSITION)
BOOLEAN
On(POSITION) 8
On(POSITION) 9
2-21
ARRAY Object
Methods
Name Append(ANY value) AppendArray(ARRAY values) Clear() Compress() Result NO RESULT NO RESULT NO RESULT NO RESULT
Purpose Append value as a new element at the end of array. Append array values as new elements at the end of array. Remove all elements. Removed all undefined elements and re-index remaining elements. 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). Make undefined elements from index to end of array. Returns an array of the deleted elements. Remaining elements not reindexed. Make undefined n elements up to index Returns an array of the deleted elements Remaining elements not reindexed. Make undefined elements from start to index Returns an array of the deleted elements Remaining elements not reindexed. Return an array of those elements in the original array not present in array two. Duplicates will appear only once TRUE if array is empty Evaluate code in command at each element. Search original array for value and return an array of index positions at which it was found.
ARRAY
ARRAY
ARRAY
DeleteTo(REAL index)
ARRAY
Difference(ARRAY two)
ARRAY
2-22
Result REAL
Purpose Return index of first occurrence of value. Returns UNSET if not found. Return value of first defined element Copy sub array of n elements starting at index. Copy sub array starting at index to end of array. Implements ARRAY[index] (this is an internal method). Returns an array containing the indices of the target array that have a value. Insert value as a new element at index. Later elements are re-indexed Insert values as new elements with the first at index. Later elements are re-indexed Return array of elements present in both arrays. Duplicates will appear only once. Returns an inverted copy of the array. Return last element value. Subscript of last defined (nonempty) element. Subscript of first defined (nonempty) element. 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). Apply result of SORTEDINDICES to re-order array elements into positions specified by indices. Remove and Return nth element (which need not be assigned if not required). Remaining elements are reindexed.
NO RESULT
NO RESULT
NEW ARRAY
NO RESULT
Remove(REAL nth)
ANY
2-23
Name RemoveFirst()
Result ANY
Purpose Remove and Return first element (which need not be assigned if not required). Remaining elements are reindexed. Remove and Return new array of n elements starting with index (which need not be assigned if not required). Remaining elements are reindexed. Remove and Return new array of elements from index to end of array (which need not be assigned if not required). Remaining elements are reindexed. Remove and Return last element (which need not be assigned if not required). Remaining elements are reindexed. Remove and Return n elements from start to index (which need not be assigned if not required). Remaining elements are reindexed. Remove and return elements from start to index (which need not be assigned if not required). Remaining elements are reindexed. Returns the number of defined elements. Sort array into ascending order. Returns a sorted copy of the array with duplicates removed. Return new array of indices representing the sorted order of elements in array. The array itself is not sorted. Copy sub array of n elements from start to index. Copy sub array from start of array to index.
NEW ARRAY
RemoveFrom(REAL index)
NEW ARRAY
RemoveLast()
ANY
NEW ARRAY
RemoveTo(REAL index)
NEW ARRAY
SortedIndices()
ARRAY ARRAY
2-24
Purpose Return array of elements present in either array (duplicates will appear only once). Discard duplicates and reindex remaining elements. Return the maximum width of string elements (other element types are ignored).
Unique() Width()
NO RESULT REAL
2-25
BANNER Object
Members
Name Company Copyright Libraries Name Short Status Type STRING STRING ARRAY OF STRINGS STRING STRING STRING Purpose
PDMS
Company name, up to 120 characters. AVEVA copyright, up to 80 characters. Library names Title for main windows, up to 13 characters Short form of company name PDMS release status
Command
!BANNVAR = BANNER! $ Returns a BANNER object
2-26
BAR Object
Methods
Name Add(STRING dText, STRING enu) Result NO RESULT
Purpose Appends a barmenu field, which can show the specified menu as a pulldown menu. The name of the pulldown menu is given in menu; the DTEXT of the field is given by dText. Removes all barmenu fields. Using this method is deprecated. Removes all barmenu fields after and including the one with DTEXT dText. Using this method is deprecated. Get the value of the property named in property for the menu field named in field. The allowed values for the property are ACTIVE or VISIBLE. Get the full name of the gadget, e.g.'!!Form.bar'. Inserts a new barmenu field immediately after the one identified by field. The name of the menu is given in menu; the DTEXT of the new field is given by dText. Inserts a new barmenu field immediately before the one identified by field. The name of the menu is given in menu; the DTEXT of the menu is given by dText. Get the gadget's name, i.e. 'bar' Get the owning form. Deactivate/Activate the menu field whose DTEXT is dText. Using this method is deprecated.
Clear()
NO RESULT
Clear(STRING dText)
NO RESULT
BOOLEAN
STRING NO RESULT
NO RESULT
2-27
Result NO RESULT
Purpose Set the value of the property named in property with the value of state, for the menu named in menu. The allowed values for the property are ACTIVE or VISIBLE. Get shown status. Get the GADGET type as a STRING.
Shown() Type()
BOOLEAN STRING
Command The BAR command creates a bar menu within a form definition. The recommended way to create menu fields on the bar is to use the bar's Add() method.
bar !this.bar.add ( 'Choose', 'Menu1') !this.bar.add ( ' window', 'Window' ) !this.bar.add ( 'help', 'Help' )
Note the use of the two special menu names Help, which adds a system help menu that calls the online help; and Window, which adds a system Window menu that lists all the displayed windows.
2-28
BLOCK Object
ANY ANY
2-29
BOOLEAN Object
Methods None of these methods modifies the original object.
Name BOOLEAN(REAL value) Result BOOLEAN
Purpose Constructor that creates a boolean Object set to a nonzero value if boolean is TRUE; 0 if boolean is FALSE Constructor that creates a boolean Object set to: 'TRUE if boolean is T, TR, TRU, TRUE, Y, YE YES; FALSE if boolean is F, FA, FAL, FALS, FALSE, N, NO. As above. FORMAT argument required for consistency by Forms and Menus. TRUE if both values are TRUE TRUE if FALSE; FALSE if TRUE TRUE if either value is TRUE 1 if boolean is TRUE; 0 if boolean is FALSE TRUE if boolean is TRUE. FALSE if boolean is FALSE.
BOOLEAN(STRING value)
BOOLEAN
BOOLEAN( STRING value, FORMAT format) AND() NOT() OR(BOOLEAN value) Real() String()
BOOLEAN
2-30
BORE Object
Member
Name Size Type REAL Get/Set Purpose The BORE size
PDMS
BORE(STRING value)
BOOLEAN
BOOLEAN
EQ(REAL value)
BOOLEAN
GEQ(BORE bore)
BOOLEAN
GEQ(REAL value)
BOOLEAN
BOOLEAN BOOLEAN
BOOLEAN BOOLEAN
BOOLEAN BOOLEAN
Purpose Convert BORE to a REAL value Convert BORE to a STRING using the settings in the global format object.
2-32
BUTTON Object
Members
Name Background Background Val Type REAL Set/Get STRING Set Only BOOLEAN
Purpose Set or get Background Colour Number Set Background Colour Name TRUE when the button is pressed FALSE when it is not
Methods
Name AddPixmap(STRING file1, STRING file2, STRING file3 ) AddPixmap(STRING file1, STRING file2) AddPixmap(STRING file ) FullName() Name() Owner() SetPopup(MENU menu) RemovePopup(MENU menu) GetPickedPopup() Shown() SetFocus() Refresh() Background() Result NO RESULT Purpose Adds pixmaps to be used for the unselected, selected and inactive states. The last two are optional. Get the full gadget name, e.g.'!!Form.gadget'. Get the gadget's name, e.g. 'gadget'. Get owning form. Links the given menu with the gadget as a popup. Removes the given popup menu from the gadget. Returns the name of the menu picked from a popup. Get shown status. Move keyboard focus to this gadget. Refresh display of gadget. Get Background Colour Name. Some gadgets do not support this property in all circumstances, e.g. gadgets which are showing a pixmap. Gadgets whose colour has not been set explicitly, may not have a colour with a known colourname. In this case an error is raised.. 2-33
STRING STRING FORM NO RESULT NO RESULT MENU BOOLEAN NO RESULT NO RESULT STRING
Purpose Sets the text of the Tooltip. Get the gadget-type as a STRING.
2-34
Command The BUTTON command defines a button, and specifies its position, tag or pixmap, callback text and control attribute. You can define the BUTTON to be either PML-controlled, or core-code controlled using the gadget qualifier attribute control type, with values PML or CORE. The files defining any pixmaps should be specified in the form's default constructor method using the gadget's AddPixmap() method.
.--------<-------------. / | >- <fbutn> -- BUTTON gname -+-- tagtext -------------| +-- PIXMAP <vshap> ------| +-- <fgpos> -------------| +-- <fganch> ------------| +-- <fgdock> ------------| +-- CALLback text ------| +-- TOOLTIP text --------| +-- BACKGround <colno> --| +-- TOGGLE --------------| +-- CORE ----------------* Core managed gadget | .------<-----. |/ | +- FORM fname -| +- <vshap> ----| `--------------*-+-- OK -----. +-- APPLY --| +-- CANCEL -| +-- RESET --| +-- HELP ---| -----------+- TOOLTIP text . ------------------> Syntax Graph 2-8: Creating a BUTTON Object
Note:
It is bad practice to place one gadget on top of another. This may lead to gadgets being obscured
Defaults:
If no tag is specified, the tag defaults to the gadgets gname. The control attribute is unset unless you specifically enter OK, APPLY, HELP, CANCEL or RESET. The default values for anchoring and docking are DOCK = none, and ANCHOR = Left + Top.
2-35
COLLECTION Object
The collection object is used to extract database elements from the system using a selection filter (an expression object), restrictive search elements and scope lists. Methods
Name Collection() Scope (COLLECTION) Result Purpose Constructor (initialises all the object settings). Empties the current scope list and makes the passed COLLECTION the current scope. Empties the current scope list and makes the passed DBREF the current scope. Adds the passed DBREF to the current scope list. Replaces the current scope list with the passed list of DBREFs. Appends the passed list of DBREFs to the scope list. Empties the current scope list. Sets the filter to be applied to the collection. Empties the filter to be applied to the collection. Empties the current scope type list and adds the passed element type. Adds the passed element type to the scope type list. Empties the types to be applied to the collection. Replaces the scope element type list with the passed list, elements. Appends the passed list, types, to the scope type list. Initialises an evaluate list, so all query actions re-evaluate the collection rules. Sets index position to 1. EXPRESSION DBREF ARRAY Returns the expression used to filter database elements. Returns the list of database elements to scan.
Scope (DBREF)
AddScope Scope (DBREF ARRAY) AppendScope (DBREF ARRAY) ClearScope() Filter (EXPRESSION) ClearFilter () Type (STRING)
Filter() Scope()
2-36
Purpose Returns the list of database element types to be collected. Returns the whole collection. Returns sub array from collection of n elements starting at current index position. Returns the current index of the count being used by Next(). Returns the number of elements in the collection.
Index() Size ()
REAL REAL
2-37
COLUMN Object
The column object defines the way in which a column of a table object is populated. The formatting of a column should be separate from the column definition itself and be held within the report object used to extract data from a table object. This will allow the same table to have many different reports produced from it, without the need to regenerate the table. Methods
Name Column() Column(EXPRESSION, BOOLEAN, BOOLEAN, STRING) Key (STRING) Expression (EXPRESSION) Sort() NoSort() Ascending() Descending() Key() Expression() STRING EXPRESSION Result Purpose Constructor (initialises all the object settings) Constructor setting Expression, Sort, Ascending, Key Sets key and forces it to be uppercase Defines the expression used to populate the column Switches on column sort Switches off column sort, this is the default setting Sets column sort to ascending order Sets column sort to descending order Returns the key word for use when reporting Returns the expression used to derive the content of the column Returns TRUE if the column is sorted Returns the column sort setting, ascending, descending or off
IsSorted() SortType()
BOOLEAN STRING
2-38
COLUMNFORMAT Object
The column object defines the way in which a column of a table object is populated. The formatting of a column should be separate from the column definition itself and be held within the report object used to extract data from a table object. This will allow the same table to have many different reports produced from it, without the need to regenerate the table. Methods
Name ColumnFormat() Format(FORMAT) Format(DATEFORMAT) FORMAT('STRING') Width (REAL) Widest() Result Purpose Constructor (initialises all the object settings) Sets the format of the column to the passed format Sets the format of the column to the passed date format Unsets the format of the column, i.e. the column Sets the column width Sets the maximum column width flag, setting a specific width value automatically sets the flag to FALSE. Note that this is the least efficient method for Width because a complete scan has to be done to determine the widest. Sets left and right indents (i.e. spaces) in the column FORMAT REAL Returns the format for numeric values in a column Returns the column width, strings greater than the column width are wrapped on to the next line, numeric values greater than the column width are output as a column of hashes. Returns TRUE if widest is set Returns the column justification Returns the left indent setting Returns the right indent setting
2-39
DATEFORMAT Object
The DATEFORMAT object is used to allow date attributes to be sorted in date order. Examples:
!format = object DATEFORMAT(T D/M/Y) !format.month(INTEGER) !format.year(2) !format = object DATEFORMAT(T D M Y) !format .month(BRIEF) !format = object DATEFORMAT (D M) !format.year(4) !format.month(FULL) $ 5 November 2001 $ 12:10 05 Nov 01 $ 12:10 05/01/01
Methods
Name DateFormat(STRING format) Result Purpose Constructor. Defines a format. The input string, format, is in the form 'T*D*M*Y', where T = time, D = day, M = month, Y = year, and the order of the letters indicate the format required. T and D are optional. H could be used if only hours are required. * is the separator character. Sets default format (T M D Y, month = INTEGER, year = 2) Sets month format. 'INTEGER', 'BRIEF' or 'FULL' Sets year format. 2 or 4 for number of digits STRING Input a date in DATETIME format and convert to the specified format. Input a date in PDMS format and convert to the specified format.
DateFormat() Month(STRING)
Year(INT)
String(DATETIME)
String(STRING)
STRING
2-40
DATETIME Object
Methods
Name DateTime() DateTime(REAL year, REAL month, REAL date) DateTime(REAL year, STRING month. REAL date) Result DATETIME DATETIME
Purpose Create a DATETIME object with current date and time in it. Create a DATETIME set to the given year, month, date. Time defaults to 00:00:00. As above, but month is a STRING at least three characters long representing month e.g. Jan, March, DECEM Create a DATETIME object set to given year, month, date, hour, minute. Seconds default to 0. As above, but month is a STRING at least three characters long representing month e.g. Jan, March, DECEM Create a DATETIME object set to given year, month, date, hour, minute, second. As above, but month is a STRING at least three characters long representing month e.g. Jan, March, DECEM Return day of month for this DATETIME object (1-31). Test whether this DATETIME is later than or the same as argument DATETIME. Test whether this date is later than argument DATETIME. Return hour as REAL for this DATETIME object (0-23). Test whether this DATETIME is earlier or the same as argument DATETIME Test whether this DATETIME is earlier than argument DATETIME. Return minutes as REAL for this DATETIME object (0-59).
DATETIME
DateTime(REAL year, REAL month, REAL date, REAL hour,REAL minute) DateTime(REAL year, STRING month, REAL date, REAL hour, REAL minute)
DATETIME
DATETIME
DateTime(REAL year, REAL month, REAL date, REAL hour, REAL minute, REAL second) DateTime(REAL year, STRING month, REAL date, REAL hour, REAL minute, REAL second)
DATETIME
DATETIME
Date() GEQ(DATETIME)
REAL BOOLEAN
LT(DATETIME)
BOOLEAN
Minute()
REAL
2-41
Purpose Return month as REAL for this DATETIME object (1-12). Return month as STRING for this DATETIME object(January, February, etc.) Return number of seconds as REAL for this DATETIME object(0-59). Return year as REAL(e.g. 1998)
Second()
REAL
Year()
REAL
2-42
DB Object
Members
Name Name Description Access Claim File Foreign Number Team Type Refno Primary Type STRING STRING STRING STRING STRING STRING STRING TEAM STRING STRING STRING Purpose
PDMS
The name of the database, up to 32 characters. The database description, up to 120 characters. Access type (UPDATE, MULTIWRITE, CONTROLLED). Claim mode for multi-write databases (EXPLICIT, IMPLICIT). Database filename, up to 17 characters. FOREIGN or LOCAL Database number Owning Team Database type, e.g. DESI String containing Database reference number Identifies whether a database is PRIMARY or SECONDARY at the current location in a global project
Methods
Name MDBList() Size() Sessions() Lastsession() DB(DBREF) DB(STRING) Result ARRAY REAL ARRAY OF DBSESS DBSESS DB DB Purpose List of MDBS which contain this DB. File size in pages. All sessions of the current database. Last session information for database. Returns a DB object, given a DBREF. Returns a DB object, given a name or reference number.
These methods may be used in the following ways (in all cases !!CE is assumed to be a DB DATABASE element and !!CE.Name is a STRING object containing the elements name).
PDMS Software Customisation Reference Manual Version 11.6SP1 2-43
Examples:
!D = OBJECT DB(!!CE) !D = OBJECT DB(!!CE.Name) !D = !!CE.DB() !D = !!CE.Name.DB()
These methods should assist performance improvements to appware by making it easier to get from Database element to Object. Command
!ARRAY = DBS $ Returns an array of the DBs in the current project
2-44
DBREF Object
Methods
Name Dbref( STRING ) Result DBREF Purpose
PDMS
DBREF
BadRef() Delete()
MCount()
REAL
REAL
STRING
Line([CUT/UNCUT])
LINE
PPosition(REAL)
POSITION
PDirection(REAL)
DIRECTION
Creates a DBREF object with value set to the given STRING. As above. FORMAT argument required for consistency by Forms and Menus. Return the value of the named Attribute A DBREF appears to have the attributes of whatever DB elements it is pointing to TRUE if DBREF is not valid (cannot navigate to it) Deletes the PML DBREF (not the database element it is pointing to) Count of number of members of element referenced Count of number of members of element referenced of type specified Convert to STRING using settings in global FORMAT object Returns the cut/uncut pline of a SCTN/GENSEC element as a bounded line Returns the position of the specified Ppoint of a database element. Returns the direction of the specified Ppoint of a database element.
2-45
DBSESS Object
Members
Name Number Date Author Comment Result REAL STRING STRING STRING Purpose Session number.
PDMS
2-46
DIRECTION Object
Members
Name East North Up Origin Type REAL Get/Set REAL Get/Set REAL Get/Set DBREF Get/Set Purpose UP component NORTH component UP component
PDMS
Angle(DIRECTION) Bisect(DIRECTION)
REAL DIRECTION
Opposite()
DIRECTION
Name Orthogonal(DIRECTION)
Result DIRECTION
Purpose Returns the direction orthogonal between the two directions Returns a direction projected onto the passed plane.
Projected(PLANE)
DIRECTION
2-48
EXPRESSION Object
This object is used to define a basic expression that can be applied against a database element or another object and return any data typed result, BOOLEAN, STRING, etc.
EXPRESSION objects may be used by COLLECTION objects to filter the results of the
collection. Methods
Name Expression Expression (STRING) Result Purpose Constructor (initialises all the objects settings). Constructs and defines the expression. ('ATTRIBUTE----') should be used for attributes for speed and efficiency. Other examples are ('PURP eq IPIPINGI') or ('XLEN + STRING(XLEN)'). Makes the passed attribute an expression. AttributeExpression('LENGTH') is the same as Expression('ATTRIBUTE LENGTH'). STRING ANY Returns the current expression as a string. Evaluates the current expression against the passed object
AttributeExpression (STRING)
String() Evaluate(DBREF)
2-49
FILE Object
Methods
Name File(STRING) Result FILE
Purpose Create a FILE object on a file whose name is given in STRING. Return access mode for the file {CLOSED, READ, WRITE, OVERWRITE, APPEND}. Close file if open. Copies the file whose pathname is given in STRING. Returns FILE object for copied file. Copies the file represented by the FILE object. Returns FILE object for copied file. Delete the file represented by the file object if it exists. Returns a FILE object corresponding to owning directory. Returns a DATETIME object holding the date and time that this file was last modified. Returns file name as string. Returns BOOLEAN indicating whether file exists or not. Returns an ARRAY of FILE objects corresponding to files owned by this directory. Returns the name including path for this FILE object as a STRING. Return BOOLEAN indicating whether file is open or not. Return line number of line about to be written. Move this file to location given in STRING. Return FILE object for moved file. Move this file to location represented by FILE object. Return name of this FILE object as STRING.
AccessMode()
STRING
Close() Copy(STRING)
NO RESULT FILE
Copy(FILE)
FILE
DeleteFile() Directory()
NO RESULT FILE
DTM()
DATETIME
FullName()
Move(FILE) Name()
FILE STRING
2-50
Name Open(STRING)
Result NO RESULT
Purpose Opens this file in the mode given by STRING {READ,WRITE,OVERWRITE, APPEND} Returns the ID of this FILES owner a STRING. Returns an ARRAY of FILEs corresponding to the owning directories of this FILE object. Returns owning path as a STRING. Open, read contents and close file. Data returned as an ARRAY of STRINGs corresponding to the lines in the file. As above, but ensures that file is no longer than number of lines given in REAL. Reads a line from an open file and returns it in a STRING. Returns an UNSET STRING if end of file is detected. Returns a BOOLEAN indicating whether this FILE object has a name set or not. Returns size of file in bytes. Returns an ARRAY of FILE objects corresponding to directories owned by this directory. Returns a STRING indicating whether this object represents a FILE or a DIRECTORY. Opens file in mode given in string {WRITE, OVERWRITE, APPEND}, writes STRINGs in ARRAY and closes file. Writes STRING to this FILE which must already be open.
Owner() Path()
PathName() ReadFile()
ReadFile(REAL)
ReadRecord()
Set()
BOOLEAN
Size() SubDirs()
Type()
STRING
NO RESULT
WriteRecord(STRING)
NO RESULT
2-51
FMSYS Object
Methods None of these methods modifies the original object.
Name SetMain(FORM) Main() Refresh() Checkrefs Result FORM FORM NO RESULT BOOLEAN Purpose Sets the main form for an Application.
All
Query the current main form Refresh all VIEW gadgets By default, all references in a Form definition are checked when a form is displayed. Checking can be switched off, which may be recommended if performance problems are experienced. Sets the Gadget which will interrupt macro or function processing. Removes the display of a splash screen after an abnormal exit. Set to TRUE if the interrupt gadget has been selected. Returns array of all FMINFO strings. Sets default placement position for document forms to be towards the maximum (rightmost) of the screen. Useful for wide screen ad twin screen devices. This method returns the current Document of the application framework as a FORM object. If there is no current document then the returned form has value Unset.
SetInterrupt(GADGET)
NO RESULT
Splashscreen(BOOLEAN)
NO RESULT
CurrentDocument()
FORM
2-52
Result FORM
Purpose Allows force loading of a form definition and/or the ability to get a reference to a form object by name. If the form exists then a reference to the form object is returned. If it doesnt exist, then an attempt is made to force load its definition. If this fails then an unset form reference is returned
2-53
FORM Object
Members
Name FormRevision FormTitle IconTitle Initcall Autocall Type STRING Get/Set STRING Get/Set STRING Get/Set STRING Get/Set STRING Get/Set STRING Get/Set STRING Get/Set GADGET Get/Set
Purpose Form Revision text. Form title. Icon title. Callback executed when form is initialised. Callback executed when any of the specified application attributes have changed. Callback executed when OK button is pressed. Callback executed when CANCEL button is pressed. Gadget to have initial keyboard focus on display of the form. One of TEXTFIELD, TEXTPANE, BUTTON, TOGGLE or ALPHA VIEW. Callback executed whenever the user presses the Quit/Close icon (X) on the title bar of forms and the main application window. For forms of type MAIN, the QUITCALL callback is executed, if present. This permits the user to terminate the application, and so the associated PML callback should prompt the user for confirmation. For all other form types, the QUITCALL callback is executed, if present, and then the form and its children are hidden unless the PML callback returns an error. When the form nest is hidden the CANCELCALL callback for each form of the nest is executed (in reverse display order).
Quitcall
STRING Get/Set
2-54
Purpose Get/set forms maximised status (on screen). Gives form's active/inactive status. Get/set forms current popup menu.
Methods
Name Name() FullName() NewMenu(STRING menuname) NewMenu(STRING menuname, STRING type) Result STRING STRING MENU MENU Purpose Get name. Get the full form name (Including !!). Adds a new named menu to the form. Adds a new named and typed menu to the form. The first argument is the name of the new menu; the second argument is the type of the menu, and must be either POPUP or MAIN. SetActive(FALSE) greys-out all gadgets on the form, but doesnt set their Active status, so that SetActive(TRUE) restores the form to the precise state it was in before greying out, i.e. any inactive gadgets will still be inactive. SetGadgetsActive(FALSE) greys out all gadgets on the form and sets their Active status to inactive, i.e. their previous active state is lost. Similarly SetGadgetsActive(TRUE) greys-in all gadgets and sets their Active status to active. Specifies the pop-up to be displayed when the right-hand mouse button is released over the form background. Removes a pop-up associated with a form. Returns the last picked popup menu for the form.
SetActive(BOOLEAN)
NO RESULT
SetGadgetsActive(BOOLEAN)
NO RESULT
SetPopup(MENU)
NO RESULT
RemovePopup(MENU) GetPickedPopup()
NO RESULT MENU
2-55
Purpose Show the form on the screen as a FREE form. Show the form as a FREE form with the origin at the X,Y relative screen position. Show the form as a FREE form with its centre at the X,Y relative screen position. Get 'shown' status Hides the form (removes it from the screen) Returns the form's parent form, or unset variable if the form is free-standing
NO RESULT
Note:
SetActive() and SetGadgetsActive() can be used in combination with each other and with the Active property of individual gadgets
Commands
SETUP FORM
A form definition is introduced by the SETUP FORM command and terminated by a corresponding EXIT command. Once in Form Setup mode you can call any commands for defining the forms properties, creating a menu bar (see BAR object), main and popup menus (see MENU object) and any gadgets which it is to own. Once-only form attributes are entered as part of the SETUP FORM command line; modifiable attributes are entered as contents of the form. You can define the FORM to be either PML-controlled, or core-code controlled using the qualifier attribute control type, with values PML or CORE.
NOALIGN
The gadgets BUTTON, TOGGLE, TEXT, OPTION, single line PARGRAPH and horizontal RGROUP with no tag fit within 1 vertical grid unit and are by default drawn with their Y-coordinate adjusted so that they would approximately centrealign with an adjacent BUTTON. This pseudo-alignment introduces small errors in all but a few circumstances and prevents accurate controlled layout.
NOALIGN prevents this (historical) gadget auto-alignment.
2-56
Use NOALIGN in conjunction with PATH RIGHT (the default path) and HALIGN CENTRE, as it gives a better layout, with fewer surprises.
Note:
It is bad practice to place one gadget on top of another. This may lead to gadgets being obscured. The commands to set modifiable attributes are described after the syntax graph.
.---------------<---------------------------. / | >--SETUP FORM fname --+-- MAIN -----+-------------------------------| +-- DOCUMENT -+- FLOAT -----------------------| | -------------------------------| +-- DIALOG ---+- DOCKing -+-------------------| | |- Left ---. | | | |- Right -| | | | |- Top ----| | | | - Bottom --------| | |- RESIzeable ------------------| | -------------------------------| +-- BLOCKingdialog -+- RESIzeable ------------| | -------------------------| +-- AT <xypos> -------------------------------| +-- SIZE val val -----------------------------| +-- NOQUIT -----------------------------------| +-- NOALIGN ----------------------------------| +-- CORE -------------------------------------* | .---<------. |/ | +-- <form> --* form contents EXIT -->
Default: CANCELCALL
This command defines the callback string which is executed whenever the form is dismissed from the screen via the CANCEL button or the QUIT/CLOSE control on the window title bar.
>-- CANCELcall text -->
Note:
CURSORTYPE
When a screen cursor enters a view, the view gadget determines what cursor type should be displayed initially, and what type will be displayed during different types of graphical interaction. You can specify the initial setting for the cursor type using this command.
Note:
2-57
>-- CURSortype
--+-+-+-+---
POINTER ----. NOCURSOR ---| PICK -------| PICKPLUS ---| CROSSHAIR --->
Note: HALIGN
There are other cursor types that are for AVEVAs use only.
Works in conjunction with PATH and HDISTANCE. Defines how a newly added gadget should be aligned horizontally with the preceding gadget.
>-- HAlign --+-- Left ---. -- Right --->
HDISTANCE
Works in conjunction with PATH and HALIGN. Defines how a newly added gadget should be spaced horizontally with respect to the preceding gadget.
>-- HDistance value -->
ICONTITLE
Defines the title for the icon when the form is minimised.
>-- ICONTItle text -->
INITCALL
Defines the callback string that is executed each time the form is displayed. This callback is usually run to check the validity of showing the form and to initialise gadget values.
>-- INITcall text -->
OKCALL
Defines the OK callback string for a form. It is executed whenever the form is dismissed from the screen via its OK button or that of an ancestor.
>-- OKcall text -->
Note: PATH
Defines the direction in which a sequence of new gadgets is to be added to a form. The path setting remains until you give another PATH command. Used with HALIGN, HDISTANCE, VALIGN, VDISTANCE.
>-- PATH --+-+-+--Up ------. Down ----| Left ----| Right ----->
Default:
Path Right.
2-58
TITLE
VALIGN
Use in conjunction with PATH and VDISTANCE. Defines how a newly added gadget should be aligned vertically with the preceding gadget.
>-- VAlign --+-- Top -----. -- Bottom ---->
VDISTANCE
Works in conjunction with PATH and VALIGN. Defines how a newly added gadget should be spaced vertically with respect to the preceding gadget.
>-- VDistance value -->
2-59
FORMAT Object
Members
Name CompSeparator Type STRING || REAL 32 STRING NONE L L2 L3 REAL 2 BOOLEAN TRUE FALSE BOOLEAN FALSE TRUE STRING || STRING |.| STRING |mm| BOOLEAN FALSE TRUE STRING MM M FINCH INCH Purpose
Formatting
Separator used for multicomponent data types such as POSITIONS (Default SPACE). Largest denominator for Imperial fractions (Default 32) Number is un-dimensioned (Default) Number is a LENGTH Number is an AREA Number is a VOLUME Number of decimal places for decimal fractions (Default 2) Use ENU format when outputting POSITIONS (Default) Use XYZ format when outputting POSITIONS Fractional part output as decimal (Default) Fractional part output as fraction Label used for feet e.g. ' or FT or ft or feet (Default ) Separator between inches and fractions (Default . ) General distance label e.g. mm or m or " or IN (Default is no label) Do not pad Fractions (Default) Pad Fractions with trailing spaces Output number in millimetres (Default) Output number in metres. Output number in feet and inches Output number in inches
Denominator
Dimension
DP ENU
Fraction
FtLabel
InchSeparator
Label
PadFractions
Units
2-60
Name OriginExp
Purpose With respect to World (Default) With respect to World With respect to Current Element Leading zeroes are displayed for Imperial units (Default). Leading zeroes are not displayed for Imperial units
Zeros
2-61
FRAME Object
Members
Name Tag Val RGroupCount Type STRING Get/Set REAL Get/Set REAL Get only
Purpose Text to appear as title on the frame. Selected radio button index as integer. Count of radio buttons (RTOGGLES) within the FRAMEs radio group. Returns zero if the FRAME is not a radio group. Radio group select callback string.
Callback
STRING Get/Set
Methods
Name Rtoggle( !index is REAL ) Background() Result GADGET STRING Purpose Returns the RTOGGLE gadget with index !index. Get Background Colour Name. Some gadgets do not support this property in all circumstances, e.g. gadgets which are showing a pixmap. Gadgets whose colour has not been set explicitly, may not have a colour with a known colourname. In this case an error is raised..
Command The FRAME command defines a frame gadget. A frame is a container which owns and manages any gadgets defined within its scope, including other frames. The frame gadget properties visible and active will automatically apply to all of its children, but will not overwrite their corresponding property values. There are three types of FRAME: NORMAL, TABSET, and. TOOLBAR A NORMAL frame can contain any type of gadget, including other frames. It also behaves as a radio group, with radio buttons defined
PDMS Software Customisation Reference Manual Version 11.6SP1
2-62
by the set of RTOGGLE gadgets that it directly contains. See the entry RTOGGLE Object for more about the RTOGGLE gadget. A TABSET frame can contain only tabbed page FRAMEs; you cannot nest them and they are not named. A TOOLBAR frame can contain only a subset of gadget types: BUTTON, TOGGLE, OPTION, and TEXT. It must have a name and can appear only on main forms.
.---<-------. / | >--FRAME gname -+- TOOLBAR -+- tagtext -+- <toolbar> -* toolbar contents | - EXIT --> | .---<--------. | / | +- TABSET -+-- <fgpos> ---| | +-- <fganch> --| | +-- <fgdock> --| | +-- <vshap> ---* | | .---<--------. | |/ | | +-- <tabset> --| tabbed frame contents | +-- NL --------* | -- EXIT --> | .---<--------. |/ | +-- tagtext ---| +-- <fgpos> ---| +-- <fganch> --| +-- <fgdock> --| +-- <vshap> ---* | .---<-------. |/ | +-- <formc> --* normal form contents -- EXIT -->
where the sub-graphs <toolbar>, <tabset> and <formc> define the allowable gadgets and layout commands available within the specific container type.
Note:
The graph <formc> defines the normal content of a form, all gadget types (except BAR) are allowed. There are restrictions on frame gadget types as defined below.
Setting Up a TOOLBAR Frame The toolbar frame allows you to define formal toolbars that contain all the gadgets in the frames scope. You can define a toolbar frame only for a main form, and a main form can contain only toolbar frames.
2-63
Setting Up a TABSET Frame A TABSET frame defines a container for a set of tabbed page frames. It has no visible border and no name. The graph below defines allowable contents of a TABSET frame:
>-- tabset >-+-+-+-+--<fframe> ---. <fvar> -----| <pml> ------| <nxasgn> ---| <varset> -------> frame gadget form variable definition general PML PML expressions variable setting VAR
Note:
Frame gadgets defined anywhere within the TABSET frame can only be of type NORMAL, not TOOLBAR or TABSET frames.
NORMAL frames defined directly within the TABSET frame, will
2-64
LINE Object
See also the POINTVECTOR object. Members
Name StartPosition EndPosition Type POSITION Get/Set POSITION Get/Set Purpose
3D Geometry
String() Direction()
STRING DIRECTION
Direction(DIRECTION way)
LINE
EndPosition Direction(DIRECTION)
StartPosition
Figure 2-I: : Basic LINE Definition
2-65
LINE Object Methods that Return BOOLEANs None of these methods modifies the original object.
Name On(POSITION where) OnProjected(POSITION where) Result BOOLEAN BOOLEAN Purpose Returns TRUE if where lies on the bounded line. Returns TRUE if where, when projected onto the line, lies within the bounded line.
OnProjected(POSITION) 9
On (POSITION) 9
LINE Object Methods that Return POSITIONs None of these methods modifies the original object.
Name Intersection(LINE other) Result POSITION Purpose Returns the intersection point of the passed LINE on the line definition Returns the intersection point of the passed POINTVECTOR on the line definition. Returns the intersection line of plane on the line definition. Returns the intersection points of arc on the line definition. Returns the nearest position on the line definition to position.
POSITION
Near(POSITION position)
2-66
Result POSITION
Purpose Returns the position at 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.
Proportion(REAL) Intersection(LINE)
Near(POSITION)
LINE Object Methods that Return REALs None of these methods modifies the original object.
Name Length() Distance(LINE other) Result REAL REAL Purpose Returns the length of the line. Returns the minimum distance between the line definition and other. Returns the minimum distance between the line definition and position.
Distance(POSITION position)
REAL
2-67
Length()
Distance(POSITION)
Distance(LINE)
LINE Object: Miscellaneous Methods None of these methods modifies the original object.
Name Plane() Result PLANE Purpose Returns a plane object, using the StartPosition and Direction of line object Returns a POINTVECTOR object, using the StartPosition and Direction of line object
Pointvector()
POINTVECTOR
LINE Object Methods that Return LINEs (a) None of these methods modifies the original object.
Name SetLengthStart(REAL length) Result LINE Purpose Returns a new line, maintaining the original StartPosition and direction, with an EndPosition to match length. Returns a new line, maintaining the original EndPosition and direction, with a StartPosition to match length. 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 position.
SetLengthEnd(REAL length)
LINE
Towards(POSITION position)
LINE
2-68
Result LINE
Purpose Returns a line, where the StartPosition is set position, maintaining the original EndPosition. Returns a line, where the EndPosition is set to position, maintaining the original StartPosition Returns a new LINE, where the StartPosition has been extended in the opposite direction of line by distance. Returns a new LINE, where the EndPosition has been extended in the direction of the line by distance.
To(POSITION position)
LINE
ExtendStart(REAL distance)
LINE
ExtendEnd(REAL distance)
LINE
ExtendEnd(REAL) To(POSITION)
SetLengthStart(REAL) ExtendStart(REAL)
Towards(POSITION)
From(POSITION)
SetLengthEnd(REAL)
Figure 2-N: LINEs Returned by LINE Object Methods (a)
ExtendEnd(PLANE plane)
LINE
2-69
Name ReverseSense()
Result LINE
Purpose Returns a line, where the StartPosition and EndPosition have been transposed. Returns a LINE definition normalised onto plane. See picture. Returns a parallel to the line definition of the line object, through position. All other members are copied. See picture. Returns a parallel line to the LINE object, offset by offset from the original in the given direction. See picture.
Projected(PLANE plane)
LINE
Parallel(POSITION position)
LINE
LINE
Parallel(POSITION)
Offset(DIRECTION, REAL)
Projected(PLANE)
Union(LINE other)
LINE
2-70
Union(Line)
Overlap(Line)
Figure 2-P: LINEs Returned by LINE Object Methods (c)
2-71
LINEARGRID Object
Members
Name Position Orientation XSpacing YSpacing Type POSITION Get/Set ORIENTATION Get/Set REAL Get/Set REAL Get/Set
Construction Aids
Purpose Origin of the grid Orientation of the grid Spacing in the X direction Spacing in the Y direction
STRING
X XSpacing
Figure 2-Q: LINEARGRID Basic Definition
2-72
LINEARGRID Object Methods that Return POSITIONs None of these methods modifies the original object.
Name GridPoint(REAL, REAL) Result POSITION Purpose 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 Returns the nearest intersection point to the passed position, when mapped onto the grid plane Returns the nearest intersection point to the intersection of the passed line and the grid plane Returns the nearest intersection point to the intersection of the passed point vector and the grid plane Returns the nearest mesh cell centre point to the passed position, when mapped onto the grid plane Returns the nearest mesh cell centre point to the intersection of the passed line and the grid plane Returns the nearest mesh cell centre point to the intersection of the passed point vector and the grid plane
Snap(POSITION)
POSITION
Snap(LINE)
POSITION
Snap(POINTVECTOR)
POSITION
SnaptoCentre(POSITION)
POSITION
SnaptoCentre(LINE)
POSITION
SnaptoCentre( POINTVECTOR)
POSITION
2-73
Snap(POSITION)
LINEARGRID Object Miscellaneous Methods This method does not modify the original object.
Name Plane() Result PLANE Purpose Returns the grid as plane object
Within(POSITION) Plane()
Within(POSITION)
Figure 2-T: Miscellaneous Return Values from LINEARGRID Methods
2-74
LINEARGRID Object Methods that Return XYOffsets This method does not modify the original object.
Name XYOffset(POSITION) Result XYPOSITION Purpose Returns the position, mapped onto the grid plane, in terms of an XY offset from the grid plane origin
XYOffset(POSITION)
Figure 2-U: XYOffsets Returned by LINEARGRID Object Methods
2-75
LIST Object
Members
Name Add(STRING Dtext) Type NO RESULT
Purpose Append an entry to the list, where Dtext is the text to display in the option list. Append and entry to the list, where Dtext is the text to display in the option list, and Rtext is the replacement text for the new field. If Rtext isnt specified, it will be set to Dtext by default. Selected field-number of a single-choice list. Selected field numbers of a multiple-choice list. Set or get the entire list of display texts. Get the display text of the n'th field. Last picked list field number. Set or get the list of replacement texts. Get the replacement text of the n'th field.
NO RESULT
REAL Get/Set REAL ARRAY Get/Set STRING ARRAY Get/Set STRING Get Only REAL Get Only STRING ARRAY Get/Set STRING et Only
Methods
Name FullName() Name() Owner() Select(STRING text, STRING value) Result STRING STRING FORM NO RESULT Purpose Get the full name of the gadget, e.g..'!!Form.gadget' Get the gadget's name, e.g. 'gadget' Get owning form. Select specified item in a list. text must be Rtext or Dtext. value is the RTEXT or DTEXT of the item to be selected.
2-76
Result NO RESULT
Purpose Select multiple choice list items. text must be 'Rtext' or 'Dtext'. values contains the RTEXT or DTEXT values to be selected. Get selected RTEXT Array of RTEXT for multichoice list. Get selected RTEXT or DTEXT Array of texts for multi-choice list. text must be 'Rtext' or 'Dtext'. Clear list contents and selections. Clear list selections. Links menu with the gadget as a popup. Removes popup menu from the gadget. Returns the last picked popup menu for the gadget. Refreshes the display of the gadget. Get shown status. Get the gadget type as a STRING. Allows a TOOLTIP to be edited. Move keyboard focus to this gadget. This determines the number of columns for the list and sets the column headings. If the list is already populated then it fully clears the list data and any existing headings. It is valid for multi-column lists only. Array is an array of column heading strings.
Selection( )
STRING ARRAY OF STRING STRING ARRAY OF STRING NO RESULT NO RESULT NO RESULT NO RESULT MENU NO RESULT BOOLEAN STRING NO RESULT NO RESULT NO RESULT
Selection(STRING text)
Clear() ClearSelection() SetPopup(MENU menu) RemovePopup(MENU menu) GetPickedPopup() Refresh() Shown() Type() SetToolTip(STRING) SetFocus() SetHeadings(Array of STRING)
2-77
Result NO RESULT
Purpose This sets the display text for all the data fields of the list gadget by row. If the list gadget is already populated then it replaces all the current rows by the new ones. Array is an array of row arrays, and its size determines the number of rows in the list. Each entry is a row array of strings, which supplies the displayed text for each column of the row. The size of each row array must be less than or equal to the number of columns of the list. The columns are filled sequentially until the array is exhausted. This sets the display text for all the data fields of the list gadget by column. If the list gadget is already populated then it replaces all the current rows by the new ones. Array is an array of column arrays, and its size must match the number of columns of the list. The size of each all column arrays must be the same and determines the no of rows in the list. This selects the first list row whose column column has the display text dtext. If the field is not found then the list selection is unaltered. If the list is a multi-choice list then repeated use of this method will add selections to the list. Get Background Colour Name. Some gadgets do not support this property in all circumstances, e.g. gadgets which are showing a pixmap. Gadgets whose colour has not been set explicitly, may not have a colour with a known colourname. In this case an error is raised..
NO RESULT
NO RESULT
Background()
STRING
2-78
Note:
The default width of each column is determined by the longest header or value supplied. The column widths can be interactively modified using the mouse cursor in the headings row. Selection is the entire row not individual cells. The combined columns text length for each row will be limited to (K:GEN.TEXT.MAXLEN number of columns) characters. Currently K:GEN.TEXT.MAXLEN = 256chars. This is same as the current limit, but the array interface allows you to provide the row data as several separate strings, so the total number of characters is not so apparent. For a multi-column list gadget, each rows DTEXT string is held as a horizontal tab character separated string of column display texts, matching the column headings (as opposed to a simple string for single column list). LIST methods, used on multi-column lists have the following limitations:
Querying DTEXTS will return the tab separated strings. Supplying DTEXT to populate the list or invoke selections will require tab separated strings as input.
These limitations will apply to the following methods and members: Select( Dtext, ), .Selection( Dtext ), .val, .Dtext, .Dtext[n].
Note:
For zero selection lists: If SINGLE ZEROSEL is set for a list, and it is not given an initial value explicitly, then the list will appear with zero selected fields when the form is first displayed. When the list has no selection, then the .val member returns 0, and any Selection() methods return unset values. The .ClearSelection() method will deselect any current selection. Attempting to set the member .val = 0 is invalid and will return an error. Once you make a selection, you cannot interactively unselect a field to return to the zero selection state.
Command The LIST command defines a single-choice or multiple-choice list gadget, and specifies its position, tag, number of columns and callback text. Also defines the area (width and height) in which the displayed part of the list will appear.
2-79
The arrays defining the display texts and replacement texts for the list options are usually set in the form's default constructor method.
.-------<---------. / | >- LIST gname -*-- tagtext --------| +-- <fgpos> --------| +-- TOOLTIP text ---| +-- CALLback text --| +-- <fganch>--------| +-- <fdock>---------| +-- CORE -----------* | .-------<-----------------------. |/ | *-- SINGle ---+-- ZEROSELection --| | '-------------------| +-- MULTiple ---------------------| +-- COLUMNS ----------------------* -- <vshap> ---+-- TOOLTIP text --. '---------------------> Syntax Graph 2-9: Setting-up a LIST Object
Note:
The TOOLTIP keyword can be given at two different places in the syntax. You can specify a list to have multiple columns using the COLUMNS keyword, and you can specify a single-choice list to allow zero-selections using the SINGLE ZEROSEL command.
Default:
2-80
LOCATION Object
Members
Name Name Description Locid Refno IsCurrent Type STRING STRING STRING STRING BOOLEAN Purpose
PDMS Global
Location name. Description, up to 120 characters. Location identifier. STRING containing Database reference no. True for the current Location.
Methods
Name LOCATION(DBREF) LOCATION(STRING) Result LOCATION LOCATION Purpose Returns a LOCATION object, given a DBREF. Returns a LOCATION object, given a name or reference number (Global projects only). Array of DB objects for Allocated DBs. This method does not modify the original object. Return array of all Sessions extracted from COMMs db at the Location. This method does not modify the original object. STRING containing Location name. This method does not modify the original object.
Dblist()
ARRAY OF DB
Sessions()
ARRAY OF SESSIONS
String()
STRING
Note:
The Sessions() method provides information required for remote expunging. This method will cause daemon activity for locations other than the current location
In all cases, !!CE is assumed to be a DB database element and !!CE.Name is a STRING object containing the elements name.
PDMS Software Customisation Reference Manual Version 11.6SP1 2-81
These methods should assist performance improvements to AppWare by making it easier to get from Database element to Object.
2-82
MACRO Object
Member
Name Filename From Number To Type STRING DB REAL DB Purpose
PDMS
Inter-DB macro filename (up to 17 characters). Source DB of inter-DB connection macro. Inter-DB macro number. Target DB of inter-DB connection macro.
Command
!ARRAY = MACROS $ Returns an array of all the MACRO objects in $ the project
2-83
MDB Object
Member
Name Name Description Refno Type STRING STRING STRING Purpose
PDMS
Name of the MDB, up to 32 characters MDB description, up to 120 characters String containing Database reference number
In all cases, !!CE is assumed to be a DB database element and !!CE.Name is a STRING object containing the elements name. These methods should assist performance improvements to AppWare by making it easier to get from Database element to Object.
2-84
Command
!ARRAY= MDBS $ Returns an array of MDB objects in the project
2-85
MENU Object
Members
Name Callback PickedField Type STRING Get/Set STRING Get Only
Purpose Sets/gets the callback on the menu. Returns the DTEXT of the last picked menu field. Using this member is now deprecated. Use the PickedFieldName property instead. Returns the field name of the last-picked TOGGLE or CALLBACK field.
PickedFieldName
Methods
Name Add('SEPARATOR', {STRING fieldName}) Result NO RESULT Purpose Append a SEPARATOR field, with an optional STRING argument, fieldName, that if present denotes the unique field-name in the menu. Append a CALLBACK field with Dtext, which may contain multi-byte characters, but which cannot be NULL or blank. The argument callback gives the callback command. There is also an optional fieldName argument that, if present, denotes the unique field name in the menu.
NO RESULT
2-86
Result NO RESULT
Purpose Append a FORM display field with Dtext, which may contain multi-byte characters, but which cannot be NULL or blank. The argument formName, gives the name of the form to be displayed, which may be NULL but may not be blank. There is also an optional fieldName argument that, if present, denotes the unique field name in the menu Append a MENU (pullright) field with Dtext, which may contain multi-byte characters, but which cannot be NULL or blank. menuName gives the pullright menu name, which may be NULL but may not be blank. There is also an optional fieldName argument that, if present, denotes the unique field name in the menu. Append a TOGGLE field with Dtext, which may contain multi-byte characters, but which cannot be NULL or blank. The argument callback gives the callback command, which must be an open PML function. There is also an optional fieldName argument that, if present, denotes the unique field name in the menu. Removes all menu fields from the menu. Using this method is deprecated. Removes menu fields starting with the one that matches Dtext onwards. Using this method is deprecated
NO RESULT
NO RESULT
Clear()
NO RESULT
Clear(STRING Dtext)
NO RESULT
2-87
Result BOOLEAN
Purpose Get the value of the property named in property for the menu field named in menuField. The allowed values for property are ACTIVE, VISIBLE, or SELECTED. Returns menu object's full name, for example: !!Form.Menu. Insert a CALLBACK field with Dtext, which may contain multi-byte characters, but which cannot be NULL or blank, immediately after the menu field identified by menuField. The argument callback gives the callback command. There is also an optional fieldName argument that, if present, denotes the unique field name in the menu. Insert a FORM display field with Dtext, which may contain multi-byte characters, but which cannot be NULL or blank, immediately after the menu field identified by menuField. The argument formName gives the name of the form. There is also an optional fieldName argument that, if present, denotes the unique field name in the menu. Insert a MENU (pullright) field with Dtext, which may contain multi-byte characters, but which cannot be NULL or blank, immediately after the menu field identified by menuField. The argument menuName gives the name of the form. There is also an optional fieldName argument that, if present, denotes the unique field name in the menu.
FullName()
STRING
NO RESULT
NO RESULT
NO RESULT
2-88
Name
Result NO RESULT
Purpose Append TOGGLE field with Dtext, which may contain multi-byte characters, but which cannot be NULL or blank, immediately after the menu field identified by menuField. The argument callback gives the callback command, which must be an open PML function. There is also an optional fieldName argument that, if present, denotes the unique field name in the menu. Append a SEPARATOR field immediately after the menu field identified by menuField. There is also an optional fieldName argument that, if present, denotes the unique field name in the menu. Insert a CALLBACK field with Dtext, which may contain multi-byte characters, but which cannot be NULL or blank, immediately before the menu field identified by menuField. The argument callback gives the callback command. There is also an optional fieldName argument that, if present, denotes the unique field name in the menu. Insert a FORM display field with Dtext, which may contain multi-byte characters, but which cannot be NULL or blank, immediately before the menu field identified by menuField. The argument formName gives the name of the form. There is also an optional fieldName argument that, if present, denotes the unique field name in the menu.
NO RESULT
NO RESULT
NO RESULT
2-89
Name InsertBefore(STRING menuField, MENU, STRING Dtext, STRING menuName, {STRING fieldName})
Result NO RESULT
Purpose Insert a MENU (pullright) field with Dtext, which may contain multi-byte characters, but which cannot be NULL or blank, immediately before the menu field identified by menuField. The argument menuName gives the name of the form. There is also an optional fieldName argument that, if present, denotes the unique field name in the menu. Append TOGGLE field with Dtext, which may contain multi-byte characters, but which cannot be NULL or blank, immediately before the menu field identified by menuField. The argument callback gives the callback command, which must be an open PML function. There is also an optional fieldName argument that, if present, denotes the unique field name in the menu. Append a SEPARATOR field immediately before the menu field identified by menuField. There is also an optional fieldName argument that, if present, denotes the unique field name in the menu. Returns menu object's simple name, for example: 'Menu'. Returns reference to owning form. Returns the name of the gadget that popped up the menu. The value is unset if the menu was not popped up by a gadget. Refreshes the display of the gadget. Set the selected status of TOGGLE field identified by Dtext to the value of status. Using this method is deprecated.
NO RESULT InsertBefore(STRING menuField, TOGGLE, STRING Dtext, STRING menuName, {STRING fieldName})
NO RESULT
NO RESULT NO RESULT
2-90
Result BOOLEAN
Purpose Get selected status of the TOGGLE field identified by Dtext. Using this method is deprecated. Set the active status of the menu field identified by Dtext. Using this method is deprecated. Set the value of property with value, for the menu field identified by menuField. The allowed values for property are ACTIVE, VISIBLE, or SELECTED. But see the note below for special cases when you use a SEPARATOR field.
NO RESULT
NO RESULT
Note:
Setting the Active and Visible properties of a SEPARATOR field will affect the implied group of fields comprising the SEPARATOR field and all subsequent fields up to but not including the next SEPARATOR field.
For each of the Add() methods above, you can use a special field-type to indicate that the field is managed by core-code i.e. CORESEPARATOR, CORECALLBACK, COREFORM, COREMENU, and CORETOGGLE.
Command
MENU objects are owned by FORM objects, and can be created within form setup
mode. It is also possible to add a new menu to an existing form - usually for context sensitive popup menus.
2-91
The recommended way to create a menu and its fields, typically within form setup mode, is:
!menu = !this.newmenu( Menu1, MAIN ) !menu.add( CALLBACK, save, <callback>, field1 ) !menu.add( FORM, save as, saveForm, field2 ) Note:
Each menu is either part of the Main menu system or part of the Popup menu system, but cannot belong to both. If you specify neither POPUP nor MAIN at setup time, then the menus usage is initially unknown. The system will attempt to deduce the usage type from the first action that references the menu. Menus in the Main system can only appear once. That is, a main system menu cannot be a sub-menu of several menus. Menus in the Popup system may appear only once in a given popup tree, but may be used in any number of popup trees.
A menu cannot reference itself, either directly as a pullright of one of its own fields or be a pullright of another menu in its own menu tree. You can add menu fields with an optional field-name. If you do not specify a field-name, then you will not be able to refer to it later. You can use a special field-type to indicate that the field is managed by core-code i.e. CORESEPARATOR, CORECALLBACK, COREFORM, COREMENU, and CORETOGGLE.
You do not need to specify callback functions for core-managed fields. An alternative is to use the MENU command, followed by the menus ADD commands and terminated by the EXIT command. The full syntax is shown below:
>-- MENU -- gname +- POPUP -. .--------<-------. +- MAIN --| / | -----------+- NL -+- <fmenu> -| +- PML -----* +- EXIT ---. -------------> Syntax Graph 2-10: Defining a Menu
.-----<-----. | fieldname -| CORE ------* SEParator -------------------------------. dtext -+- rtext -------------------------| +- MENU -- gname -----------------| +- FORM -- fname -----------------| +- CALLback +- rtext ------------| | --------------------| - TOGgle +- rtext . | ---------+- SELected -| --------------> Syntax Graph 2-11: Using Menu,Add()
2-92
OBJECT
Method
Name GetPathName() Result STRING Purpose
All
2-93
OPTION Object
Members
Name Val DText Type REAL Get/Set ARRAY OF STRING Get/Set STRING Get Only ARRAY OF STRING Get/Set STRING Get Only
Purpose Selected option number. Set or get the entire list of display texts. Get the display text of the n'th option. Set or get the list of replacement texts. Get the replacement text of the n'th option.
DText[n] RText
RText[n]
Methods
Name Add(STRING Dtext) Result NO RESULT Purpose Append an entry to the drop down list, where Dtext is the text to display in the option list. Append and entry to the drop down list, where Dtext is the text to display in the option list, and Rtext is the replacement text for the new field. If Rtext isnt specified, it will be set to Dtext by default. Clear gadgets contents. Clears selection and returns to default of first in list. Get the full gadget name, e.g.'!!Form.gadget' Get the gadget's name, e.g. 'gadget' Get owning form. Select specified item in a list: text must be Rtext or Dtext, and value is the item to be selected. Get current selections RTEXT.
NO RESULT
Selection()
STRING
2-94
Result STRING
Purpose Get RTEXT or DTEXT of current selection; text must be Rtext or Dtext. Links menu with the gadget as a popup. Refreshes the display of the gadget. Move keyboard focus to this gadget. Removes (popup) menu from the gadget. Returns the last picked popup menu for the gadget. Get shown status. Get the gadget type as a string. Get Background Colour Name. Some gadgets do not support this property in all circumstances, e.g. gadgets which are showing a pixmap. Gadgets whose colour has not been set explicitly, may not have a colour with a known colourname. In this case an error is raised..
SetPopup(MENU menu) Refresh() SetFocus() RemovePopup(MENU menu) GetPickedPopup() Shown() Type() Background()
Command The OPTION command defines an option gadget and specifies the position, tag or pixmap, and callback text of the option (or list button) gadget. Also sets the width allowed for displaying the list options when the gadget is selected. The arrays defining the display texts and replacement texts for the gadget should be set in the form's default constructor method.
.-------<---------. / | >-- OPTion gname --*-- <fgtagw> -------| +-- <fgpos> --------| +-- <fganch> -------| +-- <fgdock> -------| +-- CALLback text --| +-- TOOLTIP text ---| +-- CORE -----------* +-- WIDth integer -----. -- PIXmap-+- <vshap> -| -----------+-- TOOLTIP text --. --------------------> Syntax Graph 2-12: Setting Up an OPTION Object
2-95
Note:
It is bad practice to place one gadget on top of another. This may lead to gadgets being obscured.
2-96
ORIENTATION Object
Members
Name Alpha Beta Gamma Origin Type REAL Get/Set REAL Get/Set REAL Get/Set DBREF Get/Set Purpose The Alpha component. The Beta component.
PDMS
2-97
PARAGRAPH Object
Members
Name Val Type STRING Get/Set
Purpose The paragraph's textual content as a string. If it has a pixmap then the value will be the pathname of the pixmap file as a string. Set or get Background Colour Number. Set Background Colour Name.
Background Background
Methods
Name AddPixmap(STRING) AddPixmap(STRING, STRING) AddPixmap(STRING, STRING, STRING) FullName() Name() Owner() SetPopup (MENU) RemovePopup(MENU) GetPickedPopup() Shown() Type() Background() Result NO RESULT Purpose Adds pixmaps to be used for the unselected, selected and inactive states. Get the full gadget name, e.g.'!!Form.gadget'. Get the gadget's name, e.g. 'gadget'. Get owning form. Links the given menu with the gadget as a popup. Removes the given popup menu from the gadget. Returns the last picked popup menu for the gadget. Get shown status. Get the GADGET type as a string. Get Background Colour Name. Some gadgets do not support this property in all circumstances, e.g. gadgets which are showing a pixmap. Gadgets whose colour has not been set explicitly, may not have a colour with a known colourname. In this case an error is raised..
2-98
Command The PARAGRAPH command defines a paragraph and specifies its position, dimensions (in units of character widths and line heights), and, optionally tag text or a pixmap. Note that a paragraph gadget is passive so it s callback is never used. A paragraph gadget can have a tag, but it is not displayed. You can define the PARAGRAPH to be either PML-controlled, or core-code controlled using the gadget qualifier attribute control type, with values PML or CORE.
.--------------------<------------. / | >-- PARAgraph gname -+-- <fgpos> ------------------------| +-- BACKGround <colno> -------------| +-- <fganch> -----------------------| +-- <fgdock> -----------------------| +-- CORE ---------------------------* +- PIXMAP -+- filename -. | -------------<vshap>--> - TEXT text -+-<vshap>-. ----------->
Note:
If a paragraph is to contain text, then its shape will be specified in grid units. The height is the number of lines of text and the width is typically thought of as the number characters required. This may be less that the actual string length, because the grid width is the size of the font notional character width, which is typically smaller than the largest characters in the font. You may need to specify a few extra grid units to guarantee to fit variable strings. If a paragraph contains text, and no dimensions are specified, the result is a single line of width (in grid units) equal to the number of text characters. This may not be long enough to guarantee to fit the specific string, so you may nee to pad out with extra spaces to avoid truncation. If your paragraph is to contain more than one line of text, you must specify a suitable shape. The text, which can contain newline characters, will be justified in the area given. If a pixmap is specified, the shape of the gadget must be defined and will be in pixels. Remember to define the pixmap using the paragraph's AddPixmap() method or its .Val member. If the paragraph is to have its contents modified then the text or pixmap file would normally be specified in the form's default constructor method, rather than in the gadget definition. It is bad practice to place one gadget on top of another. This may lead to gadgets being obscured.
2-99
PLANE Object
Members
Name Orientation Position Type ORIENTATION Get/Set POSITION Get/Set Purpose
3D Geometry
String() Direction(DIRECTION)
STRING DIRECTION
Towards(POSITION)
NO RESULT
Towards(POSITION)
Orientation Direction(DIRECTION) Z Y
Position
Figure 2-V: PLANE Object Definition
2-100
POSITION
POSITION
POSITION
Intersection(LINE)
Intersection(PLANE, PLANE)
ThreeDPosition(XYPOSITION)
Figure 2-W: POSITIONs returned by PLANE Object Methods
Near(POSITION)
2-101
Intersection(PLANE)
LINE
Intersection(PLANE)
2-102
XYOffset(POSITION)
Figure 2-Y: XYPositions Returned from PLANE Object Methods
2-103
PLANTGRID Object
Members
Name Position Orientation XSpacings Type POSITION Get/Set ORIENTATION Get/Set REAL ARRAY Get/Set REAL ARRAY Get/Set
Construction Aids
Purpose Origin of the grid. Orientation of the grid. Array of spaces in the X direction, each space is relative to the previous. Array of spaces in the Y direction, each space is relative to the previous.
YSpacings
Orientation Position Z
Ysize()
YSpacing
XSpacing X
Figure 2-Z: Return Values from PLANTGRID Object Methods
Xsize()
2-104
POINTVECTOR Object
Members
Name Direction Position Type DIRECTION Get/Set POSITION Get/Set Purpose
3D Geometry
Definition Methods
Name Pointvector( POSITION, DIRECTION) Result POINTVECTOR Purpose Creates a POINTVECTOR with the given POSITION and DIRECTION Returns a POINTVECTOR as a string.
String()
STRING
Direction
Position
Figure 2-AA: POINTVECTOR Object Definition
2-105
Towards(POSITION)
POINTVECTOR
Through(POSITION)
POINTVECTOR
Offset(REAL)
Through(POSITION)
Towards(POSITION)
Figure 2-BB: POINTVECTORs Returned from POINTVECTOR Object Methods
Intersection(PLANE)
POSITION
2-106
Intersection(PLANE)
Miscellaneous Methods
Name Intersections(ARC) Result ARRAY OF POSITIONS PLANE Purpose Returns the positions at the intersection of the point vector with the supplied arc. Returns a plane with an origin equal to the position of the point vector and a normal direction equal to the point vector direction. 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.
Plane()
Line(REAL)
LINE
2-107
POSITION Object
Members
Name East North Up Origin Type REAL Get/Set REAL Get/Set REAL Get/Set DBREF Get/Set Purpose The East component. The North component. The Up component.
PDMS
Methods
Name Position(STRING ) Position(STRING, FORMAT) Result POSITION POSITION Purpose Creates a POSITION at the coordinates given in STRING. Creates a POSITION at the coordinates given in STRING, with the specified FORMAT. Magnitude of component in specified DIRECTION. TRUE if POSITIONS are the same. TRUE if POSITION is less than argument. Convert POSITION to a STRING. Convert to a new POSITION with respect to given DB element. Returns the angle between the passed two points about the position object. Returns an arc using arc centre technique. The direction is the normal viewing direction. Returns an arc using arc centre technique. The direction is the normal viewing direction. Please see diagram for full explanation.
REAL
ARC
ARC
2-108
POSITION A POSITION X
RADIUS
POSITION B
Result ARC
Purpose Returns an arc using arc centre technique. The direction is the normal viewing direction. Please see diagram for full explanation. 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
POSITION X
RADIUS POSITION A
Figure 2-EE: !Arc = !posX.ArcRadius(!posA,!posB,!dir,radius,!major)
Result ARC
Purpose Returns an arc using arc through 3 points technique. The direction is the normal viewing direction. Please see diagram for full explanation.
2-109
POSITION X
POSITION A
POSITION B
Figure 2-FF: !Arc = !posX.ArcThru(!posA,!posB,!dir)
Result ARC
Purpose Returns an arc using arc through 3 points and radius technique. The direction is the normal viewing direction. Please see diagram for full explanation.
POSITION A
POSITION X RADIUS
POSITION B
Figure 2-GG: !Arc = !posX.ArcThru(!posA,!posB,!dir,!radius)
Result ARC
Purpose Returns a circle through the 3 line tangent points. The 'this' position refers to the zone in which the circle lies. Returns the direction between the position and the supplied position Returns the distance between the position and the nearest point on the arc line of the passed arc definition Returns the mid point between the two positions
Direction(POSITION)
BOOLEAN
Distance(ARC)
REAL
MidPoint(POSITION)
POSITION
2-110
Result BOOLEAN
Purpose Returns true if the passed position is within the passed distance from the position object Returns a position offset by the supplied length in the supplied direction Returns a plane in which each of the supplied points lie. Returns the distance between the position and the nearest point on the passed infinite line definition Returns the distance between the position and the nearest point on the passed plane definition Returns the distance between the two positions Returns a line between the two positions, starting at the position object Returns the mid point between the two positions Returns true if the passed position is within the passed distance from the position object Returns a position offset by the supplied length in the supplied direction Returns a plane in which each of the supplied points lie.
Offset(DIRECTION, REAL)
POSITION
PLANE REAL
Distance(PLANE)
REAL
Distance(POSITION) Line(POSITION)
REAL LINE
POSITION BOOLEAN
POSITION
PLANE
2-111
POSTEVENTS Object
PDMS
The user may provide a PostEvents object, which should provide the methods described below. To use this feature, you must create a global object of this type and call it !!postEvents. The method !!postEvents.postMark will be called every time an undoable is created, after the undoable has been added to the undo stack. This refers to all undoables, whether created by a MARKDB command, an undoable object or within core functionality. Similarly, the method postUndo will be called after an UNDO has occurred, and so on. Each method will be passed a STRING object containing the name of the mark with which the mark, undo, or redo is associated. Methods
Name postMark(STRING) Result NO RESULT Purpose Called after an undoable has been added to the undo stack. STRING is the description text associated with the undoable object. Called after an undo has occurred. STRING is the description text associated with the undoable object. Called after a redo has occurred. STRING is the description text associated with the undoable object. Called after a clearMark has occurred Called after a clearAll has occurred.
postUndo (STRING)
NO RESULT
postRedo(STRING)
NO RESULT
postClearMark() postClearAll()
NO RESULT NO RESULT
2-112
PROJECT Object
Members
Name Name Evar Type STRING STRING Purpose
PDMS
The name of the Project, up to 120 characters. Project environment variable, e.g. SAM000
Methods
Name Active() Code() Description() Mbcharset() Message() Result REAL STRING STRING STRING STRING Purpose Number of active users of the project Project code, three characters, e.g. SAM Project description, up to 120 characters. Multibyte character set number Project message (information about the project), up to 120 characters. Project name Project number, up to 17 characters. Whether project is a global project. Return array of all Locations in Project Return true current location Return array of all Sessions (at the current location) Return current Session (at the current location) List of databases in the project. Return array of all MDBs in Project at current location. Return array of all USERs in Project at current location. Return array of all Inter-db macros in MISC db in Project at current location.
Name() Number() Isglobal() Locations() CurrentLocation() Sessions() CurrentSession() Dblist() MDBList() UserList() Macros()
STRING STRING BOOLEAN ARRAY OF LOCATION LOCATION ARRAY OF SESSIONS SESSION ARRAY OF DB OBJECTS ARRAY OF MDBS ARRAY OF USERS ARRAY OF MACROS
2-113
Name Messages()
Commands
!ARRAY = PROJECTS !PROJECTVAR = CURRENT PROJECT $ Returns an array of all PROJECT objects $ which have project environment variables set. $ Returns the current project object.
2-114
PROFILE Object
Members
Name Position Orientation Pointer Type POSITION Get/Set ORIENTATION Get/Set POINTER Get Only Purpose
3D Geometry
Methods
Name Profile(POSITION, ORIENTATION, ARRAY) Result PROFILE Purpose Creates a profile object. The input ARRAY is an array of LINEs, ARCs and POSITIONs. Other array member types will be ignored. Array member must be initialised correctly, otherwise it will be ignored. Creates a profile object from a LOOP, PLOO, PALJ or SPINE. Approximately from a POGO, BOUN, DRAW. 3D linear geometry (SPINE,BOUN, DRAW,PALJ) should be in a single plane. If not it is projected onto a plane defined by the first few points of the element. Creates a profile object from SPRO or SLOO at DBREF1. DBREF2 is the design element referencing the catalogue element containing the catalogue primitive thus providing its parameters. Creates a profile object which is a copy of the given profile Returns the PLANE definition of the profile. This is equivalent to the PLANE method on LINEARGRID object Return true if closed
Profile(DBREF)
PROFILE
Profile(DBREF1,DBREF2)
PROFILE
Profile(PROFILE) Plane()
PROFILE PLANE
PsClosed()
BOOLEAN
2-115
Name PsValidClosed ()
Result BOOLEAN
Purpose Returns true if the profile is valid and could be drawn correctly using GML, e.g. there are no self-intersecting edges True if anti-clockwise (on its plane). Returns error if profile is not closed Internal area of profile. Returns error if profile is not closed Returns the complete length of the profile. Returns true if profile is a full circle. Returns true if edge specified by REAL argument is a fillet. A fillet must be an arc with a significant angle that is tangentially continuous with its adjacent edges that are lines, or arcs of larger radius.
Sense()
BOOLEAN
Area()
REAL
.plane()
2-116
numberEdges()
REAL
edge(REAL)
LINE/ARC
dbWrite(DBREF)
PROFILE
PROFILE
2-117
PROFILE Object Transformations and Modification Methods These methods return a modified version of the profile definition:
Name mirror(LINE) Result PROFILE Purpose Mirrors the boundary definition about the passed line, when mapped onto the boundary plane Offsets the boundary definition in the XY of the boundary plane with a shift of x of REAL1 and y of REAL2 Rotates the boundary definition about the XYPOSITION by the given angle. Angle are anti-clock-wise about the Z axes of the boundary plane Closes the profile with an additional edge (if necessary). If ends are within a tolerance the end point is adjusted Reverses the sense of the profile and the order of the edges Merge concentric contiguous arcs into one up to a maximum arc angle of REAL1 degrees according to tolerance REAL2 Mergearcs() will remove concentric back tracks in the profile as well. Merge concentric contiguous arcs into one. Merge colinear contiguous lines into one according to tolerance supplied. Mergelines() will remove colinear backtracks in the profile as well. Merge colinear contiguous lines into one. Remove coincident consecutive points according to tolerance supplied Remove coincident consecutive points Replace arcs with a chordal approximation to the tolerance supplied
translate(REAL1,REAL2)
PROFILE
rotate(REAL, XYPOSITION)
PROFILE
close()
PROFILE
reverse()
PROFILE
mergearcs(REAL1, REAL2)
PROFILE
mergearcs() mergelines(REAL)
PROFILE PROFILE
mergelines() mergpoints(REAL)
PROFILE PROFILE
mergepoints() polyline(REAL)
PROFILE PROFILE
2-118
Purpose Replace arcs with a chordal approximation Removes all the arcs from the definition, only leaving the straight-line edges. Arcs with angle less than the supplied argument are ignored. Arcs that are removed are replaced by projected tangents meeting at the polar position of the arc. Arcs with angles approaching 180 degrees are split in half
.mirror(<line>)
.offset(<real>,<real>)
.rotate(<xyposition, <real>)
2-119
PROFILE Object Methods that Query Position Relationships These methods map the passed positions onto the profile plane, then use the resulting position to determine the result returned:
Name Near(POSITION) Result POSITION Purpose Returns the nearest position on the profile, to the given position projected onto the profile plane. The REAL argument is an index to an edge in the Profile. Returns the nearest point on this edge to the POSITION supplied. This is the same as .near(POSITION) but restricted to a single edge. Returns array of edge indices of the nearest edges to the given POSITION. The returned edges may be any in the profile. Edges will be consecutive if nearest point is a vertex. Returns TRUE if the position when mapped on to the profile plane lies inside the profile. The profile must be closed. Returns TRUE if the position when mapped on to the profile plane lies outside the profile. The profile must be closed. Returns TRUE if the position (mapped onto the profile plane) lies on the profile geometry.
Near(REAL,POSITION)
POSITION
NearEdges(POSITION)
ARRAY
IsWithin(POSITION)
BOOLEAN
IsWithout(POSITION)
BOOLEAN
OnProfile(POSITION)
BOOLEAN
2-120
.near(<position>)
.onProfile(<position>)
PROFILE Object Methods that Query Profile to Profile Relationships These methods are used to check the relationship between PROFILEs.
Name IsWithin(PROFILE) Result BOOLEAN Purpose True if the supplied profile lies wholly within the profile the object. Both profiles must be closed. True if the supplied profile lies completely outside the profile object. Both profiles must be closed. True if the supplied profile intersects the profile object. Both profiles must be closed
IsWithout(PROFILE)
BOOLEAN
IsIntersecting(PROFILE)
BOOLEAN
Table 2-95: PROFILE Object Methods that Query Profile to Profile Relationships
PROFILE Object Intersection Methods These methods return an array of results that define the intersection between an object and the profile. Note that if an intersection point occurs exactly at the junction of two spans of the profile, then two identical intersection points will occur in the array.
Name intersections(LINE) Result ARRAY OF POINTS Purpose Returns an array of points that are positions where the line (or the projection of the line into the plane of the profile) intersects the profile. All points on the extended infinite line are returned.
2-121
Name intersections(ARC)
Purpose Returns an array of points that are positions where the arc (or the projection of the arc into the plane of the profile) intersects the profile. The plane of the arc must be parallel with the plane of the profile otherwise an error will occur. The points are anywhere on the circle of the arc (and not limited to be between start and end) Returns an array of points which are positions where the two profiles intersect.. The two profiles must be parallel (or anti-parallel) to each other
intersections(PROFILE)
ARRAY OF POINTS
.split(<line>)
.intersection(<arc>)
2-122
PROFILE Object Methods that Return New PROFILEs These methods each return an array of new profiles. The new profiles are all created in he same sense as the profile object, except that holes are in the opposite sense. The profiles must lie on the same plane in space, but not necessarily having identical positions and orientations.
Name intersect(PROFILE) union(PROFILE) Result ARRAY OF PROFILES ARRAY OF PROFILES Purpose Returns array of the resultant intersection profiles Returns the union of the two profiles. Holes are returned as separate profiles (in reverse direction) Returns the difference of the passed profile against the profile definition Returns the resultant profiles from projecting the passed line onto the profile and splitting about that line Returns the resultant boundaries from splitting the profile on the line at the intersection of the passed plane and the profile plane. The side is specified by the supplied BOOLEAN. If it is TRUE then only profiles in the direction of the normal to the passed plane are created; if side is FALSE, only those in the direction of the anti-normal.
difference(PROFILE)
split(LINE)
split(PLANE, BOOLEAN)
ARRAY OF PROFILES
2-123
.intersect(<profile>)
.union(<profile>)
.difference (<profile>)
.split(<line>)
2-124
RADIALGRID Object
RADIAL GRID Object Members
Name Position Orientation Radii Angles Type POSITION Get/Set ORIENTATION Get/Set REAL ARRAY Get/Set REAL ARRAY Get/Set
Construction Aids
Purpose Origin of the grid. Orientation of the grid. Radii of the grid. Angular spacing, from X axes (zero).
Orientation
Position
Z Y Angles
X Radii
Figure 2-MM:RADIALGRID Object definition (a)
2-125
RadialPosition(REAL, REAL)
Snap(POSITION)
Angle[1]
Snap(LINE)
Radius[1] Radius[2] Radius[3]
GridPoint(REAL, REAL)
2-126
REAL Object
Methods
Name Real( BOOLEAN ) Real( BORE ) Real( STRING ) Real( STRING, FORMAT ) ABS() ACos() ALog() ASin() ATan() ATanT(REAL) Between(REAL, REAL ) Result REAL REAL REAL REAL REAL REAL REAL REAL REAL REAL BOOLEAN
Purpose Creates a REAL from the given BOOLEAN: TRUE = 1, FALSE = 0. Creates a REAL from the given BORE. Creates a REAL from the given STRING. Creates a REAL from the given STRING in the specified format. Absolute value (make value positive). ACOS. ALOG. ASIN. ATAN. ATANT. TRUE if value lies in specified range including values specified. FALSE if value is zero, otherwise TRUE. Convert to BORE (must be exact) dependent on current BORE units. COSINE. Give dimensions of value. Convert to a distance using default settings. 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). Comparison dependent on current BORE units. TRUE if equal.
Boolean() Bore()
BOOLEAN BORE
Cosine() Dimension() Distance() Distance( BOOLEAN feet, BOOLEAN us, BOOLEAN fraction, REAL precision, BOOLEAN zeroes)
EQ(BORE) EQ(REAL)
BOOLEAN BOOLEAN
2-127
Name GEQ(BORE) GEQ(REAL) GT(BORE) GT(REAL) INT() LEQ(BORE) LEQ(REAL) LOG() LT(BORE) LT(REAL) NearestBore()
Result BOOLEAN BOOLEAN BOOLEAN BOOLEAN REAL BOOLEAN BOOLEAN REAL BOOLEAN BOOLEAN BORE
Purpose Comparison dependent on current BORE units. TRUE if greater than or equal to another value. Comparison dependent on current BORE units TRUE if greater than another value. Convert to whole number, rounding down. Comparison dependent on current BORE units. TRUE if less than or equal to another value. LOG . Comparison dependent on current BORE units. TRUE if less than another value. Convert to nearest BORE dependent on current BORE units setting. Convert to nearest whole number (up or down). Raise value to power. Convert to REAL (in this case a null operation). TRUE if value lies in specified range excluding values specified. SINE. Square root of value. Convert to STRING with precision specified as a STRING in the range D0 to D6. Convert to STRING using settings in global FORMAT object. TANGENT.
Nint() Power(REAL) Real() SBetween( REAL,REAL) Sine() Sqrt() String( STRING precision) String(FORMAT)
STRING
Tangent()
REAL
2-128
REPORT Object
The report object is used to format the table object data for displaying the contents of a table to the screen, forms or to file. Separating the formatting and extraction of the data from a table allows different reports to be generated from the same basic table. The report extracts the data from a TABLE and formats each of the columns according to the associated COLUMNFORMAT object. You may optionally specify that only rows which contain a specified MATCH string (which may or may not be case-dependent) should be included it the report output. The results may be extracted: all at once, using the Results() methods; a specified number of entries at a time, using the NextEntries() methods. Each entry will consist of one or more lines; a specified number of lines at a time, using the NextLines() methods. This may cause a partial entry to be returned at the end, but the next call to nextLines will fetch the remainder of the entry.
The first ARRAY argument provided to these methods will contain a set of STRINGs, each of which holds a Dtext row of data. If there is a second array argument, then this will contain the corresponding Rtext, which will be the name of the DBREF object associated with that row. For multi-line entries, the same Rtext value will be provided for each line. Methods
Name Report() Report(TABLE) Table(TABLE) AddColumn(STRING key, COLUMNFORMAT, STRING heading) Result Purpose Constructor. Constructor that also sets the table and column formats. Sets the table to be used for the report. Adds the column with the specified key to the report, with the passed column format. The argument heading is the column heading. Sets the position in the result array to be used for the next evaluation. Sets the position in the matched result array to be used for the next evaluation. Used in conjunction with the 'MATCH' methods, defines whether matching is case sensitive.
NextEntriesIndex(REAL position)
NextEntriesIndex(REAL n, STRING)
SetCaseMatch(BOOLEAN)
2-129
Result
Purpose Re-initialises the next counter. Re-evaluates on the table primary key and re-sorts.
Returns an ARRAY of STRINGS that are the column keys used on this report. Returns the column format of the passed column key Returns the heading of the column identified by key. Returns the table used in this report. Queries whether the MATCH STRING is case sensitive. Set using CaseMatch(BOOLEAN). Evaluates the report using all entries of the table (there may be more than 1 line per entry. If column formats cause a wrap-around Rtext will be repeated). The return is TRUE if there are entries to evaluate, FALSE if there are no entries. Both Rtext and Dtext must exist; they will be updated with the values. As above but only Dtext is evaluated. Similar to Results() but only values matching the string are put into the two arrays. As above but only Dtext is evaluated. Evaluates the report using the next n entries of the table (there may be more than 1 line per entry, if column formats cause a wrap-around the Rtext will be repeated). The return is TRUE if there are entries to evaluate, FALSE if there are no entries. Both Rtext and Dtext must exist; they will be updated with the next n values. As above but only Dtext is evaluated.
BOOLEAN
BOOLEAN BOOLEAN
BOOLEAN BOOLEAN
NextEntries(REAL n, ARRAY)
BOOLEAN
2-130
Result BOOLEAN
Purpose Evaluates the report with the next n lines of the table, if column formats cause a wraparound the Rtext will be repeated. The return is BOOLEAN to indicate if there are lines to evaluate. Both Rtext and Dtext must exist; they will be updated with the next n values. As above but only Dtext is evaluated. Similar to NextEntries() but only values matching value are put into the two arrays. As above but only Dtext is evaluated. Returns the current position in the array of entries. Returns the current position in the array of entries. Returns the current count of the matched values array. STRING is a key word 'MATCH'.
NextLines(REAL n, ARRAY) NextEntriesMatch (REAL n, STRING value, ARRAY Dtext, ARRAY Rtext) NextEntriesMatch(REAL n, STRING value, ARRAY Dtext) NextEntriesIndex() NextLinesIndex() NextEntriesIndex (STRING)
BOOLEAN BOOLEAN
2-131
This gadget is superseded by the FRAME gadget used as a radio group in conjunction with the RTOGGLE gadget. Use the FRAME and RTOGGLE in preference to the RGROUP gadget. Members
Name Val Result REAL Get/Set Purpose Set or get RGROUP selected button number (1,2,)
Methods
Name FullName() Name() Owner() Select(STRING) Selection() SetPopup (MENU) SetFocus() Refresh() SetToolTip(STRING) RemovePopup(MENU) GetPickedPopup() Shown() Type() Result STRING STRING FORM NO RESULT STRING NO RESULT NO RESULT NO RESULT NO RESULT NO RESULT MENU BOOLEAN STRING Purpose Get the full gadget name, e.g.'!!Form.gadget'. Get the gadget's name, e.g. 'gadget'. Get owning form. Select the button with textual value STRING. Get the text value of the selected button. Links the given menu with the gadget as a popup. Move keyboard focus to this gadget. Refreshes the display of the gadget. Sets or edits the text of the TOOLTIP. Removes the given popup menu from the gadget. Returns the last picked popup menu for the gadget. Get shown status. Get the gadget type as a string.
2-132
Result NO RESULT
Purpose Allows control of the active (greyed-in) status of individual radio buttons of the radio group. index is the button number within the group active is the active status. Allows control of the active (greyed-in) status of individual radio buttons of the radio group. Rtext is the selection (SEL) text identifying the button active is the active status. Get Background Colour Name. Some gadgets do not support this property in all circumstances, e.g. gadgets which are showing a pixmap. Gadgets whose colour has not been set explicitly, may not have a colour with a known colourname. In this case an error is raised..
NO RESULT
Background()
STRING
Command The RGROUP command puts you into Radio Group Setup mode. You can then use the add tag subcommand to define individual radio buttons. The radio group gadget always has a frame and the optional tagtext will appear as a title on this frame.
RGROUP supports the BUTTONWIDTH keyword (as well as supporting TAGWIDTH). The BUTTONWIDTH specifies the size of the tag field for each of the enclosed buttons, independent of their actual tag strings. As for TAGWIDTH the actual strings may have more or less characters than the declared BUTTONWIDTH. This provides a mechanism to force the RGROUP gadget to any desired size.
If you do not specify VERTICAL or HORIZONTAL arrangement of the buttons then the current setting of the PATH command controls it. You can also explicitly define the value of the auto-increment between the radio buttons using the SPACING keyword. You can define the RGROUP to be either PML-controlled, or core-code controlled using the gadget qualifier attribute control type, with values PML or CORE.
2-133
You remain in Radio Group Setup mode until you use the EXIT command.
.-------<------------------------. / | >-- RGROUP gname -+- <fgtagw> -----------------------| +- <fgpos> ------------------------| +-- CORE --------------------------| Core managed gadget +- <fganch> -----------------------| +- <fgdock> -----------------------| +- CALLback - text ---------------| +- BUTTONWIDth -- val -------------| +- VERTical ---. | +- HORIZontal -+-------------------| | - SPACing -- val --* | .-------<--------------------------------. |/ .----<--------------. | +- ADD TAG - text -+- SELect--- text --| | | +- CALLback text -* | | - NL ------------------* - EXIT --> Syntax Graph 2-14: Setting Up an RGROUP
Default:
The default spacing between gadgets is 0.0 for either horizontal or vertical radio groups. Previously it was derived from HDIST or VDIST, which defaulted to 1.0 and 0.25 respectively, but the new Winforms based gadget has greater innate inter-button spacing, which approximates to these previous values.
Note:
The SELECT text is optional for each button and so is a callback string for each button. If you specify a gadget callback and a button specific callback then the gadget callback will be ignored for that button. Spacing is specified in form definition grid (char) units, i.e. the same units as HDIST and VDIST. If the ButtonWidth is not specified then each buttons width will be determined by the number of characters in its tag multiplied by the grid width. The RGROUPS width is also affected by the gadgets Tagwidth. This can sometimes cause surprises for a vertical RGROUP with a long title (tag). It is bad practice to place one gadget on top of another. This may lead to gadgets being obscured.
2-134
RTOGGLE Object
Members
Name val index onVal offVal visible active callback tag Result BOOLEAN Get/Set REAL Get Only STRING Get/Set STRING Get/Set BOOLEAN Get/Set BOOLEAN Get/Set STRING Get/Set STRING Get/Set
Purpose Current value true or false. Index of radio button within the group. Associated selected value. Associated unselected value. Visibility. Active (greyed-in) status. Callback string. Tag text.
Methods
Name FullName( ) Name( ) Owner( ) SetPopup( MENU ) RemovePopup( MENU ) GetPickedPopup( ) Refresh( ) Shown( ) SetToolTip( STRING ) Type( ) Result STRING STRING FORM NO RESULT NO RESULT MENU NO RESULT BOOLEAN NO RESULT STRING Purpose Get the full gadget name, e.g.'!!Form.gadget'. Get the gadget's name, e.g. 'gadget'. Get owning form. Links the given menu with the gadget as a popup. Removes the given popup menu from the gadget. Returns the last picked popup menu for the gadget. Refreshes the display of the gadget. Get shown status. Sets or edits the text of the TOOLTIP. Get the gadget type as a string.
2-135
Name Background()
Result STRING
Purpose Get Background Colour Name. Some gadgets do not support this property in all circumstances, e.g. gadgets which are showing a pixmap. Gadgets whose colour has not been set explicitly, may not have a colour with a known colourname. In this case an error is raised..
Command The RTOGGLE gadget (which is very similar to the TOGGLE gadget) is allowed only within FRAMES. You can added them to a FRAME with the usual positioning and layout commands. The RTOGGLE gadgets are implicitly numbered 1,2,3 as they are added. The FRAME gadget can have an assigned callback, which is executed when the radio group selection is changed, i.e. whenever the user selects an unselected radio-toggle. As there is only a SELECT action supported, it can be either a simple callback or an open callback.
.-------<------------. / | >- RTOGgle gname -+- tagtext ------------| +- CALLback text -----| +- <fgpos> ------------| +- <fganch> -----------| +- <fgdock> -----------| +- TOOLTIP text -------| +- CORE ---------------* Core managed gadget | +- STATES offval onval --. ------------------------+- TOOLTIP text -. ------------------->
Note
offval and onval are string values associated with the radio button
states unselected or selected. Default values are onval = ON, offval = OFF.
2-136
SELECTOR Object
Members
Name Add(STRING Dtext) Type NO RESULT
Purpose Append an entry to the list, where Dtext is the text to display in the option list. Append and entry to the list, where Dtext is the text to display in the option list, and Rtext is the replacement text for the new field. If Rtext isnt specified, it will be set to Dtext by default.
NO RESULT
Val Val
REAL Get/Set ARRAY OF REAL Get/Set STRING ARRAY Get/Set STRING Get Only REAL Get Only
Selected field number of a single choice list. (1,2,) Selected field numbers of a multiple choice list. (1,2,) Set or get the entire list of display texts. Get the display text of the n'th field. Last picked list field number.
DText
DText[n] PickedField
Methods
Name FullName() Name() Owner() Shown() Type() Select(STRING text, STRING value) Result STRING STRING FORM BOOLEAN STRING NO RESULT Purpose Get the full gadget name, e.g.'!!Form.gadget'. Get the gadget's name, e.g. 'gadget'. Get the owning form. Get shown status. Get the GADGET type as a string. Select specified item in a selector. text must be Rtext or Dtext. value is the field RTEXT or DTEXT to be selected.
2-137
Result NO RESULT
Purpose Select multiple choice selector fields by value: text must be Rtext or Dtext. The values array contains the RTEXT or DTEXT of the fields to be selected. Get current selection: text must be Rtext or Dtext. The value of Selection is the RTEXT or DTEXT of the selected field or fields. Links the given menu with the gadget as a popup. Move keyboard focus to this gadget. Sets or edits the text of the TOOLTIP. Refreshes the display of the gadget. Removes the given popup menu from the gadget. Returns the last picked popup menu for the gadget. Clear selector contents. Clear selections only. Get Background Colour Name. Some gadgets do not support this property in all circumstances, e.g. gadgets which are showing a pixmap. Gadgets whose colour has not been set explicitly, may not have a colour with a known colourname. In this case an error is raised..
Selection(STRING text)
2-138
Command The SELECTOR command defines a database element selector gadget and specifies its position, tag, and callback text. Also specifies whether the selector allows a single choice only or multiple choices and defines the area (width and height) in which the displayed part of the list will appear. It also allows you to specify which parts of the hierarchy are shown and whether or not these are updated automatically during database navigation.
.-------<---------. / | >- SELector gname -+-- <fgpos> --------| +-- tagtext --------| +-- <fganch> -------| +-- <fgdock> -------| +-- TOOLTIP text ---| +-- CALLback text --* +-- SINGle -. +------------ <vshap> DATAbase -+- MEMbers -. | +- OWNers --| | -----------+-AUTO-. | ------| `- MULTiple <vshap> DATAbase ---+- MEMbers ---------| |- OWNers ----------| -------------------| | .-------<-----------* | +-- TOOLTIP text --. --------------------> Syntax Graph 2-15: Setting up a SELECTOR Object
Default:
Single choice. If DATABASE is not qualified, default is Members plus Owners. Auto update off.
2-139
SLIDER Object
Members
Name visible active callback tag val background background range Type BOOLEAN GET/SET BOOLEAN GET/SET STRING GET/SET STRING GET/SET REAL GET/SET REAL GET/SET STRING SET ONLY REAL ARRAY GET/SET
Purpose Visibility. Active (greyed-in) status. Callback string. Tag text - not displayed for this gadget. Current value as integer. Background Colour Number. Background Colour Name. Range Start, End and optional Step(>0) as integers. The start value may be less than the end value. Array size must be 2 or more. Tick style as integer. 0 none, 1 right or bottom, 2 top or left, 3 both 1 and 2
tickstyle
REAL GET/SET
Note
The Val member represents the current value of the slider as a PML REAL (in fact always an integer). The Range member allows the slider range and optionally the step value to be set or queried. The granularity of the slider movement is determined by the specified step increment, i.e. a move event is generated at each step increment within the sliders range. The range limits must each be an integral multiple of the step size (else an error is flagged The RESET action of a form (from reset, CANCEL or QUIT actions) will only reset the slider current value not other slider properties. So if you redefine the range while a form is displayed, and press the RESET button, the range will not revert to the previous settings. You will have to do this from reset buttons callback and/or the forms CANCELCALL callback. Tick marks, if present, occur at every step value in the range.
2-140
Methods
Name FullName() Name() Owner() SetToolTip(STRING) Shown() Type() Refresh() Background() Result STRING STRING FORM NO RESULT BOOLEAN STRING NO RESULT STRING Purpose Get the full gadget name, e.g.'!!Form.gadget'. Get the gadget's name, e.g. 'gadget'. Get owning form. Sets or edits the text of the Tooltip. Get shown status. Get the gadget type as a string i.e. 'SLIDER'. Refresh gadget image. Get Background Colour Name. Some gadgets do not support this property in all circumstances, e.g. gadgets which are showing a pixmap. Gadgets whose colour has not been set explicitly, may not have a colour with a known colourname. In this case an error is raised.. Set keyboard focus to gadget. Allows arrow keys to drive slider.
SetFocus()
NO RESULT
2-141
Command
.-------<-------------------. / | >-- SLIDER gname -+- tagtext -------------------| +- <fgpos> -------------------| +- CORE ----------------------| Core managed gadget +- <fganch> ------------------| +- <fgdock> ------------------| +- BACKGround <colno> --------| +- CALLback text -------------| +- TOOLTIP text --------------| +- VERTical ------------------| +- HORIZontal ----------------* | | .-------<-------------------. |/ | +- RANGE int int -------------| +- STEP int ------------------| +- VALue int -----------------* | - <vshap> -+- TOOLTIP text -. ------------------> Syntax Graph 2-16: Creating a SLIDER Object
Note
The user can specify the range as start, end and optional step and
The <vshap> graph allows the specification of the WIDTH and/or HEIGHT for sliders, in grid units. The width must be specified for a horizontal slider, and the height must be specified for a vertical slider. If the other dimension is not specified then a default size will be assumed. The tag text is not displayed for a slider gadget.
2-142
SESSION Object
Members
Name UniqueID Name Login Host Entered LocationName IsRemote IsCurrent Type STRING Get/Set STRING Get/Set STRING Get/Set STRING Get/Set STRING Get/Set STRING Get/Set STRING Get/Set BOOLEAN Get/Set Purpose Internal ID Session Name Users login ID
PDMS
ID of the Machine running the session Time of entering PDMS Name of Location for Session True for Sessions at Remote locations TRUE for Users own SESSION object
Methods
Name SESSION (STRING) Result SESSION Purpose Returns a SESSION object, given a string containing a session's Unique-id. List of Current DBs in the MDB of the SESSION object. List Deferred DBs in the MDB of the SESSION object. Return LOCATION to which the Session applies. In a nonGlobal project, returns NULL or error. The current MDB of the SESSION. List of potential access modes as R , RW or N for each of the current DBs. TRUE if database has been modified. Name of the current PDMS module. 2-143
MDB() Mode()
Modified() Module()
Name Status()
Purpose List of current access modes as R , RW or N for each of the current DBs. The user of this SESSION object.
User()
Note:
The LocationName member and Location() method imply the location to which the Session applies. This is normally the current location, except when Sessions at remote locations have been requested. In a non-Global project, these members and methods may be unavailable or unset. Some ADMIN Sessions in a Global project may apply to another location's system database. This will be returned as part of the string returned by the Module() method, if relevant. Other ADMIN Sessions may actually be Global Daemon Sessions. This is returned as part of the string for the name member. Some SESSION object methods have only restricted availability: The Modified() method only applies to the current Session at the current location. The Current(), Deferred(), Mode() and Status() methods will not be implemented for remote Sessions and will return an error. The Location(), MDB(), User() and Module() methods are valid for remote Sessions. The last three methods will cause Daemon activity for Sessions at remote locations. Caution should be observed in using the MDB and USER objects returned by the MDB() and User() methods for a remote Session. Methods on these objects will access the currently open system database. Thus the appropriate location's system database should be opened (using the ADMINISTER SYSTEM command) before invoking methods on these remotely generated MDB and USER objects.
Command
!SESSION = CURRENT SESSION $ Returns the current session object.
2-144
STRING Object
Methods
Name String(BLOCK) String(BOOLEAN) String(BOOLEAN,FORMAT) Result STRING STRING STRING
Purpose Creates a STRING from a BLOCK expression. Creates a STRING equal to TRUE or FALSE. Creates a STRING from a BOOLEAN, as specified in the FORMAT object. Creates a STRING from a BORE. Creates a STRING from a BORE, as specified in the FORMAT object. Creates a STRING containing the DB name. Creates a STRING containing the DB name. The FORMAT argument is required for consistency by Forms and Menus. Creates a STRING from a DIRECTION. Creates a STRING from a Direction, as specified in the FORMAT object. Creates a STRING containing the MDB name. Creates a STRING from an Orientation. Creates a STRING from an Orientation, as specified in the FORMAT object. Creates a STRING from a POSITION. Creates a STRING from a POSITION, as specified in the FORMAT object. Creates a STRING containing the PROJECT code. Creates a STRING from a REAL. Creates a STRING from a REAL, as specified in the FORMAT object.
String(BORE) String(BORE,FORMAT)
STRING STRING
String(DB) String(DB,FORMAT)
STRING STRING
String(DIRECTION) String(DIRECTION,FORMAT)
STRING STRING
String(POSITION) String(POSITION,FORMAT)
STRING STRING
2-145
Name String(REAL,STRING)
Result STRING
Purpose Creates a STRING from a REAL. The STRING argument is present for converting the number of decimal places when given in the obsolete format Dn. Creates a STRING containing the SESSION number. Creates a STRING containing the TEAM name. Creates a STRING containing the USER name. Return sub-string following leftmost occurrence of substring two. Return sub-string before leftmost occurrence of substring two. Make STRING into a BLOCK for evaluation. TRUE if STRING is TRUE, T, YES or Y; FALSE if STRING is FALSE, F, NO,or N. Convert STRING to a BORE (exact conversion - see also NEARESTBORE). Convert STRING to a BORE using the settings in the global FORMAT object. Convert STRING to a DBREF. Convert STRING to a DBREF using the settings in the global format object. Convert STRING to a DIRECTION. Convert STRING to a DIRECTION using the settings in the global format object. As Length() but for multibyte characters As Match() but for multibyte characters. As Substring() but for multibyte characters. As Substring() but for multibyte characters. TRUE for empty zero-length string.
Before(STRING two)
STRING
Block() Boolean()
BLOCK BOOLEAN
Bore()
BORE
Bore(FORMAT)
BORE
DBRef() DBRef(FORMAT)
DBREF DBREF
Direction() Direction(FORMAT)
DIRECTION DIRECTION
2-146
Purpose Number of characters in string. Convert string to lower case. Comparison using ASCII collating sequence. Location of start of sub-string two within first string - zero returned if not found. TRUE if strings are the same. STRING two may contain wildcard characters: * for any number of characters ? for any single character. TRUE if strings are the same as above but multiple redefines the wildcard for any number of characters. 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. Returns the number of occurrences of the given string. Convert STRING to an ORIENTATION. Convert STRING to an ORIENTATION using the settings in the global !!format. Extract nth field from string where fields are delimited by space, tab or newline. Extract nth field from string where fields are delimited by delim. Convert STRING to a POSITION. Convert STRING to a POSITION using the settings in the global !!format object. Convert to a number. Replace all occurrences of substring two with sub-string three.
MatchWild(STRING two)
BOOLEAN
BOOLEAN
BOOLEAN
Occurs(STRING)
REAL
ORIENTATION ORIENTATION
Part(REAL nth)
STRING
STRING
POSITION POSITION
REAL STRING
2-147
Result STRING
Purpose Replace all occurrences of substring two with sub-string three starting at the nth occurrence (or -nth occurrence from the end). Replace count occurrences of sub-string two with sub-string three starting at the nth occurrence (or -nth occurrence from the end). Split string into an ARRAY of STRINGS at space (multiple spaces compressed). Split string into an ARRAY of STRINGS at delim (multiples of delim not compressed). Convert STRING to a STRING using the settings in the global FORMAT object. Returns a sub-string from index to the end of the string Returns a sub-string, nchars in length, starting at index. Remove initial and trailing spaces. Remove initial spaces (options =L), trailing spaces (options = R) or both (options =LR). Reduce multiple occurrences of char to a single occurrence throughout the STRING (options = M). Convert STRING to upper case. Evaluate STRING as a BOOLEAN. Evaluate STRING as a STRING. Evaluate STRING as a REAL.
STRING
Split()
ARRAY
Split(STRING elim)
ARRAY
String(FORMAT)
STRING
STRING
2-148
TABLE Object
The TABLE object is used to hold raw data in a manner that can be manipulated in a tabular manner, i.e. as a spreadsheet. Each row of the table represents a DBREF, and is defined by the primary key. The columns of the table contain information about the DBREF according to the associated COLUMN object. Sorting of the table is by the order of the columns and the sort criteria on the relevant column. The formatting of the table data is via a REPORT object, which will allow the same data to be represented in many different ways. Methods
Name Table() Table(DBREF ARRAY, COLUMN ARRAY) Result Purpose Constructor (initialises all the object settings) Constructor that passes the Primary Key as an ARRAY of DBREFS and the columns as an ARRAY of COLUMNS Constructor that passes the Primary Key as a COLLECTION and the columns as an ARRAY of COLUMNS. User defined Primary Key populated directly from a COLLECTION. User defined Primary Key. Replaces the -nth column of the table. Clears all the columns from the table. Sets up the columns from an ARRAY of COLUMN objects. Evaluates the complete table. Re-evaluates the Primary Key collection. DBREF ARRAY Returns the primary Key of the table, reference list for the columns of the table. Returns the column definitions. The order of the columns is important when sorting. Returns the contents of the cell at the column and row. Returns the contents of nth column.
Table(COLLECTION, COLUMNARRAY)
PrimaryKey(COLLECTION)
PrimaryKey(ARRAY of DBREF) Column(REAL n, COLUMN) ClearColumns() Columns(COLUMN ARRAY) Evaluate() EvaluatePrimaryKey() PrimaryKey()
Columns()
COLUMN ARRAY
ANY ARRAY
2-149
Purpose Returns the contents of nth row. Contents of the cell at the column and row. Returns the contents of column identified by key. Returns the contents of row identified by DBREF.
2-150
TEAM Object
Members
Name Name Description Refno Type STRING STRING STRING Purpose
PDMS
Name of the TEAM, up to 32 characters. TEAM description, up to 120 characters. STRING containing Database reference number.
In all cases !!CE is assumed to be a DB database element and !!CE.Name is a STRING object containing the elements name. These methods should assist performance improvements to AppWare by making it easier to get from Database element to Object. Command
!ARRAY = TEAMS $ Returns an array of TEAMs
2-151
TEXT Object
Members
Name Val Val Val Val Type STRING Get/Set REAL Get/Set BOOLEAN Get/Set 'AS DEFINED' Get/Set STRING Get Only BOOLEAN Get Only STRING Get Only REAL Get Only STRING Get/Set
Purpose Set or get the contents of STRING type TEXT field. Set or get the contents of REAL type TEXT field. Set or get the contents of BOOLEAN type TEXT field. Set or get the contents of the field according to the user defined type. Get the type of the field. Get the Echo Status. No-echo means that typed characters will all appear as asterisks. Get the name of the format object associated with the field. Get the Scroll Width. Set/get user-defined validation callback.
DataType Echo
Format
Scroll ValidateCall
Methods
Name FullName() Name() Owner() Clear() SetEditable(BOOLEAN) SetFocus() SetToolTip(STRING) Refresh() Result STRING STRING FORM NO RESULT NO RESULT NO RESULT NO RESULT NO RESULT Purpose Get the full gadget name, e.g.'!!Form.gadget'. Get the gadget's name, e.g. 'gadget'. Get owning form. Clear gadget contents. Sets the editable status for the field. Move keyboard focus to this gadget. Sets or edits the text of the TOOLTIP. Refreshes the display of the gadget.
2-152
Result NO RESULT
Purpose Sets the value of the field, checking for valid type and format. If validate is TRUE, the validation callback will be executed. Returns the last picked popup menu for the gadget. Get shown status. Get the gadget type as a string i.e. 'TEXT'.
Command The TEXT command defines a text field gadget which supports data values of a given type. The following can also be specified; Gadget position, tag, size, callback, dock, anchor and tooltip; maximum length of the string that may be scrolled in the gadget; the name of a format object which says how a value is to appear as text or be interpreted; that text entered is not echoed as typed, but appears as asterisks (for entering passwords, for example); that the field contents can be seen but not edited. You can define the TEXT object to be either PML-controlled, or core-code controlled using the gadget qualifier attribute control type, with values PML or CORE.
.--------<-------------. / | >-- TEXT gname --+-- <fgpos> -------------| +-- CORE ----------------| Core managed gadget +-- <fgtagw> ------------| +-- <fganch> ------------| +-- <fgdock> ------------| +-- TOOLTIP text --------| +-- CALLback text -------* | .---------<---------. | / | `--*-- WIDth integer ----| +-- SCRoll integer ---| +---NOEcho------------* | -- IS --+-- STRING --. +-- REAL ----| +-- BOOLEAN -| `-- word ----+- FORMAT gvarnm -. `-----------------+- TOOLTIP text -. `------------------> Syntax Graph 2-17: Setting Up a TEXT Object
2-153
The IS word syntax allows for any user defined data type to be used, but this will only work satisfactorily if a suitable FORMAT object is supplied.
Note:
The maximum string length (SCROLL integer) is 256 characters, and the default if you do not specify a length is 132. It is bad practice to place one gadget on top of another. This may lead to gadgets being obscured.
2-154
TEXTPANE Object
Members
Name Val Type ARRAY OF STRING Get/Set REAL Get Only
Purpose Get or set the contents of the text pane. Get the number of lines of text in the gadget.
Count
Methods
Name FullName() Name() Owner() Clear() Line(REAL ) SetLine(REAL, STRING) CurPos() SetCurPos(REAL[2]) SetCurPos(REAL, REAL) SetEditable(BOOLEAN) SetPopup(MENU) RemovePopup(MENU) GetPickedPopup() SetToolTip(STRING) Refresh() Shown() Type() Result STRING STRING FORM NO RESULT STRING NO RESULT ARRAY[2] OF REAL NO RESULT NO RESULT NO RESULT NO RESULT NO RESULT MENU NO RESULT NO RESULT BOOLEAN STRING Purpose Get the full gadget name, e.g.'!!Form.gadget'. Get the gadget's name, e.g. 'gadget'. Get owning form. Clear all lines from the gadget Get the text of given line Replace specified line number by STRING. Get cursor position (line, character). Set cursor position (line, character). Set cursor position (line, character). Set edit status. Links the given menu with the gadget as a popup. Removes the given popup menu from the gadget. Returns the last picked popup menu for the gadget. Sets or edits the text of the TOOLTIP. Refreshes the display of the gadget. Get shown status. Get the gadget type as a string.
2-155
Name Background()
Result STRING
Purpose Get Background Colour Name. Some gadgets do not support this property in all circumstances, e.g. gadgets which are showing a pixmap. Gadgets whose colour has not been set explicitly, may not have a colour with a known colourname. In this case an error is raised..
Command The TEXTPANE command defines a text pane gadget and specifies its position and tag. This is a multi-line text input field, allowing the user to enter a number of lines of text (either directly or using cut and paste). Note that no callback string is allowed with this gadget, as there is no way of knowing when a user has finished entering text. The value of a TEXTPANE is its contents, held as an array of strings, where each line is an element of the array. You can define the BUTTON to be either PML-controlled, or core-code controlled using the gadget qualifier attribute control type, with values PML or CORE.
.--------<--------. / | >-- TEXTPane gname --+-- tagtext---------| +-- <fganch> -------| +-- <fgdock> -------| +-- <fgpos> --------| +-- CORE -----------* -- <vshap> --->
Note:
It is bad practice to place one gadget on top of another. This may lead to gadgets being obscured.
2-156
TOGGLE Object
Member
Name Val Type BOOLEAN Get/Set
Methods
Name AddPixmap(STRING file1, STRING file2, STRING file3 ) AddPixmap(STRING file1, STRING file2) AddPixmap(STRING file ) FullName() Name() Owner() SetFocus() SetPopup(MENU) RemovePopup(MENU) GetPickedPopup() Refresh() Shown() SetToolTip Type() Background() Result NO RESULT Purpose Adds pixmaps to be used for the unselected, selected and inactive states. The last two are optional. Get the full gadget name, e.g.'!!Form.gadget'. Get the gadget's name, e.g. 'gadget'. Get owning form. Moves keyboard focus to this gadget. Links the given menu with the gadget as a popup. Removes the given popup menu from the gadget. Returns the last picked popup menu for the gadget. Refreshes the display of the gadget. Get shown status. Sets or edits the text of the TOOLTIP. Get the gadget type as a string. Get Background Colour Name. Some gadgets do not support this property in all circumstances, e.g. gadgets which are showing a pixmap. Gadgets whose colour has not been set explicitly, may not have a colour with a known colourname. In this case an error is raised..
STRING STRING FORM NO RESULT NO RESULT NO RESULT MENU NO RESULT BOOLEAN STRING STRING STRING
2-157
Command The TOGGLE command defines a toggle gadget, and specifies its position, tag, and callback text. Also allows you to specify different text strings for the default ON and OFF states. You can define the TOGGLE to be either PML-controlled, or core-code controlled using the gadget qualifier attribute control type, with values PML or CORE.
.-------<------------. / | >- TOGGLE gname -+- <fgtagw> -----------| +- PIXMAP <vshap> -----| +- CALLback text -----| +- <fgpos> ------------| +- <fganch> -----------| +- <fgdock> -----------| +- TOOLTIP text -------| +- CORE ---------------* Core managed gadget +- STATES text1 text2 -. ----------------------+- TOOLTIP text -. -------------------> Syntax Graph 2-19: Setting Up a TOGGLE Object
where text1 corresponds to the OFF setting and text2 corresponds to the ON setting.
Note:
It is bad practice to place one gadget on top of another. This may lead to gadgets being obscured.
Default:
Default text strings for the two toggle settings are OFF and ON. Default state when a toggle is first defined is OFF; i.e. button raised.
2-158
UNDOABLE Object
PDMS
This object allows you to add functionality to the undo and redo stacks. Methods
Name description(STRING) add() Result NO RESULT NO RESULT Purpose Adds description text to the undoable Marks the database with the description text and adds this undoable to the undo stack Marks the database again at the end of the change. Specify a command to be executed when this undoable is taken off the undo stack Specify a command to execute when this undoable is taken off the redo stack. Specify a command to execute when this undoable is cleared without any associated undo/redo being performed.
NO RESULT NO RESULT
redoAction(STRING)
NO RESULT
clearAction(STRING)
NO RESULT
Command To use this object, first create an undoable object, and define the undoAction(), redoAction() and clearAction() methods to define the execution strings. Call the method add() to mark the database and add the undoable object to the undo stack. Make the set of changes that you may wish to undo, then call the method endundoable() to mark the end of the changes.
Note:
2-159
USER Object
Member
Name Name Description Access Refno Result STRING STRING STRING STRING Purpose
PDMS
The name of the User, up to 32 characters. Users description, up to 120 characters. Users access rights (FREE, GENERAL, RESTRICTED). STRING containing Database reference number.
Method
Name TeamList() WorkingList() Password() USER(DBREF) USER(STRING) Result ARRAY OF USERS ARRAY OF DB OBJECTS STRING USER USER Purpose List of TEAMs including this USER. List of working extract DBS owned by a User. The Users password, up to 6 characters preceded by /. Returns a USER object, given a DBREF. Returns a USER object, given a name or reference number.
In all cases !!CE is assumed to be a DB database element and !!CE.Name is a STRING object containing the elements name. These methods should assist performance improvements to AppWare by making it easier to get from Database element to Object.
2-160
Command
!ARRAY = USERS $ Returns an array of USER objects in current project.
2-161
Purpose Get or set limits box [x1,y1,x2,y2]. Get or set borders ON (TRUE) or OFF (FALSE). Get or set background Colour Number Set background Colour Name. Get or set User contents ID. Get or set default interaction callback. Get view height. Get or set highlight Colour Number. Set highlight Colour Name Get or set User Prompt PARAGRAPH gadget. Get subtype of graphic view. Get view width.
Methods
Name Background() Clear() Highlight() Refresh() RestoreView(REAL storeNumber) Result STRING NO RESULT STRING NO RESULT NO RESULT Purpose Returns the highlight colour as a name string. Clear VIEW contents Returns the highlight colour as a name string. Refreshes the display of the gadget Restores the saved VIEW with the given store number.
2-162
Result NO RESULT
Purpose Saves the current VIEW. The number must be in the range 1 to 4. Set VIEW size.
NO RESULT
Command The VIEW ... AREA command puts you into View Setup mode. You remain in View Setup mode until you use the EXIT command.
.-------------------------<------------------------. / | (AREa) --+- <vshap> -----------------------------------. | +- PUT - <sgid> ------------------------------| | +- LIMits <uval> <uval> - TO - <uval> <uval> -| | +- SETColour - <colno> -----------------------| | +- SETHighlight - <colno> --------------------- NL -| +- <cursor> -----------------------------------------| +- <border> -----------------------------------------| +-- <pml> -------------------------------------------* -- EXIT --> Syntax Graph 2-20: Setting Up an AREA VIEW Object
where <sgid> is either CE (current element) or the name of a 2D graphical element (e.g., a DRAFT SHEET, VIEW, LIBRARY, etc.) and <colno> is any valid DRAFT colour definition. And <cursor> is the syntax for selecting the cursor type, as follows:
>-- CURSortype ---+-+-+-+--POINTER ----. NOCURSOR ---| PICK -------| PICKPLUS ---| CROSSHAIR ---> Syntax Graph 2-21: Setting Up the Cursor Type
2-163
Purpose Get or set background Colour Number. Set background Colour Name. Get or set borders ON (TRUE) or OFF (FALSE). Get or set User Contents ID. Get or set default interaction callback. Get view height. Get or set highlight Colour Number. Set highlight Colour Name. Get or set User Prompt PARAGRAPH gadget. Get subtype of graphic view. Get view width.
Methods
Name Add(STRING) Result NO RESULT Purpose Add plot file with name given by STRING. Replaces given plot file if any. Returns the background colour as a name STRING. Clear gadget contents Returns the highlight colour as a name STRING. Refreshes the display of the gadget Set view size.
2-164
Command The VIEW ... PLOT command puts you into View Setup mode. You remain in View Setup mode until you use the EXIT command.
.-------------------------<------------------------. / | (PLOT) --+- <vshap> -----------------------------------. | +- ADD plot_filename -----------------------| | +- CLear -------------------------------------| | +- SETColour - <colno> -----------------------| | +- SETHighlight - <colno> --------------------- NL -| +- <cursor> -----------------------------------------| +- <border> -----------------------------------------| +-- <pml> -------------------------------------------* -- EXIT --> Syntax Graph 2-23: Setting Up a PLOT VIEW Object
where: <colno> is any valid PDMS colour definition. <cursor> is the syntax for selecting the cursor type, as in 2-19 <border> allows control of zooming and panning as in 2-20
2-165
Purpose Get or set Background Colour Number Set Background Colour Name. Get or set User Contents ID. Get or set default interaction callback. Get View Height. Get or set Highlight Colour Number. Set Highlight Colour Name. Get or Set User Prompt paragraph gadget. Get Subtype of graphic view. Get View Width. Get or set Borders ON (TRUE) or OFF (FALSE). Direction vector [dE,dN,dU]. TRUE for Eyemode FALSE for Modelmode. Limits box [E1,E2,N1,N2,U1,U2]. 'ZOOM', 'PAN', 'ROTATE', WALK'. PERSPECTIVE or PARALLEL. View Radius distance >0. Range distance >0. Refreshes the display of the gadget. Restores view saved as given view number.
2-166
Type REAL Get/Set BOOLEAN Get/Set REAL Get/Set REAL ARRAY[3] Get/Set BOOLEAN Get/Set
Purpose Saves view as given view number, in the range 1 to 4. TRUE for shaded FALSE for wireline. Step size >0. Through point [E,N,U]. TRUE for Walkthrough (equivalent to Eyemode).
Methods
Name Background() Highlight() SetSize(REAL width, REAL height) RestoreView(REAL storeNumber) SaveView(REAL storeNumber) Result STRING STRING NO RESULT NO RESULT NO RESULT Purpose Returns the BACKGROUND colour as a name string. Returns the HIGHLIGHT colour as a name string. Set view size. Restores view saved as given view number. Saves view as given view number.
2-167
Command The VIEW ... VOLUME command puts you into View Setup mode. You remain in View Setup mode until you use the EXIT command.
(VOLume)--+-- 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 -------------------------> Syntax Graph 2-24: Setting Up a VOLUME VIEW Object
Where: <colno> is any valid DESIGN colour definition; either a colour description or a colour number <cursor> is the syntax for selecting the cursor type, as in 2-19 <border> allows control of zooming and panning as in 2-20
Default: Borders:ON; Shading OFF. View direction:PLAN or LOOK DOWN. Limits: AUTO (set to current view limits).
2-168
Methods
Name Clear() Refresh SetFocus() Result NO RESULT NO RESULT NO RESULT Purpose Clear all lines from the Alpha TTY window. Refreshes the display of the gadget. Set the keyboard focus immediately to this Alpha gadget. Deletes the requests channel from the alpha view gadget, and dissociates it from the current PDMS Requests IOchannel if necessary. Get Background Colour Name. Some gadgets do not support this property in all circumstances, e.g. gadgets which are showing a pixmap. Gadgets whose colour has not been set explicitly, may not have a colour with a known colourname. In this case an error is raised..
removeRequests()
NO RESULT
Background()
STRING
Command The VIEW ... ALPHA command puts you into View Setup mode. You remain in View Setup mode until you use the EXIT command.
.-------------------------<-------------------------. / | (ALPha)--+- <vshap> -----------------------------------. | +- CHANNEL -+- COMMANDS -----------------------| | | - REQUESTS ------------------------ NL -* -- EXIT --> Syntax Graph 2-22: Setting Up an ALPHA VIEW Object
2-169
XYPosition Object
Members
Name X Y Type REAL Get/Set REAL Get/Set Purpose
3D Geometry
Methods
Name XYposition() String() Result XYPOSITION STRING Purpose Creates an XYPOSITION at the given coordinates. Returns a XYPOSITION as a STRING.
2-170
2.5
Deprecated Gadgets
Gadget PIXMAP VIEW Gadget RGROUP Gadget SELECTOR Gadget USERDATA Gadget RADIO Gadget Replacement Use PARAGRAPH or BUTTON with a PIXMAP. Use new FRAME and RTOGGLE objects. Use LIST OBJECT if possible. Use FORM Variables Use FRAME and RTOGGLE gadgets.
2-171
2-172
A.1.
The remaining part of the line may be: A command to create a connection between FMLayer to a current PEGS process; Any standard PEGS command sequence.
This prefix is incorporated into all commands described in the remainder of this chapter.
A.2.
Description Closes the connection to pipe number integer. Changes the current pipe to number integer when more than one connection is active at the same time.
Named pipes exist only while they are connected to a running program. A pair of named pipes is created when each PEGS module is started and these are destroyed when the next module change occurs. The best way to manage the requirements of modules changing is to use two pairs of pipes alternately. The pipes must be given names that are unique but also known to both the UI macros and each of the PEGS modules. This is done by concatenating the environment variables and values. For example:
LAYER_PEGS_PIPE is a user defined name
A.3.
Sending the Commands and Getting the Results To send any command direct to PEGS, enclose the command string in quotes and prefix it with the keyword PEGS:
PEGS command string
The responses received are stored in PML variables and array variables, from which the data can be read and handled by the application macros. The variables used are as follows:
PEGS Variable !!PEGS.RESULT Description An array variable holding the whole of the response from PEGS in the format one message line per array element.
A-2
Description A variable holding the last line of the response only. By convention, this often contains a context prompt to indicate the current PEGS command status. An array variable holding accumulated query lines selected from the response to a PEGS command. This is only valid while PEGS is operating in a question/answer sequence instead of the normal command processor mode, such as when running a report interactively. The content of !!PEGS.QUERY forms a text description of the next input required from the user, such as output filename. The answer will be sent to PEGS as the next command. The end of the question/answer sequence is indicated by !!PEGS.QUERY becoming unset after a question has been answered. A variable holding the last-but-one line of the response. By convention, this often contains an element name to indicate the current PEGS command status. An array variable which holds error message lines selected from the response to a PEGS command. That is, it holds those lines from !!PEGS.RESULT which describe an error condition, if any An array variable holding the members list. A variable holding the current element position in the members list.
!!PEGS.QUERY
!!PEGS.NAME
!!PEGS.ERROR
!!PEGS.MEMBERS !!PEGS.CEINDEX
Dealing with the Responses There are a number of things you can do to change the format of the reposnses you get:
PEGS Command PEGS variable_id command string Description Creates a copy of the response to a PEGS command. The identifier variable_id defines an array variable. In this case variable_id will contain a copy of the contents of !!PEGS.RESULT, so that you can process the data in different ways within the application macros.
A-3
Description Instructs PEGS that the response to a command is required in a terse form only (that is, as unformatted raw data). You might, for example, use this option with the POSITION command, from which an application might need only the position-defining numbers without the usual associated text. The PEGS command would then take the form PEGS RAW POS.
Sending Batch Commands To send a sequence of PEGS commands in batch mode, rather than sending them one at a time as they are entered, prefix each command with BATCH. Each batch command is stored in a buffer until a non-batch command is entered, at which point all commands from the buffer are sent to PEGS in the order in which they were entered. Batch mode entry provides a way of improving performance when entering a sequence of commands which do not make enquiries of PEGS; that is, commands that do not generate output messages that must be received back from PEGS. For example, the following batch sequence adds LINE elements to a PIDRAFT drawing:
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
The last command in the sequence above is a non-batch command and so will cause the buffered commands to be sent when it is entered.
A-4
A.4.
The Sync Data and Sync GUI settings are relevant for maintenance purposes only and may be ignored.
A.5.
A-6
Where primary element is referred to in this Appendix, this means an element that can be claimed.
B.1.
B.2.
The remaining part of the line may be: A command sequence for controlling one or more of REVIEWs functions; An instruction to send one or more preceding command lines to REVIEW.
This prefix is incorporated into all commands described in the remainder of this chapter.
B-1
B.3.
REVIEW refreshes its display every time a received instruction has been completely processed, which can make the automatic sending of each command line inefficient compared with batch mode operation (where the display is refreshed only once for the whole command sequence).
REVIEW Command REVIEW AUTOsend ON REVIEW AUTOsend OFF Description Automatically send commands line-byline. Stop sending the commands automatically and revert to batch mode (which is the default). Pass a batch of commands to REVIEW explicitly (valid only with Autosend mode Off). This command will send all command lines that have been entered since the preceding REVIEW SEND command. Consider, for example, the following command lines (which are numbered for reference purposes only):
1.REVIEW 2.REVIEW 3.REVIEW 4.REVIEW 5.REVIEW MATERIAL 1 RGB 10 10 10 ELEMENT /C1101 MATERIAL 1 SEND ELEMENT /C1002 MATERIAL 1 SEND
REVIEW SEND
By default, batch mode is in operation (i.e. Autosend mode is Off). Therefore lines 1 and 2, which hold REVIEW functional commands, are not passed to REVIEW until the explicit command to do so is given in line 3. Similarly, the command in line 5 causes line 4 (only) to be passed to REVIEW.
B-2
B.4.
B.5.
Sample Application
Note:
The sample application supplied is for demonstration purposes only. By default it uses flat files as the data source. Note also that you should cancel the Login form displayed when the demonstration application is run.
The first stage of the sample application is concerned with progress monitoring, covering both the design and construction phases. It uses the sample model to give a clear presentation of the current status of the project, which is particularly useful during concurrent design and construction. The second stage focuses on extracting a range of engineering data available from the model, including the display of P&IDs, vendor drawings and scanned images, data sheets, and reports. The third part of the application focuses on the operating life of the plant, such that items requiring maintenance can be interrogated by reference to a timebase. Maintenance history can be studied for past problems and recommendations; maintenance procedures can be displayed to show the scope of the work involved. Cost-benefits can be seen by obtaining the isolation group associated with a given element; for example, the Main Separator Tower may be highlighted together with an adjacent control valve which is to be maintained at the same time.
B-3
A set of fully documented forms and macros are supplied to support these engineering applications, based around the Stabiliser model. These applications are summarised in more detail in the following sections.
B.6.
Progress Monitoring
The Progress Monitoring application is based on the need to view different engineering disciplines of a plant that are at various stages of completion. Relevant information can then be displayed and highlighted within REVIEW. The engineering disciplines recognised by the application are: Piping Mechanical Vessels Structural Instruments
For each discipline, the completion status, each of which is displayed within REVIEW in a different colour, may be any of the following:
Completion Status Preliminary Design Final Design Fabricated Erected Tested Display Colour Green Cyan Blue Purple Brown
B.6.1.
Engineering Data
The Engineering Data application is based on the need to derive engineering data which relates to a graphical element selected within the REVIEW display; for example: Purchase order data; Descriptions; Document availability and viewing capability;
Once these data have been supplied, a further selection can be made to display related documents and drawings through other applications. Examples supplied will allow access to plotfiles, ASCII and scanned image files. The Maintenance application is based on the need to view different types of plant element which require maintenance at different time intervals. Maintenance activities can then be selected for further data analysis and display within REVIEW.
B-4
The types of design element recognised by the application are: Vessels Exchangers Mechanical Instruments All
For each element type, the maintenance interval, specified in terms of the date when maintenance is next due, may be any of the following: Overdue Due today Due next week Due next month
When applied for a selected Element Type and Due On, all available data will be displayed to show which elements require maintenance and when. These elements can then be selected for further maintenance enquiries by selecting one or more the following options: Maintenance schedule Maintenance history Parts inventory Isolation list
B.7.
REVIEW will load its graphics and the sample model onto the screen. Click on the Applications icon to start the demonstration. The icon should look like the one below:
You will then see a Data Server Login form, which you should cancel for this flat file demonstration.
Note:
The file run_demo is located under the demo directory where the software was installed. Read the rvq_docs/README file for hints on how (if youre an experienced Query Toolkit user) you can customise the application for use with an external database.
B-5
B.7.1.
Progress Monitoring.
Select Applications>Progress Monitoring. A form will be displayed, as shown in Figure B-1, to enable you to access data relevant to the completion status for a particular discipline.
Use the two option gadgets on this form to set the required combination of design Discipline (e.g. Piping) and corresponding completion Status (e.g. Erected). Click the Apply button to highlight items meeting the selection criteria within the REVIEW model. Different colours will be used for the various Status options. Click the Make Display Translucent button to reset all materials in the REVIEW display to translucent to enable different Discipline and Status combinations to be selected and viewed. Progress Monitoring Examples Select and then apply the following combinations:
Combination Discipline=Piping and Status=Erected Discipline=Vessels and Status=Delivered Discipline=Vessels and Status=Installed Discipline=Structural and Status=Erected Discipline=Instr/Elect and Status=Fabricated Discipline=Mechanical and Status=Tested Resu;t Pipes are displayed in purple Vessels are displayed in blue Vessels are displayed in purple Steelwork is displayed in purple Instrument Cabinets are displayed in blue* Pumps are displayed in brown*
* To get the best display, Select Look > ISO > One from the REVIEW bar menu.
B-6
B.7.2.
Engineering Data
Select Applications > Engineering Data. A form will be displayed, as shown in Figure B-2, to enable you to extract engineering data relevant to the model. In the REVIEW display, select the central upright vessel (/C1101) using the cursor and left-hand mouse button. Now select the Name field on the Engineering Data form and paste in the name of the selected vessel by clicking the right-hand mouse button.
Figure B-2: The Engineering Data form
Click the Apply button to display data for the specified vessel against the headings Purchase Order and Description. A list of associated documents will be shown under the Document and Description headings. To display such a document, first select the line for that document in the scrollable list and then click the View Document button. The resulting document display may be:
Note:
a text file, using the system editor; a plotfile representation of orthogonal views of a drawing; a scanned image of a drawing. Any external application may be used to display documents. Any number of documents may be selected simultaneously for viewing.
B-7
Fabrication Drawing P&ID sheets 1-3 2D Drawing Bill of materials Cable List Report
Displays a plotfile of the Main Separation Tower. Each displays a P&ID plotfile. Displays a set of orthogonal views. Displays a BOM report for Pump P1501A. Displays a cable connection list report. Displays a scanned image of a valve.
B.7.3.
Maintenance
Select Applications > Maintenance. A form will be displayed, as shown in Figure B 3, to enable you to access data relating to those items which require maintenance within specific time periods.
Use the two option gadgets on this form to set the required combination of item Type (e.g. Vessels) and time when next maintenance operation is due, shown as Due When (e.g. Due in next week). Click the Apply button to highlight items meeting the selection criteria within the REVIEW model. To make it easier to see the selected item in the REVIEW display, click the
Setup camera view button. This sets up Camera One such that the through
point is at the item of interest, with a field of view of 60. The Name, Description and Inspection Date for each relevant item will be listed on the form under the corresponding headers. To obtain detailed maintenance data for any item, select the item in the scrollable list and then click the appropriate button under the heading Further data for selected item. The data available come under the following headings:
B-8
Maintenance Schedule The Maintenance Schedule form, as illustrated in Figure B 4, allows you to view the maintenance procedures that have been generated for a named model item.
To display any of the maintenance procedures listed for the current item, select the procedure in the scrollable list and then click the View Procedure button. The selected report will be displayed (in read-only mode) to show details of the maintenance procedures. To list the available maintenance procedures for a different model item without returning to the General Maintenance form, enter the new item name and click the Apply button. Maintenance History The Maintenance History form, as illustrated in Figure B-5, allows you to view the maintenance history reports that have been generated for a named model item. To display any of the maintenance reports listed for the current item, select the report in the scrollable list and then click the View Report button. The selected report will be displayed (in read-only mode) to show details of the maintenance history. To list the available maintenance reports for a different model item without returning to the General Maintenance form, enter the new item name and click the Apply button.
B-9
Parts Inventory The Parts Inventory form, illustrated in Figure B-6, allows you to view supplier details that have been generated for a named model item.
To display details of any part listed for the current item, select the part in the scrollable list and then click the Supplier Details button. Supplier information for the selected part will be displayed (in read-only mode). To list the available supplier details for a different model item without returning to the General Maintenance form, enter the new item name and click the Apply button.
B-10
Isolation List The Isolation List form, illustrated in Figure B-7, allows you to view details of maintenance isolation lines that have been generated for a named model item.
The scrollable list shows all associated items which make up the isolation line related to the current item. The complete isolation line will be highlighted in the REVIEW display. To list the isolation line details for a different model item without returning to the General Maintenance form, enter the new item name and click the Apply button.
B-11
B.8.
B.8.1.
Progress Monitoring
Piping Preliminary Final Design Fabricated Erected Tested Delivered Installed Excavated Foundations Oversite no yes yes yes yes n/a n/a n/a n/a n/a Mech. no no n/a n/a yes no no n/a n/a n/a Vessels no no n/a n/a yes yes yes n/a n/a n/a Civil no no n/a n/a n/a n/a yes no no yes Structural no no no yes yes n/a n/a n/a n/a n/a HVAC no no no no no n/a n/a n/a n/a n/a Instr./Elec. no No Yes Yes No n/a n/a n/a n/a n/a
B.8.2.
Engineering Data
The engineering data extracted from the data source (flat file or database tables) is based on the following PDMS elements:
/C1101 /P1502A /V-70 Main Separator Tower Secondary Backup Pump Manual Shutdown Valve
B.8.3.
Maintenance
Vessels
Overdue Primary data Schedule History Parts inventory Isolation list no no no no no Due today no no no no no Due next week yes yes yes yes yes Due next month yes yes yes yes yes
B-12
Exchangers
Overdue Primary data Schedule History Parts inventory Isolation list no no no no no Due today no no no no no Due next week no no no no no Due next month yes no no no no
Mechanical
Overdue Primary data Schedule History Parts inventory Isolation list yes no no no no Due today yes no no no no Due next week yes no no no no Due next month yes no no no no
Instruments
Overdue Primary data Schedule History Parts inventory Isolation list no no no no no Due today no no no no no Due next week no no no no no Due next month yes no no no no
All
Overdue Primary data Schedule History Parts inventory Isolation list yes no no no no Due today yes no no no no Due next week yes yes yes yes yes Due next month yes yes yes yes yes
Most of the data extracted from the data source (flat file or database tables) is based on the following PDMS elements:
/C1101 Main Separator Tower. B-13
Secondary Backup Pump. Manual Shutdown Valve. Storage Tank. Manual Shutdown Valve
There are instances where data extracted is not consistent with that of the model. In such cases the following message will be displayed:
data ignored not in review model
B.9.
The names of many of the files begin with a prefix which indicates the files function, thus:
F M U I Denotes a form definition. Denotes a macro definition. Denotes a utility macro. Denotes a form initialisation macro.
All other filenames denote general files which are not specifically used in creating forms.
B.9.1.
B-14
File FVERSION IORACLE IVERSION MORACLE MVERSION RPODESC START UCAMERA UORACLE UQUIT URESET UVIEWDOC VAR2ENV
Purpose Form definition macro for versions Initialisation macro for RDBMS connection Initialisation macro for versions Result macro for RDBMS connection Result macro for versions Utility macro to set purchase order number and description Query start-up macro Utility macro to set up camera 1 Utility macro to invoke RDBMS connection form Utility macro to quit Query Utility macro to reset observer materials Utility macro to view documents (plotfiles and other formats) Utility macro to convert %Variable% to environmental variable
B.9.2.
B.9.3.
B-15
B.9.4.
B.9.5.
B-16
File sybase_data.ksh
Purpose A Shell script for loading demo tables into Sybase RDBMS. Table contents and names are consistent with those of the above flat files. Plotfile of 2D drawing of the Stabiliser Maintenance report Maintenance report Maintenance report Maintenance report Maintenance report Electrical drawing plotfile Electrical drawing plotfile Valve specification Pump bill of materials Plotfile of 2D drawing of Pump Electrical cable list report (PEGS-generated) Electrical panel report (PEGS-generated) Process flow diagram plotfile P&ID sheet 1 for plant P&ID sheet 2 for plant P&ID sheet 3 for plant Scanned image of a valve (sectioned drawing) Utility to display scanned images
C1101.plot C1101020592.asc C1101091092.asc C1101111091.asc C1101121089.asc C1101141090.asc EI3245.plot EI3246.plot V-70.spec P1501A.bom P1501A.plot cablelist..rep panel.rep pfd.plot pid1.plot pid2.plot pid3.plot v-70.tif xtiff
B-17
B-18
Expressions have types. For example, you can have numeric expressions, text expressions and logical expressions. All the elements in an expression must be of the correct type. For example, if you have a two numbers, x and y, and two text strings text1 and text2, the following expression is meaningless:
x + text1 $
C-1
C.1.
Format of Expressions
The format of an expression, for example the use of brackets, spaces and quotes, is important. If you do not follow the rules given below you will get error messages: Text must be enclosed in quotes. For example:
This is text
There must be a space between each operator and operand. For example:
x+y
Use round brackets to control the order of evaluation of expressions and to enclose the argument of a function. For example:
SIN(30)
In general, you do not need spaces before or after brackets, except when a PDMS name is followed by a bracket. If there is no space, the bracket will be read as part of the name. For example:
(NAME EQ /VESS1 )
C.1.1.
Operator Precedence
Operators are evaluated in the order of the following list: the ones at the top of the list are evaluated first.
Operator BRACKETS Comments Brackets can be used to control the order in which operators are evaluated, in the same way as in normal arithmetic
C-2
C.1.2.
Nesting Expressions
Expressions can be nested using brackets. For example:
( (SIN(!angleA) * 2) / SIN(!angleB) )
C.2.
Logical Expressions
Logical expressions can contain: PDMS attributes of type logical e.g. BUILT. Logical constants. The constants available are: TRUE, ON, YES for true, and FALSE, OFF, NO for false. Logical operators. Logical functions.
C.2.1.
Logical Operators
The logical operators available are:
Operator AND EQ, NE The operators EQ and NE may be applied to any pair of values of the same type. The operators GE, LE, GT and LT may only be used with numbers and positions. For more information, see Section C.5, Using Positions, Directions and Orientations in Expressions. Comments
NOT OR
Note:
The operators EQ, NE, LT, GT, LE and GE are sometimes referred to as comparator or relational operators; NOT, AND and OR are sometimes referred to as Boolean operators. See also Section C.11, Precisions of Comparisons for tolerances in comparing numbers
C-3
AND
Synopsis Description Side Effects Example log1 AND log2 -> logical
Perform the logical AND between two logical values. Treats unset values as FALSE. If one of the values is undefined and the other one is FALSE, the result is FALSE. TRUE and FALSE -> FALSE
EQ and NE
Synopsis ( number1 EQual number2) ( text1 EQual text2 ) ( log1 EQual log2 ) ( id1 EQual id2 ) ( pos1 EQual pos2 ) ( dir1 EQual dir2 ) ( ori1 EQual ori2 ) ( pp1 EQual pp2 ) ( number1 NEqual number2 ) ( text1 NEqual text2 ) ( log1 NEqual log2 ) ( id1 NEqual id2 ) ( pos1 NEqual pos2 ) ( dir1 NEqual dir2 ) ( ori1 NEqual ori2 ) ( pp1 NEqual pp2 ) Description -> logical -> logical -> logical -> logical -> logical -> logical -> logical -> logical -> logical -> logical -> logical -> logical -> logical -> logical -> logical -> logical
Compare two values. A special feature is used for the positions, only the coordinates specified are compared. See Section C.5.4 for more information. Unset values result in FALSE across EQ, TRUE across NE. If two positions have no common coordinate, for example, N 10 ne U 10, the result is undefined. Units are consolidated across comparisons. ( 1.0 eq 2.0) -> FALSE None.
Side Effects
Example Errors
C-4
Compare two values. A special feature is used for positions: only the coordinates specified are compared. See Section C.5.4 for more information. For positions, since comparisons may be performed on more than one value, LT (GT) is not the inverse of GE (LE). Unset values result in false If two positions have no common coordinate, the result is undefined. For example, N 10 gt U 10. Units are consolidated across comparisons. ( 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 None.
Side Effects
Example
Errors
NOT
Synopsis Description Side Effects Example Errors NOT log1 Perform the logical NOT on a logical value. None. not TRUE -> FALSE None. -> logical
OR
Synopsis Description OR log2 -> logical
Perform the logical inclusive OR between two logical values. (The exclusive OR is defined by using NE.) Allows numbers instead of logical values. If one of the values is undefined and the other one is TRUE, the result is TRUE. TRUE or FALSE -> TRUE None.
C-5
C.2.2.
Logical Functions
The logical functions available are:
Function BADREF DEFINED,UNDEFINED CREATED DELETED EMPTY MATCHWILD MODIFIED UNSET VLOGICAL Comments
BADREF
Synopsis Description Side Effects Example Errors BADREF (id) TRUE if id is invalid, else FALSE. None BADREF(TREF) -> true if TREF=nulref None. -> logical
With one argument, DEFINED is true only if the scalar variable, the array variable or the array variable element exists. With two arguments, DEFINED is true only if the first argument is an array variable which has a value for the index denoted by the second argument. UNDEFINED( !foo ) is equivalent to NOT DEFINED( !foo ). None. DEFINED ( !var ) -> TRUE DEFINED ( !array ) -> TRUE DEFINED ( !array[1] )) -> TRUE DEFINED ( !array , 1 ) -> TRUE DEFINED ( !var) -> FALSE UNDEFINED ( !array) -> TRUE DEFINED ( !array , 3 ) -> FALSE None.
Errors
C-6
CREATED
Synopsis Description Side Effects Example Errors CREATED None. CREATED -> TRUE None. -> logical
Returns TRUE if the element has been created since the set date.
DELETED
Synopsis Description Side Effects Example Errors DELETED None. DELETED -> TRUE None. -> logical
Returns TRUE if the element has been deleted since the set date.
EMPTY
Synopsis Description Side Effects Example Errors EMPTY(text) None. EMPTY() -> TRUE EMPTY(not empty) -> FALSE None. -> logical
MATCHWILD
Synopsis MATCHW/ILD( text1, text2) MATCHW/ILD( text1, text2, text3) MATCHW/ILD( text1, text2, text3, text4) Description -> logical -> logical -> logical
Matches string text2 to string text1. If they are the same then returns TRUE, else FALSE. text2 may contain wildcard characters. The defaults for wildcards are * for any number of characters, and ? for a single character. With three arguments, the multiple wildcard character * may be redefined by text3. With four arguments the single wildcard character ? may be redefined by text4. None MATCHW/ILD(A big bottle of beer,*big*) -> TRUE MATCHW/ILD(A big bottle of beer,??big*) -> TRUE MATCHW/ILD(A big bottle of beer,???*big*) -> FALSE MATCHW/ILD(A big bottle of beer,*big*beer) -> TRUE MATCHW/ILD(** text,**!,!) -> TRUE None.
Errors
C-7
MODIFIED
Synopsis
.-----------------------------------. / | >- MODIFIED-(-+- attname -------*- DESCENDANTS -+-+-comma +-attname | | | | |- DESCENDANTS -. |- SIGNIFICANT --| | | | | | | |- SIGNIFICANT--| |- PRIMARY ----- | | | | | | | |- PRIMARY -----| |- OFFSPRING-----| | | | | | | |- OFFSPRING ---| ---------------- | | | | | | | | | | ---------------+--------------------+--+-- ) - OF id | -
Description
For sophisticated queries relating to modifications. Returns TRUE if a modification has taken place. Each attribute name may be followed by the following qualifying keywords: OFFSPRING, to check this element and members SIGNIF, to check all elements for which this element represents the significant one; PRIMARY, check all elements for which this element represents the primary one; DESCENDANTS, this element and everything below (descendants). The OF syntax may be used as for attributes. The MODIFIED function or the GEOM, CATTEXT and CATMOD pseudoattributes (see Appendix D.2.2.1 can be used instead of the AFTERDATE function. The MODIFIED, DELETED and CREATED functions may go anywhere within a PDMS PML1 expression. i.e. after Q/VAR and within collections None Q MODIFIED() Returns TRUE if element has changed at all since the comparison date. It will also return TRUE if the element has been created since the comparison date. Returns TRUE if POS or ORI modified since the comparison date. Returns TRUE if the position of P1 has changed. Returns TRUE if any geometry for item or any descendants has changed Returns TRUE if any element for which this element is primary, has changed.
Q MODIFIED(POS,ORI)
Q MODIFIED(PRIMARY)
C-8
Q MODIFIED() OF /PIPE1
Returns TRUE if /PIPE1 has been modified since the comparison date.
The MODIFIED, DELETED and CREATED functions are not implemented within PML2 expressions. UNSET
Synopsis Description Side Effects Example UNSET(value) -> logical
Returns TRUE if value is unset, else FALSE. The value can be of any data type including ARRAYS. Normally it will be a PDMS attribute. None. UNSET( DESC ) UNSET(CRFA) TRUE where DESC is an unset text attribute FALSE where CRFA contains unset reference attributes
Errors
None.
VLOGICAL
VLOGICAL is used for the late evaluation of variables. Synopsis Description VLOGICAL ( variable_name )) VLOGICAL ( variable_name , number) -> logical -> logical
With one argument, return the value of the scalar variable or the value of the array variable element as a logical. With two arguments, return the value of the element corresponding to the index number as a logical. The rules of conversion are: TRUE for the strings T, TR, TRU or TRUE (case insensitive) or any numeric value not equal to zero; FALSE for the strings F, FA, FAL, FALS or FALSE (case insensitive) or a numeric value equal to zero. Scalar variables may not be indexed. For example, VTEXT(!var[1]) will return an error. Array variables must have an index. For example, VTEXT (!array) will return an error. The value cannot be translated into a logical. See also VTEXT, used for late evaluation when a text result is required; and VVALUE, used for late evaluation when a numeric result is required. If the scalar variable, the array variable, or the array variable element does not exist, the result is undefined. VLOG ( !array[1] ) -> TRUE VLOG ( !array , 2 ) -> FALSE
C-9
Errors
None.
C.2.3.
C.3.
PDMS attributes of type number, for example: XLEN. Position, direction and orientation attributes which have a subscript to indicate which part of the array is required. For example, POS[2] means the second element of the POSITION attribute; that is, the northing. Note that position, direction and orientation attributes without subscripts can only be used in number array expressions. The keyword PI (3.142). Numeric operators. Numeric functions.
C-10
C.3.1.
C.3.2.
Add or subtract two numbers. They can also be used as unary operators at the beginning of a parenthesised sub-expression. Units are consolidated across add and subtract. 1 + 2 -> 3.0 1 2 -> 1.0 + 1 -> 1.0 - 1 -> -1.0 Floating point underflow.
Errors
C.3.3.
Multiply or divide two numbers. They can also be used as unary operators at the beginning of a parenthesised sub-expression. Numeric underflow is not considered to be an error and neither is it flagged as a warning. The result returned is zero. Units are consolidated across Multiply and Divide. 2 * 3 -> 6.0 2 / 3 -> 0.666666666 Divide by zero.
C-11
C.3.4.
COS ( number1 )
TAN ( number1 )
C-12
Comments Gives the position of the beginning of the leftmost occurrence of text2 in text1. If text2 does not occur in text1, 0 is returned. DMATCH is used with characters which have a displayed width that is different from standard characters, such as Japanese. Gives the maximum value of the arguments. Gives the minimum value of the arguments. Multiply a number by -1.0. Gives the nearest integer to a real. NINT(N+0.5) is equal to N+1 if N is positive or equal to zero, to N if N is negative. Gives the number of times string text2 occurs in string text1. Try to read a number at the beginning of text1. Gives the value of number1 raised to the power number2. Gives the square root of a number. Used for late evaluation of variables. Gives a real value.
MAX ( number1, number2[ , number3 [. . .]]) ) MIN ( number1, number2[ , number3 [. . .]]) ) NEGATE NINT ( number1 )
OCCUR ( text1, text2 ) REAL ( text1 ) POWER ( number1, number2 ) SQRT ( number1 ) VVALUE ( variable-name )
ABS
Synopsis Description Side Effects Example Errors ABS ( number1 ) Returns the absolute value of a real. None. ABS ( -3.2 ) -> 3.2 None. -> number
C-13
Description
Return the arc-cosine, arc-sine or arc-tangent of a number, in degrees. ATANT returns the arc-tangent of number1/number2 with the appropriate sign. ATANT is useful where the second value is near or equal to zero. For example, (6 0 ATANT) will give the correct result of 90 degrees, but (6 0 D ATAN) will indicate an error when trying to divide by zero. None. ACOS ( 0.8660254 ) -> 30 Argument of ACOS or ASIN out of range [-1.0,+1.0] ATANT (0.0,0.0) is undefined.
ALOG
Synopsis Description Side Effects Example Errors ALOG ( number1 ) -> number
Return the exponential function (natural anti-log) of a number. Numeric underflow causes the result to be set to zero. ALOG( -0.7 ) -> 0.4965853 Floating point overflow.
ARRAY
Synopsis Description Side Effects Example Errors ARRAY(pos or dir or ori) -> number
Converts a position, direction or orientation value or attribute into three numbers. None ARRAY(e100 ) -> 100 0 0 None.
ARRAYSIZE
Synopsis Description Side Effects Example Errors ARRAYSize ( variable-name ) Give the size of an array variable. If the array variable does not exist, the result is undefined. ARRAYSIZE(!array) -> 2.0 The variable is a scalar variable and not an array variable. The variable is an array variable element and not an array variable. -> number
C-14
ARRAYWIDTH
Synopsis Description Side Effects Example ARRAYWIDTH ( variable-name ) None. If an array contains the following values: !ARRAY[1] Bread !ARRAY[2] is !ARRAY[3] for !ARRAY[4] life, !ARRAY[5] not !ARRAY[6] just !ARRAY[7] for !ARRAY[8] breakfast Then ARRAYWIDTH(!ARRAY -> 9 i.e. the length of breakfast. The variable is a scalar variable and not an array variable. The variable is an array variable element and not an array variable. -> number
Errors
Returns the magnitude of a vector drawn from E0 N0 U0 to pos2, projected in the direction dir1. None. COMP E 45 N of N 0 E 100 U 50 -> 70.710 None.
Return the sine, cosine or tangent value of a number (considered to be in degrees). None. COS ( 0.0 ) -> 1.0 TAN ( 45.0 ) -> 1.0 Division by zero for TAN if the sine is (nearly) equal to zero.
C-15
INT
Synopsis Description Side Effects Example Errors INT ( number1 ) None. INT ( 1.6 ) -> 1.0 INT ( -23.7 ) -> -23.0 Integer overflow. -> number
Return the length of text1. DLENGTH is for use with characters which have a displayed width that is different from standard characters, such as Japanese. None. LENGTH ( abcdef ) -> 6.0 LENGTH ( ) -> 0.0 None.
ALOG
Synopsis Description Side Effects Example Errors LOG ( number1 ) Return the natural logarithm of a number.. None. LOG( 3 ) -> 1 0986123 Negative arguments. -> number
Return the position of the beginning of the leftmost occurrence of text2 in text1. If text2 does not occur in text1, 0 is returned DMATCH is for use with characters which have a displayed width that is different from standard characters, such as Japanese. None. MATCH ( abcdef , cd ) -> 3.0 MATCH ( abcdef , x ) -> 0.0 MATCH ( abcdef , ) -> 1.0 None.
Errors
C-16
NEGATE
Synopsis Description Side Effects Example Errors NEGate ( number1 ) Multiply a real by -1.0. None. NEG ( 1 ) -> -1.0 None. -> number
NINT
Synopsis Description Side Effects Example NINT ( number1 ) -> number
Return the nearest integer to a real. NINT(N+0.5) is equal to N+1 if N is positive or equal to zero, to N if N is negative. None. NINT ( 1.1 ) -> 1.0 NINT ( -23.7 ) -> -24.0 NINT ( 1.5 ) -> 2.0 NINT ( -11.5 ) -> -12.0 Integer overflow.
Errors
OCCUR
Synopsis Description Side Effects Example Errors OCCUR(text1, text2) None. OCCUR (ABBACCBBBBBAB, BB) -> 3 OCCUR(ZZZZZZZZZZZ, A) -> 0 None.. -> integer
C-17
REAL
Synopsis Description REAL ( text1 ) -> number
Try to read a real number at the beginning of text1. Note that if text is in the form of an exponent, (-12E-1 in the third example), there must be no spaces in it. Note: this function was formerly called NUMBER. Numeric underflow causes the result to be set to zero. Units are consolidated across POWER. REAL ( 12.34) -> 12.34 REAL ( 7.23 E 3 meters ) -> 7.23 REAL ( -12E-1 meters ) -> -1.2 Unable to convert the text into a real number.
Errors
POWER
Synopsis Description Side Effects Example Errors POWer ( number1 , number2 ) None. POWER ( -2 , 3 ) -> -8 Floating point overflow. Zero first argument and non-positive second argument (effectively divide by zero). Negative first argument and non-integer second argument. -> real
SQRT
Synopsis Description Side Effects Example Errors SQrt ( number1 ) -> number
Return the square root of a real. Units are consolidated across SQRT.
SQRT ( 4 ) -> 2.0
Negative argument.
C-18
VVALUE
VVALUE is used for the late evaluation of variables. Synopsis Description VVALue( variable_name ) VVALue( variable_name , number ) -> number -> number
With one argument, returns value of the scalar variable or value of the array variable element as a number. With two arguments, returns value of the element corresponding to the index number as a number. See also VLOGICAL, used for late evaluation when a logical result is required, and VTEXT, used for late evaluation when a text result is required.
If the scalar variable, the array variable or the array variable element does not exist, the result is undefined.
VVAL ( !array[1] ) -> 1.0 VVAL ( !array , 2 ) -> 0.0 Scalar variable may not be indexed. For example, VTEXT (!var[1]) ) will return an error. Array variable must have an index. For example, VTEXT ( !array ) ) will return an error.
C-19
C.3.5.
Real Arrays
Real array expressions can contain attributes of type real array, for example: DESP.
C.4.
FIRST, LAST for first and last in current list. Optionally with a count
and/or element type. FIRST, LAST MEMBER for first and last in member list. If the element type given is only valid as a member then MEMBER is assumed. END to navigate up from current list.
END is similar to owner but not quite the same. For example, if the current element is a GROUP MEMBER, and it has been reached from the GROUP then END will return to the group but OWNE will go to the true owner.
Attribute of type ref, for example: CREF SAME to mean last current element NULREF to mean =0/0 CE for the current element OF may be used to nest the options indefinitely. For example:
SPEC OF SPREF OF FLAN 1 OF NEXT BRAN.
This denotes the SPEC element owing the SELE element pointed to by the SPREF attribute on the first FLANGE of the next BRANCH. ILEAVE TUBE, IARRIV TUBE, HEAD TUBE, TAIL TUBE can be added to denote tube. For example:
HEAD TUBE OF /BRAN1. An error will occur if there is no implied tube for the element concerned.
C-20
Note:
Some of the ID syntax clashes with other types. To allow for this, an id expression may always be preceded with the keyword ID. For example, ID 3 will mean the third member of the current list rather than a number of value 3.
C.5.
C.5.1.
Any numeric value within a position may itself be an expression. For example: the following is a valid position expression
N (DESP[1] + 10) E
The Cartesian position may optionally be followed by WRT to specify the axis system. See Section C.5.2.
C-21
C.5.2.
If we require the result in some other axis system then the WRT keyword is used. For example:
Q POS WRT /* $.for the position in world coordinates.
When we specify a Cartesian coordinate we are dealing with a relative position. For example, N 10 is meaningless until we specify the axis system, or default to an axis system. Again we use WRT to do this, although it is important to note that in this case we are going from a relative position to an absolute position (in the previous example WRT was used to go from an absolute position to a relative one). For example:
N 100 WRT /BOX1 $ specifies an absolute position in world space $ which is N100 of /BOX1.
The default is that Cartesian coordinates are in the owning elements axis system. This absolute position can be expressed in different coordinate systems: the default is again the owners axis system.
Note:
Example
Item A SITE at (0,0,0) A ZONE at (100,0,0) An EQUIPMENT at (100,0,0) A BOX at (-100,0,0) Comments With default (World) orientation With default (World) orientation With orientation N IS E With default (World) orientation
C-22
Box origin (-100, 0) wrt Equipment (100, 100) wrt Zone (200, 100) wrt World N E World origin Site origin N E Zone origin (100, 0) wrt World W
The result of Q (N 100 WRT /BOX1), shown as in Figure C- 1, will depend on the current element.
Location World Site Result (300,100,0), in World coordinates. (300,100,0) in World coordinates because the World is the owner of the current element. (300,100,0) in World coordinates, because the Site is the owner of the current element, and the Site coordinates are the same as the World coordinates. (200,100,0), which is the position relative to its owner, the Zone. (100,100,0) which is the position relative to its owner, the Equipment.
Zone
Equipment Box
C-23
C.5.3.
FROM
In some cases we require an offset from a fixed point, other than the position of an item. For example, a point or attribute. The FROM syntax is used for this. We may still use WRT in combination with FROM, but in this case the WRT is only used to determine the axis direction and not the offset, since the offset is specified by the FROM part. Consider the following:
Item A SITE at (0,0,0) A ZONE at (100,0,0) An EQUIPMENT at (100,0,0) A BOX at (-100,0,0) Comments With default (World) orientation With default (World) orientation With orientation N IS E With default (World) orientation
Box origin (-100, 0) wrt Equipment (100, 100) wrt Zone (200, 100) wrt World N E World origin Site origin N E Zone origin (100, 0) wrt World W
The result of Q (N 100 WRT /* FROM /BOX1), shown as in Figure C- 2, will depend on the current element.
Location World, Site, and Zone Result (200,200,0) since the offset of N100 is applied in world axis rather than /BOX1 axis.
C-24
Result (100,200,0). Note: the default axis for the result is the Zone. (200,0,0), because the default axis for the result is the Equipment.
The result of Q (N 100 FROM /* ) is different yet again. For this we cannot mark an absolute point on the diagram since the default WRT will vary with the current element. In fact for the SITE, ZONE, EQUI the point is marked in Figure C- 3, and for the BOX the point coincides with the ZONE.
Box origin (-100, 0) wrt Equipment (100, 100) wrt Zone (200, 100) wrt World N E E Zone origin (100, 0) wrt World W
Result (0,100,0) (-100,100,0), because the default result axis is the Zone.
C-25
Location Box
Result (0, -100, 0), because the axis for the result is the Equipment.
C-26
C.5.4.
Comparing Positions
Two positions can be compared with EQ, NE, GT, LT, GE or LE. The pairs of coordinates are only compared in the coordinate axes for which the two positions are defined. A position attribute always has all three coordinates defined. For positions entered by the user, only those coordinates which are given by the user are defined. For example:
N10U3 $ only the Y and Z coordinates are defined, $ while the X coordinate remains undefined
For the EQ operator, all the pairs of defined coordinates should be equal. For NE, only one pair of defined coordinates need be different. For GT (LT,GE,LE), all the defined coordinates of the first position should be greater than (less than, greater than or equal to, less than or equal to) the defined coordinates of the second position. This means that GE is not the opposite of LT and LE is not the opposite of GT. If no coordinate of the two positions are defined for a common axis (e.g. N10 and W4D7), the result of the comparison is undefined. Examples
POS EQ W1S2D3 POS GT N10 or N10 LE POS E10N10 GT E0N0 $ This evaluates to true only if POS of the current $ element is (-1,-2,-3). $ Only the second coordinate of POS is compared; $ if it is greater than 10, then the result is true. $ Is true because the inequality is verified for the X $ and Y axis (both coordinates are undefined for $ the Z axis, so it is ignored). $ Is false because the Y components are different $ axes. $ Is true. Although no comparison can be $ performed n either the Y or the Z axis, because $ the components are not present in both position $ constants, the comparison is true in the X $ component. $ Is undefined (no comparison is possible).
N10 EQ W4D7
See also Section C.11, Precisions of Comparisons for tolerances in comparing numbers.
C-27
C.5.5.
POLAR
The POLAR keyword allows positions to be defined in terms of a distance in a particular direction from a point. The syntax is:
POLAR dir DISTance expr -+- FROM -+- pos -----. | | | | `- point ---| | | --------------------+--->
If FROM is not specified the default is the origin of the owner. For example:
POLAR N 45 E DIST 20M FROM U 10 M POLAR AXES PL OF PREV DIST ( ABORE * 10 ) FROM PL OF PRE V
C.5.6.
Direction
The basic ways of defining a direction are: Direction attribute plus optional WRT. For example,
HDIR OF /PIPE1 WRT /*
C-28
>- CLOSEST type -+- WITH exp -. | | `------------+- DIRECTION dir -+- EXTENT val -. | | `--------------+--> cont continued >-+- AFTER val -. | | `-------------+- FROM ? -. | | `----------+-->
In the above graph the keywords are: EXTENT, which is how far to search in the direction specified, default 10M AFTER, or the distance along vector after which to start search, default 0M FROM, which specifies an alternative start point other than current element. This is of particular use for a branch where you might want to specify the HPOS or TPOS. Examples 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.7.
Orientations
The basic ways of defining an orientation are: Orientation attribute plus optional WRT. For example:
ORI OF /BOX1 WRT /*
The AXES keyword, which will allow you to use P-points to specify orientations.
The syntax is:
C-29
----<---------. / | >-- AXES --*--- PArrive ---| | | |--- PLeave ----| | | |--- PTail -----| | | |--- HHead -----| | | |--- HTail -----| | | `--- PPOINT n --+-- OF - <gid> ---->
An example is: ( AXES PLEAVE IS AXES PLEAVE OF PREV AND AXES P3 IS UP ) This will orient a branch component, such as a valve, so that it is aligned with the previous component and its P3 is up.
C.6.
Text Expressions
Text expressions can contain the following: A text string, which must be enclosed in quotes. For example: FRED. A PDMS attribute of type text or word. For example: FUNC A single element of a word array attribute. For example: ELEL[2]. Text operators Text functions
C.6.1.
Text Operator
The text operator available is +, used for concatenation.
Synopsis Description Side Effects Example Errors text1 + text2 -> text Return the concatenation of two text strings. None. no + space -> nospace Text result too long. -> text
C.6.2.
Text Functions
The text functions available are:
Function AFTER BEFORE Comments
C-30
DISTANCE LOWCASE, UPCASE PART REPLACE STRING SUBS, DSUBS TRIM VTEXT
AFTER
Synopsis Description AFTER ( text1 , text2 ) -> text
Return the substring of text1 which is after the leftmost occurrence of text2 in text1. If text2 does not occur in text1, the null string is returned. None. AFTER ( abcdef , cd ) ->ef AFTER ( abcdef , x ) -> AFTER ( abcdef , ) -> abcdef None.
Errors
BEFORE
Synopsis Description BEFORE ( text1 , text2 ) -> text
Return the substring of text1 which is before the leftmost occurrence of text2 in text1. If text2 does not occur in text1, text1 is returned. None. BEFORE ( abcdef , cd ) -> ab BEFORE ( abcdef , x ) -> BEFORE ( abcdef , ) -> None.
Errors
DISTANCE
Synopsis DISTance ( number1 ) DISTance( number1, logical1, logical2, logical3, number2, logical4) -> text -> text
C-31
Description
For the one-argument form, if the current distance units are FINCH, text is the conversion of the decimal inches value number1 into the format aabb.cc/dd. Otherwise, text is the STRING conversion of number1. The six-argument form is more complex. The format is: DIST/ANCE (distance, feet, usformat, fraction, denom_or_dp, zeros) where: distance is the numeric distance in inches that is to be formatted. feet is a logical flag set to true if output is to be in feet and inches and to false if output is to be in inches. usformat is a logical set to true if US format is to be used or false if PDMS format is to be used. fraction is a logical set to true if the fractional component is to be output as a fraction or false if to be output as a decimal denom_or_dp is a number representing the largest denominator if fraction is TRUE or representing the number of decimal places if it is FALSE. zeros is a logical set to true if zeros are to be shown when that component of the output has no value For both US and PDMS formats the following rules are observed: If distance is negative, the first symbol is a minus sign. If feet is true and the distance is at least a foot, then the number of feet is output next, followed by a single quote (). Only if zeros is true will the number of feet be output as 0 for distances less than a foot. Otherwise the feet will be omitted. If feet have been output, the inches will be at least two characters wide. Numbers less than ten will be preceded by a space if US format is being used or a zero if PDMS format is used. A zero will be output if there are no whole inches. If no feet have been output and the distance is at least an inch, then the number of inches is displayed but without any preceding spaces. Only if zeros is true will a 0 be output for distances of less than an inch. If inches have been output and fraction is true, these will be followed by a decimal point (.). If fraction is TRUE and the number has a fractional component, then the numerator and the denominator are shown separated by a slash (/). This is then blank padded up to the width that the largest numerator and denominator would take. If fraction is FALSE and the number of decimal places is greater than zero, then the decimal point (.) is displayed followed by the remainder up to the appropriate number of decimal places. If the number of decimal places is 0 then the decimal point is not shown either.
If US format has been selected then the following additional rules are observed on output: The () after the number of feet is followed by a dash (-). The decimal point separating the inches from the fraction is replaced by a space. The inches and fraction of inches are followed a double quote(). PDMS by Software Customisation Reference Manual Version 11.6SP1
C-32
None. If the current distance units are FINCH: DISTANCE ( 17.5 ) -> 15.1/2 Some examples, where the current distance units are feet and inches: DIST(34.5,TRUE,TRUE,TRUE,100,TRUE) -> 2-10.1/2. DIST(34.5,FALSE,TRUE,FALSE,1,TRUE) -> 34.5 DIST(34.5,FALSE,TRUE,TRUE,4,FALSE) -> 34 1/2 DIST(128.5,TRUE,FALSE,TRUE,2,TRUE) -> 1008.1/2 The following table shows sets of options that could have been chosen and the format of the output produced for different numbers. Blanks output by the system are represented by underscores(_).
Distance Feet & Inch US Fraction Denom 100 Zeros
10-_8_1/2___ 10-_0_______ 0-11_1/2___ 0-_0_3/4___ 0-_0_______ -0-10_______
Errors
PART
Synopsis Description PART(text1, number1) PART(text1, number1 , text2) -> text -> text
With two arguments, returns the number1 component of text1 assuming that text1 is split on any whitespace characters. If number1 is negative, counting of components starts from the right. With three arguments, as above, but use text2 as the separator on which splitting takes place. If the user gives a part number higher than the number of components in the string, the function returns an empty string. None.
Side Effects
C-33
Example
PART (x-y-z, 1, - -> x PART (a b c d e, 4-> d PART (/PIPE45/B9, -1, /) -> B9 PART(aa bb cc, 2) -> bb PART(aa-bb-cc,3,-) -> cc None.
Errors
REPLACE
Synopsis
Description
Replace search string text2 in input string text1 with replacement string text3. If int1 is given this specifies the first occurrence of text2 at which to start replacement. If int2 is given this specifies the number of replacements to make. int1 and/or int2 may be negative to indicate that the direction is backwards.
Side Effects
None.
C-34
Example
Three arguments: REPLACE (cat dog cat cat dog , cat, dog ) -> dog dog dog dog dog All occurrences of cat are replaced with dog. Four arguments: start occurrence given: REPLACE (cat dog cat cat cat dog, cat, dog, 2) -> cat dog dog dog dog dog All occurrence of cat from the second occurrence onwards are replaced with dog REPLACE(cat dog cat cat dog ,cat, dog, -2 -> dog dog dog cat dog All occurrences starting at the second occurrence from the end of the string and moving backwards are replaced Note that a negative fourth argument without a fifth argument implies backwards mode. Five arguments: start occurrence and number of replacements given. Replace two occurrences of cat starting at second occurrence: REPLACE (cat dog cat cat cat, cat,dog, 2,2) -> cat dog dog dog cat Replace two occurrences in backwards direction starting at the second occurrence: REPLACE (cat dog cat cat cat, ,cat, dog, 2, -2) -> dog dog dog cat cat Replace two occurrences in forwards direction starting at second occurrence from the end of the string: REPLACE (cat cat cat cat dog, cat, dog,-2,2) -> cat cat dog dog dog Replace two occurrences in backwards direction starting at second occurrence from the end of the string. REPLACE (cat cat cat cat dog,cat, dog, -2, -2) -> cat dog dog cat dog The following examples all give the same result: REPLACE(cat1 cat2 cat3 cat4 cat5 cat6 cat7 cat8 cat9 cat10, cat, dog, 4, 2) REPLACE(cat1 cat2 cat3 cat4 cat5 cat6 cat7 cat8 cat9 cat10, cat, dog, 5, -2) REPLACE(cat1 cat2 cat3 cat4 cat5 cat6 cat7 cat8 cat9 cat10, cat, dog,-6, -2) REPLACE(cat1 cat2 cat3 cat4 cat5 cat6 cat7 cat8 cat9 cat10, cat, dog, -7, 2) In each case, the output string is cat1 cat2 cat3 dog4 dog5 cat6 cat7 cat8 cat9 cat10 If the replacement string text3 is a null string the required number of occurrences of the search string text2 are removed. For example: REPLACE (AAABBABZ, B, ) -> AAAAZ REPLACE (AAABBABZ, B, , -1, -1) -> AAABBAZ
C-35
Errors
If the input string text1 is a null string or an unset text attribute, the input string text1 is returned unchanged. For example: REPLACE (, A,B) -> If the search string text2 is longer than the input string text1, the input string text1 is returned unchanged. For example: REPLACE(AA, AAAAA , B) -> AA If no occurrence of the search string text2 is found, the input string text1 is returned unchanged. For example: REPLACE( AAAAAA,B,C) -> AAAAAA If required occurrence int1 is not found the input string text1 is returned unchanged. For example: REPLACE(AAAAAA, A, B, 10 ) -> AAAAAA If the number of replacements required int2 is greater than the actual number of occurrence from the specified start occurrence, replacements are made up to the end of the string ( or beginning in backwards mode). For example: REPLACE(AAAAAA, A, B, 2, 8) -> ABBBBB REPLACE (AAAAAA, A, B, -3, 8) -> BBBBAA
STRING
Synopsis
STRing ( any scalar type ) STRing ( number , text1 ) STRing ( pos , text1 )
Description
Turns a value into a text string. With a single argument the STRING function can be applied to the following scalar data types: Numeric Logical Id Position Direction Orientation
With only one argument, decimal places are output to give a maximum of six significant figures. Trailing zeros are always removed in this case. With two arguments the data type may be either numeric (scalar) or position or direction. With two arguments, convert a number or position into a text string using the format described by text1, which may take any of the values between D0 and D6 (or d0 and d6), where the number indicates the number of decimal places. For numbers, STRING always outputs values as millimetres. If unit conversion is needed then the DIST function should be used. For positions, the current distance units are used. Side Effects
None.
C-36
Example
STRING ( 1 ) -> 1 STRING ( 1 , D3 ) -> 1.000 STRING ( 1.23456789 ) -> 1.23457 STRING(1.1230000) ->1.123 STRING ( 1.23456789 , D3 ) -> 1.235 STRING (9*9 LT 100) -> TRUE STRING (OWN OF CE) -> /PIPE1 STRING(POS) -> W1000 N20000 U18000 STRING(POS, D4 ) -> W10000.1234 N20000.1234 U18000.1234 STRING(HDIR OF /PIPE1-1) -> D STRING(E 22.0125 N, D2) -> E 22.01 N STRING (ORI OF NEXT) -> Y IS D AND Z IS U
Errors
With two arguments, return the substring of text1 beginning at the position number1 to the end of text1. With three arguments, return the substring of text1 beginning at the position number1 and of length number2. If number1 is negative, then counting of characters starts from the RHS of the input string. If number2 is negative, then characters up to and including the start position are returned. DSUBSTRING used with characters which have a displayed width that is different from standard characters, such as Japanese. If the chosen range is outside the original string, an empty string is returned None. SUBSTRING ( abcdef , 3 ) -> cdef SUBSTRING ( abcdef ,-3 ) -> abcd SUBSTRING ( abcdef , 3 , 2 ) -> cd SUBSTRING ( abcdef , -3, 2 ) -> de SUBSTRING ( abcdef , 3 , -2 ) -> bc SUBSTRING ( abcdef , 10 ) -> SUBSTRING ( abcdef , -10 , 2 ) -> ab None.
Errors
TRIM
Synopsis TRIM ( text1 ) TRIM ( text1, text2 ) TRIM ( text1, text2, text3 ) -> text -> text -> text
C-37
Description
When only one argument is supplied, TRIM removes all spaces to the left (leading) and right (trailing) of text1 and returns the answer in text. When two arguments are supplied, text2 specifies where the spaces should be removed from: either L or l for left, R or r for right, and M or m for multiple (where multiple occurrences of blanks are squeezed to a single spaces) or any combination of the three key letters. So the default is LR when this field is omitted. When the third argument text3 is also supplied, this should only be a single character which overrides the space character as the character being trimmed. None. TRIM ( How now, brown cow , LRM ) -> How now, brown cow TRIM ( 10.3000, R, 0 ) -> 10.3 None.
VTEXT
VTEXT is used for the late evaluation of variables. Synopsis Description VTEXT ( variable-name ) VTEXT ( variable-name , number ) -> text -> text
With one argument, it gets the value of the scalar variable or the value of the array variable element. With two arguments, it gets the value of the element corresponding to the index number. The value is returned as a text string. See also VLOGICAL used for late evaluation when a logical result is required, and VVALUE used for late evaluation when a numeric result is required. If the scalar variable, the array variable or the array variable element does not exist, the result is undefined. VTEXT ( !var ) -> hello VTEXT ( !array[1] ) -> 1.00 VTEXT ( !array , 2 ) -> 0.00 Errors Scalar variable may not be indexed (e.g. VTEXT (!var[1]) ). Array variable must have an index (e.g. VTEXT ( !array ) ).
Errors
C-38
C.7.
C.8.
C.9.
Querying Expressions
All expressions may be queried. Arrays are always concatenated into a single variable. Imperial values are always output as inch to variables. This preserves maximum accuracy. To output in FINCH, then the DISTANCE function must be used. In general expression do not have to be enclosed in brackets, but to be sure that other queries are not picked up by mistake then it is advisable to do so. Particular queries that could lead to confusion are those available both outside and inside expressions. These are:
Q PPOINT n Q POS or cartesian position Q ORI or cartesian orientation
The functionality may vary between outside and inside expression queries. For example, Q N 100 FROM /POSS is not valid. It must be entered as Q N 100 FROM
/POSS ).
C-39
C.10.
Units in Expressions
When a user enters a literal value then the units are not necessarily known. The units for PML variables are also unknown. Where units are known, then all internal values are set to mm. The value is then converted to the target (local) units on assignment to a variable or on output. To cope with unknown units each value remembers its original units internally. An attempt is then made to allow for unknown units across operators. The internal settings for units are as follows:
Setting NONE UNKN MM INCH SQIN CUIN Comments No units. e.g. attribute OBS. Unknown units. e.g. 10. Dist/bore attribute if units are MM, or literal e.g. 10 mm. Dist/bore attribute if units are INCH/FINCH, or literal e.g. 10. Multiply two INCH values together, or literal e.g. 10 sq in. Multiply SQIN by INCH, or literal e.g. 10 cu in.
On comparison, addition or subtraction of two values the following assumptions are made. If one of the units is unknown and the other is anything other than UNKN, then the unknown value is assumed to have the same units as the known units. A suitable conversion is then done if the known units is INCH or SQIN or CUIN. For example:
(XLEN GT 10).
If we are working in distance units of inches, it is known that XLEN is a distance value. Internally the value is held in mm, but the units are held as INCH. The units for 10 are held as unknown. On doing the comparison, the 10 is assumed to be inches and thus multiplied by 25.4 to ensure that the comparison works as expected. Special action is also taken to preserve the correct units across multiplication, division, POWER and SQRT, in particular the maintenance of SQIN and CUIN. In these situations, units of %UNKN are treated as none. For example, (10 * XLEN) is assumed to result in INCH rather than SQIN. An exception is made when a reciprocal would result from division. For example: for (10 / XLEN) we assume that the 10 is in inches rather than none.
C-40
C.11.
Precision of Comparisons
To allow for small losses of accuracy, the following tolerances are used.
Object Number Tolerance Tolerance factor of 0.000001. In other words, if the difference between two reals is not greater than 0.000001* (maximum of the two values) then the values are considered to be equal. e.g. Position Direction or Orientation (1.000001 GT 1) is FALSE as it considers 1.000001; and 1 to be equal; (1.000002 GT 1) is TRUE.
Considered to be equal if within 0.5 mm of one another. Considered to be equal if values are within 0.005.
C.12.
Undefined Values
In order to permit expressions like ((DIAM GT 200.0) OR (TYPE EQ BOX)), expressions must be able to cope with undefined values. Generally, applying an operator to one or more undefined arguments has an undefined result. Two exceptions are: the use of the AND operator with a false argument, will result in FALSE, regardless of whether or not the remainder of the arguments are defined; and OR which returns TRUE if any of its arguments is TRUE. For example, consider applying the above expression when the current element is a box. DIAM is undefined; therefore (DIAM GT 200.0) is also undefined. However, (TYPE EQ BOX) is certainly true and so the final result of the whole expression evaluates to TRUE. An undefined result occurs when: One of the operands or arguments of a function (except some cases of AND and OR) is undefined. An attribute is unavailable for the corresponding element (e.g.DIAM OF OWNER when the current element is a box). An element is undefined (e.g. OWNER when the current element is the WORLD). An attribute is unset (e.g. text attribute or UDA of length 0). A variable is undefined (e.g. VVAL(!ARC6) where !ARC6 has never been initialised). Two position constants are compared with GT, GE, LT or LE and they have no common coordinates (e.g. N10 EQ E5). If the result of the whole expression is undefined, an error occurs.
C-41
C.13.
Unset Values
A particular class of undefined values are unset values. The concept exists for attributes which are valid for a given element, but for which no value has been assigned. Typically these may be elements of an array, or word attributes. References of value =0/0 are also treated as unset. Unset values are propagated as for undefined values (except for Boolean operations- see below). Undefined values take precedence over unset. There is a specific logical function UNSET to test if a values is unset. Across comparisons, unset values are not propagated, but are treated as follows:
Operator EQ, GT, GE, LT, LE NE OR , AND When Applied to an UNSET Results in FALSE. Results in TRUE. Values are treated as FALSE.
C-42
Where primary element is referred to in this Appendix, this means an element which can be claimed. A noclaim attribute is one which can be modified without having to claim the owning element.
D.1.
Attributes
This section lists all PDMS attributes sorted alphabetically by name. For each attribute, the list gives: the full name and the minimum abbreviation for that name (shown by capitalisation of the relevant characters); the attribute's data type; the PDMS database type(s) to which it applies; a brief description of its function.
These names should be used when accessing a PDMS attribute as a member of a DBREF object:
!DBREF.Attributename Attribute Name AANGXY AANGYZ ABBREVIATION ABLENGTH ABOP ABORE ACBORE ACCESSDB ACLASS ACONNECTION ACPORT ACRF Data Type REAL REAL TEXT(8) INTEGER POSITION(3) REAL REAL TEXT WORD(100) WORD REFERENCE REFERENCE DB Type DESI DESI CATA DICT DESI DESI PROP SYST SYST DESI DESI SYST Description Angle of attached SCTN in XZ plane of joint Angle of attached SCTN in YZ plane of joint Abbreviation Minimum abbreviation length for UDA/UDET Bottom of arrive pipe Arrive bore Actual bore DB access Access control attribute class Arrive connection type Reference to real Access ACR reference attribute
D-1
Attribute Name ACRGROUP ACRLI ACRMESSAGE ACSTYF ACTLENGTH ADEGREES ADEND ADESPARAM ADIRECTION ADMLOCATION ADPRFARRAY ADUUID AGRADIENT AHLISTTYPES AIRTIGHT AKEY AKEYLIST ALEN
Data Type REF(5000) REF(300) TEXT(120) REFERENCE REAL REAL REAL REAL(100) DIRECTION(3) REFERENCE REF(500) TEXT(120) REAL WORD(200) TEXT(120) WORD WORD(20) INTEGER
DB Type SYST SYST SYST PADD DESI PADD CATA DESI DESI SYST PADD GLOB DESI ALL DESI PADD PADD COMP
Description List of ACRs within an ACRSET Access control user assigned ACRs Access control user defined message Annotation change style reference Actual length Orientation Addition factor - unit definition (see MULT) Design parameters of attached element Arrive direction Currently administered location ADP reference array PDMS project global UUID version string Arrive p-point gradient List of actual types in owning hierarchy Air tight control method Attribute key Attribute key list (for radial dimensions) Comparator: number of words used for an attribute array Vertical alignment Allowance Angle Attached neutralpoint of joint (steelwork) Attached neutral point of section (steelwork) Answer, when a real is expected ADP annotation symbol library reference Analysis type Arrive p-point outside diameter
D-2
Attribute Name APARAM APOFFSET APOSITION APPDATE APPLICATION APPROVER APROPERTY ARCTOLERANCE AREA ARNO ARRIVE ASCODE ASTABLE ASUBTENDED AT ATEXT ATLENGTH ATLST ATNAME ATOP ATTCONNECTION ATTLIST ATTMDC ATTMOD ATTMODC ATTMODLIST ATTNAME ATTRULE ATTYPE AUTHOR AUXLOCATION
Data Type REAL(100) REAL(2) POSITION(3) TEXT(12) TEXT(20) TEXT(28) REAL INTEGER INTEGER INTEGER INTEGER TEXT WORD(15) REAL POSITION(3) TEXT(120) REAL WORD(50) WORD POSITION(3) WORD WORD(500) WORD (500) LOGICAL LOGICAL WORD (500) TEXT(32) TEXT(1000) WORD TEXT(28) TEXT (3)
DB Type DESI PADD DESI PADD PROP PADD PROP PADD DESI PADD DESI PADD PADD PADD DESI PADD PADD DESI DESI CATA DESI DESI ALL ALL ALL ALL ALL DESI DESI DESI PADD TRAN
Description Attached catalogue parameters Leaderline attachment point Arrive position Date of approval Application Approver Spot value of property A Arc tolerance Area Picture directory area number Arrive p-point Annotation selection code ADP association table Angle subtended Position Unintelligent text string Length of arrive implied tube Access type list Attribute name Top of arrive pipe Attached connection type List of attributes List of attributes modified since comparison date True if attribute modified this session True if attribute modified since comparison date List of attributes modified since given session Attribute name expression for ATTRRL elements Attribute rule expression for ATTRRL elements Attachment type Author Previous location of command
D-3
Description Comparator: part of attribute held Table linking AWELD elements to piping components Return reference to AWELD element Weld numbers of attached welds Default azimuth value (in DESIGN) Azimuth attractor factor Azimuth limits (min/max) Azimuth set flag - ignore azimuth values if False Before/After indicator Beta angle Array of bounding Boundary Formers Backward copy reference Bolt diameter Default bearing value (in DESIGN) Bearing attractor factor Bearing limits (min/max) Bearing set flag - Ignore bearing values if False Out of plane flexibility factor for bends Backface pen Reference to real Boundary Former Bolt items Bolt item lengths Bolt joint DRAFT user defined base symbol/SKEY name Bolt length Auto-blanking flag Bolt reference array Bolt method Bolt reference Auto-blanking margin
AWDREF AWELDS AZIDEFAULT AZIFACTOR AZILIMITS AZISETFLAG BAINDICATOR BANGLE BBFF BCPYREF BDIAMETER BEADEFAULT BEAFACTOR BEALIMITS BEASETFLAG BFLEXIBILITY BFPEN BFRF BITEMS BITLENGTH BJOINT BKEY BLENGTH BLNK BLRFARRAY BLTMETHOD BLTREFERENCE BMARGIN D-4
REF(20) INTEGER(20) REAL REAL REAL(2) LOGICAL TEXT REAL REF(500) REFERENCE TEXT(1000) REAL REAL REAL(2) LOGICAL REAL INTEGER REFERENCE WORD(25) REAL(25) TEXT TEXT(4) REAL(200) LOGICAL REF(10) TEXT(3) REFERENCE REAL
DESI DESI DESI DESI DESI DESI PADD DESI DESI SYST CATA DESI DESI DESI DESI PROP PADD DESI CATA CATA DESI PADD CATA PADD CATA CATA CATA PADD
Attribute Name BMAXIMUM BOLTPARTNUMBERS BORE BPOFFSET BPROPERTY BRACKETS BRCOG BRCONNECT BRICOG BRIWEIGHT BRLEG BRLOCK BRWCOG BRWEIGHT BRWICOG BRWIWEIGHT BRWWEIGHT BSELECTOR BSFNAME BSPECIFICATION BSRF BSRFARRAY BSTATUS BTEXT BTHKNESS BTLST BTOLERANCE BTOTAL BTYPE BUFSIZE BUILT BULGEFACTOR BUNITS
Data Type INTEGER INTEGER(20) REAL REAL(4) REAL TEXT POSITION(3) REF (5000) POSITION(3) REAL REF (5000) INTEGER POSITION(3) REAL POSITION(3) REAL REAL TEXT(3) TEXT(73) REFERENCE REFERENCE REF(500) INTEGER TEXT(120) TEXT(1000) WORD(50) REAL INTEGER TEXT(1000) INTEGER LOGICAL REAL WORD
DB Type ISOD DESI DESI PADD PROP PADD DESI DESI DESI DESI DESI DESI DESI DESI DESI DESI DESI DESI PADD CATA PADD PADD DESI PADD CATA DESI PROP DESI CATA SYST DESI DESI PADD CATA
Description Maximum bend number in current spool drawing Spooling bolt part numbers Pipe bore Leader bend point offset Spot value of property B Brackets code Branch centre of gravity Branch member connections Branch insulated centre of gravity Branch insulated weight Branch members on the same leg Branch positioning status code used by ROUTER Branch wet centre of gravity Branch weight Branch wet insulated centre of gravity Branch insulated wet weight Branch wet weight Bolt selector Backing sheet filename Bolt specification Backing sheet reference ADP backing sheet list Branch status code used by ROUTER Annotation text string Bolt thickness Boundary Former type list Bore tolerance Bolt joint total Bolt type Preferred buffer size Built/Unbuilt flag Bulge factor Bore units
D-5
Attribute Name BURF BVISIBILITY CAREA CASREFERENCE CATMOD CATREFERENCE CATTEXT CATYPE CCENTRE CCLASS CCOLOUR CCONNECTION CDETAIL CDPLIST CDPROPERTY CDRG CEND CERFARRAY CFDPROPERTY CFFARRAY CFLOW CFRARRAY CHAMFERS CHARSET CHEIGHT CHOSHT CHPEN CIWEIGHT
Data Type REFERENCE LOGICAL TEXT(12) REFERENCE INTEGER REFERENCE TEXT' (725) INTEGER INTEGER INTEGER INTEGER WORD REFERENCE WORD(100) REAL TEXT(24) TEXT REF(500) REFERENCE REF(500) TEXT(4) REF(10) REAL(2) INTEGER REAL REAL INTEGER REAL
DB Type DESI CATA DESI DESI PROP DESI CATA DESI DESI PROP DESI DESI DESI DESI CATA DESI DESI DESI CDESI DESI DESI DESI COMP DESI PADD SYST PADD PADD PADD PROP
Description Reference to real Building Element Bottom visibility flag ISODRAFT Compipe attribute Case reference Catalogue geometry modified Catalogue reference Concatenation of detailing and material texts Card type Cost centre Cost class Colour (in Catalogue) Connection type (structural p-line) Catalogue detail List of valid current design properties Current design dataset property ISODRAFT Compipe attribute Connection at other end of Cref (Head or Tail) Array of faces generated Current design dataset property Array of faces generated COMPARATOR: direction of flow at connection Cofitting reference array for Pfittings Chamfer lengths Character set Character height Crosshairs overshoot Crosshairs pen Total insulation weight
D-6
Description ISODRAFT end condition key DB claim Centreline flag Centreline flag COMPARATOR: id of item/link this connection belongs to Branch centreline length User id of user claiming element Centreline mode: 1=CL Off; 2=CL On COMPARATOR: points to connected item or link Centreline pen Actual circulation list reference Component reference COMPARATOR/DESIGNMANAGER exclusion text attribute COMPARATOR: name of connection point COMPARATOR: connection name of target connection point ISODRAFT Compipe attribute Comment Command number OUTCOM reference at relevant site Command issued by user Access control logical condition Number of copies Corrosion thickness Counter COMPARATOR: pointer to its owner COMPARATOR: pointer to Sheet element Catalogue Parameters D-7
CNAME CNODE
TEXT(4) TEXT(4)
COMP COMP
CNUMBER COMMENT COMMTYPE COMUID COMSTR CONDITION COPIES CORALLOWANCE COUNT COWNER CPAID CPARAM
TEXT(22) TEXT(120) TEXT REFERENCE TEXT INTEGER(500) INTEGER REAL INTEGER REFERENCE REFERENCE REAL(100)
DESI CATA TRAN TRAN TRAN SYST PADD PROP PADD COMP COMP DESI
Attribute Name CPEN CPFARRAY CPLOT CPOFFSET CPOSITION CPROPERTY CPULL CPUTWIST CRCY CREFERENCE CRFARRAY CRINFORMATION CRITERIA CRSF CSESSDB CSFBREAK CSIZE CSPACING CSPC CSPEC
Data Type INTEGER REF(500) TEXT(120) REAL(2) POSITION(3) REAL REAL(3) REAL(3) INTEGER REFERENCE REF(10) TEXT(150) INTEGER(250) REFERENCE TEXT(120) LOGICAL TEXT(120) REAL TEXT(6) TEXT(120)
DB Type PADD DESI DESI PADD DESI PROP PROP PROP SYST DESI DESI ALL PADD PADD SYST DESI COMP PADD DESI COMP
Description Pen for internal columns Array of ports pointed to Plot (in catalogue) Leaderline connection point wrt text origin Conditioning position for curve geometry Spot value of property C Cold pull - translational Cold pull - twist Concurrency Connection reference Connection reference array DB creation information Selection criteria (used to define tag & rep. rules) Change ruleset reference Session comment Spooling marker attribute for components COMPARATOR: size of Sheet element Character spacing factor ISODRAFT Compipe attribute COMPARATOR: specification of connection point Catalogue standard Constraint reference Card text Attached connection type End connection type Owning connection type Connection type Start connection type Current DBs Curve fitting code: 1=default; 2=cubicfit True current location Curve type
CSTANDARD CSTREFERENCE CTXT CTYATTACHED CTYEND CTYOWNING CTYPE CTYSTART CURDBS CURFIT CURLOCATION CURTYPE
TEXT(120) REFERENCE TEXT(120) WORD WORD WORD WORD(2) WORD REF(300) TEXT REFERENCE WORD
DESI DESI PROP DESI CATA DESI CATA CATA DESI SYST PADD SYST DESI
D-8
Description Cutback Full name of element, truncated to specified number of characters Full name of element, without leading slash, truncated to specified number of characters Cutting plane normal Total component weight Database access True if DAC allows element to be claimed True if DAC allows element to be created True if DAC allows element to be deleted True if DAC allows element to be dropped True if DAC allows element to be issued True if DAC allows attribute of element to be modified Reference of associated dataset area Design area reference Date Date command acknowledged Date command completed Date command created Date format Date command stopped Date command stopped Date command reply acknowledged Date command stopped Date command replied Date command last stalled Date command sent DB access List of DBs allocated to location
CUTNMN
TEXT(120)
ALL
CUTPLANE CWEIGHT DACCESS DACCLA DACCRE DACDEL DACDRO DACISS DACMOD DAREF DARREF DATE DATEAKNOWLEDGED DATECM DATECREATED DATEFORMAT DATEND DATERD DATERK DATERN DATERP DATESL DATESNT DBACCESS DBALLOCATION
DIRECTION(3) REAL TEXT LOGICAL LOGICAL LOGICAL LOGICAL LOGICAL LOGICAL REFERENCE REFERENCE TEXT(12) DATE DATE DATE TEXT DATE DATE DATE DATE DATE DATE DATE TEXT REF(8000)
DESI PROP SYST ALL ALL ALL ALL ALL ALL DESI PADD MANY TRAN TRAN TRAN PADD TRAN TRAN TRAN TRAN TRAN TRAN TRAN ALL GLOB
D-9
Attribute Name DBCLAIM DBCNTL DBDEPTH DBEXNO DBF DBFILENAME DBFNUMBER DBLC DBLS DBNAME DBNUMBER DBOTTOM DBREFERENCE DBSESSION DBSHIERARCHY DBSLEVEL DBSLIST DBSSTP DBSTF DBTYPE DBVARIANT DBWRITE DCLAIM DCODE DCONNECTION DCSTYF DDDFAULT DDEFAULTS DDEGREES DDESPARAMETERS
Data Type TEXT LOGICAL INTEGER INTEGER REFERENCE TEXT INTEGER REF(1000) REF(1000) TEXT INTEGER REAL REFERENCE INTEGER REF(5000) REF(5000) REF(5000) REF (8000) REFERENCE WORD LOGICAL LOGICAL TEXT TEXT WORD REFERENCE TEXT(1000) REAL(3) REAL REAL(100)
DB Type ALL ALL ALL ALL SYST ALL ALL GLOB SYST ALL ALL DESI PADD ALL ALL SYST SYST SYST SYST SYST ALL ALL ALL SYST PADD DESI PADD CATA DESI PADD DESI
Description DB claim True if element is in a control DB Database depth within hierarchy DB extract number Database reference attribute DB filename DB file number List of LOCs belonging to a DB List of DBs belonging to MDB DB name DB number Bottom diameter DB reference Last DB session Database hierarchy within a Dbset Databases at a specific level within a Dbset Databases within a Dbset DBs in a stamp Database set reference DB type (DESI, CATA etc.) True if element is in a variant DB True if element is in a writable DB Database claim mode Direction code Design p-point connection type Design change style reference Default design data value Port distance flexibility defaults Dimension line angle Design parameters as distance
D-10
Attribute Name DDIRECTION DDNAME DDNMXCOORD DDNMXYCOORD DDNMYCOORD DDNX DDPROPERTY DDRFARRAY DEALAL
Data Type DIRECTION(3) REFERENCE REAL REAL (2) REAL TEXT(120) TEXT(1000) REF(10) LOGICAL
DB Type DESI PADD PADD PADD PADD PADD CATA DESI GLOB
Description Design p-point spherical direction Design element reference DDNM X-position DDNM XY-position DDNM Y-position Design element as text (see DDNAme) Design data property value (in Design) Array of default design datasets (for template) Indicates all DBs from current local are being deallocated (DBALL element) Indicates current locations where db is being deallocated (DBLOC element) Decimal places Default Delivery designation flag Easting of delta-position (in STRUC) Northing of delta-position (in STRUC) Delta-position (in STRUC) Upping of delta-position (in STRUC) Spot value of density Number of integers in argument list Default value of local design property Commands on which this is dependent List of local design properties Local design property value Commands on which this is dependent Derived cut length Derived length
DEALDB
REF ARRAY
GLOB
DECPLACES DEFAULT DELDSG DELPE DELPN DELPOSITION DELPU DENSITY DEPCOUNT DEPDEFAULT DEPEND DEPLIST DEPROPERTY DEPTYPE DERCUT DERLEN
INTEGER REAL WORD REAL REAL POSITION(3) REAL REAL INTEGER TEXT(250) REF (10) WORD(100) TEXT(250) REF (10) REAL REAL
CATA CATA DESI DESI DESI DESI DESI PROP TRAN DESI TRAN DESI DESI TRAN DESI DESI
D-11
Attribute Name DESCRIPTION DESGEO DESLOCATION DESPARAMETERS DETAIL DETREFERENCE DFFLEXIBILITY DFLAG DFLFACTORS DFLT DFLTA DFLTB DFLTC DFNM DFONT DFUNITS DIAMETER DIMENSION DIMPOSITION DIRECTION DISPLACEMENT DKEY DLEVEL DLFG DLIMIT DLPEN DMFARRAY DMFLEXIBILITY DMSPACING DMTXT D-12
Data Type TEXT(120) REF(5000) TEXT (3) REAL(100) LOGICAL REFERENCE REAL(6) TEXT REAL(3) TEXT(120) TEXT(120) TEXT(120) TEXT(120) TEXT(120) INTEGER REFERENCE REAL LOGICAL POSITION(3) DIRECTION(3) REAL(3) WORD INTEGER TEXT REAL(6) INTEGER REF(2) REAL(9) REAL TEXT(120)
DB Type MANY CATA TRAN DESI DESI` DESI CATA PROP PADD PROP DICT PADD PADD PADD DESI PADD CATA MANY PADD PADD PADD PROP CATA PADD PADD PROP PADD DESI PROP PADD PADD
Description Description Design geometrical dependencies Destination location for the command Design parameters Detail flag Detailing text reference Displacement force flexibility Radial dimension type flag Translational spring values Default Defaults for type 1 annotation special attribute Defaults for type 2 annotation special attribute Defaults for type 3 annotation special attribute Document filename Dimension text font Default unit Diameter DRAFT user-defined symbol dimension flag Derived 3D dimension position Direction Translation displacements Data key Drawing level Linear/angular dimension line flag Displacement limit Dimension line pen ISODRAFT reference dimension attribute Displacement moment flexibility Lower limit to spacing between parallel dimensions Dimension text
Description ISODRAFT reference dimension attribute Density Document reference Return reference from DESIGN element to DOCITM element Dimension line offset Downing of position Design point bore Design point connection type Number of valid design points Design point direction ISODRAFT dynamic detail plotfile name Design point gradient ISODRAFT dynamic detail grid reference List of valid design points Dimension line/arc position Design point position Parameterised property expression (default) Design p-pointset reference List of visible design points Radial offset DRWG revision array Drawing priority (defines how to draw SCTN) Plane normal at end of SCTN/GEVSEC Plane normal at start of SCTN/GEVSEC Derived position (steelwork) Easting of derived position Northing of derived position Upping of derived position Old SPOOLER drawing reference Drawing title Design code D-13
DOFFSET DOWN DPBORE DPCONNECTION DPCOUNT DPDIRECTION DPFNAME DPGRADIENT DPGRIDREF DPLST DPOSITION DPPS DPROPERTY DPSF DPVISIBILITY DRADIUS DREVAY DRGPRIORITY DRNEND DRNSTART DRPS DRPSE DRPSN DRPSU DRRF DRTITLE DSCODE
REAL REAL REAL WORD INTEGER DIRECTION(3) TEXT(120) REAL INTEGER INTEGER(100) POSITION(2) POSITION(3) TEXT(1000) REFERENCE INTEGER(100) TEXT(1000) REF(50) INTEGER DIRECTION(3) DIRECTION(3) POSITION(3) REAL REAL REAL REFERENCE TEXT(120) TEXT(120)
PADD DESI PADD DESI DESI DESI DESI DESI DESI DESI DESI PADD DESI CATA DESI DESI CATA PADD DESI DESI DESI DESI DESI DESI DESI DESI PADD DESI
Attribute Name DSESSDB DSETFLAG DSPLDG DSTYLE DTANGLE DTCHEIGHT DTERMINATORS DTFLAG DTITLE DTLHEIGHT DTOFFSET DTOP DTPEN DTRADIUS DTREFERENCE DTULINE DTXRTEXT DTXSTEXT DTXTTEXT DUNION DUNITS DUTY DVFLAG DVSCLIST DVTHRESHOLD DWIDTH DX DXL DY DYL ECCENTRICITY ECCJOINT ECLASS
Data Type TEXT(120) LOGICAL(3) REF(100) TEXT TEXT REAL TEXT TEXT TEXT(32) REAL REAL(2) REAL INTEGER REAL REFERENCE TEXT TEXT(120) TEXT(120) TEXT(120) INTEGER WORD TEXT(120) LOGICAL REAL(500) REAL TEXT(1000) TEXT(1000) TEXT(1000) TEXT(1000) TEXT(1000) POSITION(3) POSITION(3) WORD(100)
DB Type SYST DESI ISOD PADD PADD PADD PADD PADD CATA PADD PADD DESI PADD PADD PADD CATA PADD DESI DESI DESI CATA DESI CATA DESI PADD PADD PADD CATA CATA CATA CATA CATA DESI DESI SYST
Description Date of session Displacement limits set flag: ignore values if False Used internally to help with updates Radial dimension style flag Dimension text angle flag Dimension text character height Dimension terminator code Dimension text radius flag Data title Dimension text letter height Dimension text offset Top diameter Dimension text pen Dimension text radius Dataset reference Dimension text underlining flag RTEXT of detailing text STEXT of detailing text TTEXT of detailing text DRAFT element union detail flag Distance units Duty ADP detail views flag ADP detail views allowable scale list ADP detail views threshold Width offset Cartesian X offset Incremental X length Cartesian Y offset Incremental Y length Eccentricity (steelwork) Eccentricity of joint (steelwork) Access control element class
D-14
Attribute Name EFACTOR EFORCE ELECRC ELECRE ELEDEC ELEDEL ELELIST ELEMOC ELEMODIFIED EMOMENT ENDANGLE ENDTIM ERECTION ERELEASE ETEXT EVOLUME EXBTEXT EXCLFR EXCLHI EXCLTO EXDMTXT EXECA EXECB EXFILE EXMOC EXMOD EXNCLH EXPANSION
Data Type REAL REAL(3) LOGICAL LOGICAL LOGICAL LOGICAL WORD(200) LOGICAL LOGICAL REAL(3) REAL DATE INTEGER INTEGER TEXT(120) REAL(6) TEXT(180) LOGICAL REF(5000) LOGICAL TEXT(180) TEXT(120) TEXT(120) INTEGER LOGICAL LOGICAL REF(5000) REAL
DB Type PROP DESI ALL ALL ALL ALL DICT ALL ALL DESI DESI TRAN DESI DESI PADD DESI PADD ALL ALL ALL PADD SYST SYST PADD ALL ALL ALL PROP
Description E-factor End force vector components True if created since comparison date True if created since given session True if deleted since comparison date True if deleted since given session Element list True if modified since comparison date True if element modified since given session End moment components End angle Date command stopped Erection class End releases (packed) Example text Enclosing box volume in local coordinates Expanded annotation text True if element claimed from this extract Elements in lower hierarchy claimed to this extract True if element claimed to this extract Expanded dimension text Exec file after DB propagation Exec file before DB propagation Extract file number True if element claim modified in this extract True if element modified in this extract Elements in lower hierarchy not claimed to this extract Spot value of expansion coefficient D-15
Description Expanded projection line text True if element or nonprimary descendants claimmodified in this extract True if element or nonprimary descendants modified in this extract Extract ancestors Extract children Extract descendants Extract family Location extract number range, high limit Time of execution for command Location extract number range, low limit Extract master Extract number Extract owner Extract claiming element End load point in Section Skew angle for font file Focus construction area Face code Friction coefficient Forward copy reference Formatted local design property default value Formatted local design property value Focus isometric drawing number Front-face pen Reference to boundary faces DB filename DRAFT user-defined symbol fill flag File number The inputter. Fire resistance
EXPMOD
LOGICAL
ALL
EXTALS EXTCLS EXTDESCENDANTS EXTFAMILY EXTHIGH EXTIME EXTLOW EXTMASTER EXTNO EXTOWNER EXTRCLAIM EZDISTANCE FAANGLE FAREA FCODE FCOEFFICIENT FCPYREF FDEPDEFAULT FDEPROPERTY FDRAWING FFPEN FGRF FILENAME FILL FINO FINPUTBY FIRESISTANCE
REF(8191) REF(8191) REF(8191) REF(8191) INTEGER INTEGER (3) INTEGER REFERENCE INTEGER REFERENCE TEXT(120) REAL INTEGER TEXT(5) TEXT REAL(3) REFERENCE TEXT(250) TEXT(250) TEXT(32) INTEGER REF(500) TEXT LOGICAL INTEGER TEXT(120) REAL
SYST SYST SYST SYST GLOB TRAN GLOB SYST SYST SYST ALL DESI SYST DESI PADD PROP SYST DESI DESI DESI PADD DESI SYST PADD SYST CATA DESI
D-16
Attribute Name FISSUE FIXITY FLENAME FLIMIT FLNN FLOWDIRECTION FLUREFERENCE FLWARROW FNAME FNMA FNMB FNTDIRECTORY FONT FORCE FOREIGN FPEN FPLINE FPONUMBER FPRDEFAULT FPROPERTY FRADIUS FRDRAWING FREFERENCE FREVISION FRPOSITION FRSTWORLD
Data Type TEXT(15) TEXT(12) TEXT(73) REAL(3) TEXT(120) WORD REFERENCE LOGICAL TEXT(32) TEXT(32) TEXT(32) TEXT(32) INTEGER REAL(3) TEXT INTEGER TEXT(32) INTEGER TEXT(250) TEXT(250) REAL TEXT(32) REFERENCE TEXT(4) POSITION(3) REFERENCE
DB Type CATA DESI PADD PROP ALL DESI CATA DESI PADD SYST SYST SYST SYST PADD PROP SYST PADD DESI DESI DESI DESI DESI PADD DESI DESI DESI PADD ALL
Description Current pipe specification issue. Structural fixity External filename Force limit Full name of element, without leading slash Flow direction Fluid reference DRAFT user-defined symbol: flow arrow Filename Standard font file name Bold font file name Font directory Text font Force vector DB foreign/local Fill pen Focus process line number From port number Formatted property default Formatted property value from dataset Fillet radius Focus reference drawings Fitting reference Focus isometric drawing revision Eye point Reference of first World of given DB type in current MDB Status setting used in VPRM integration Formatted current design property default value Formatted current design property value
FSTATUS
TEXT(15)
FTCDDEFAULT FTCDPROPERTY
TEXT(250) TEXT(250)
D-17
Attribute Name FTERMINATORS FULLNAME FULLTYPE FUNCTION FUNIT GAPS GBOX GCOFG GEODEP GEOM GFILE GLBVERSION GMOFI GMREFERENCE GPICT GRADE GRADIENT GRPRF GSRFAREA GSTREFERENCE GTXT GTYPE GVOLUME GWEIGHT HARDTYPE HBORE HCONNECTION HDIRECTION HDMFARRAY HDMTYPE HEAD HEIDEFAULT HEIFACTOR D-18
Data Type TEXT TEXT(120) TEXT TEXT(120) INTEGER REAL(30) REAL POSITION(3) REF(5000) INTEGER TEXT(120) TEXT(120) REAL(9) REFERENCE INTEGER REAL REAL REFERENCE REAL REFERENCE TEXT(120) WORD REAL REAL WORD REAL WORD DIRECTION(3) REF(2) WORD(2)
DB Type PADD ALL ALL MANY SYST PADD PADD DESI CATA DESI COMP GLOB DESI CATA COMP DESI DESI GLOB DESI CATA DESI MANY DESI DESI ALL DESI DESI DESI DESI DESI
Description First dimension terminator code Full name of element Full type of element Function FUNIT Projection line gap array Box gap Gross centre of gravity Direct geometrical dependencies Geometry modified COMPARATOR: filename used for graphics storage GLOBAL version string Gross moments of inertia Geometry set reference COMPARATOR: picture number for this sheet Steel grade Gradient of implied tube Reference to group (owner of location) Gross surface area Structural geometry set reference Text storing rule to generate Inventory List Generic type Gross volume Gross weight Hard type of the element Head bore Head connection type Head direction ISODRAFT reference dimension attribute ISODRAFT reference dimension attribute Synonym of HREFerence Default height (in DESIGN) Height attractor factor
REAL REAL
DESI DESI
Attribute Name HEIGHT HEILIMITS HEISETFLAG HEND HHBOP HHBORE HHCONNECTION HHDIRECTION HHGRADIENT HHOD HHPOSITION HHTOP HIERARCHY HISTORY HLISTTYPES HMAVERAGE HMMAXIMUM HMMINIMUM HPOSITION HPOSE HPOSN HPOSU HPREFERENCE HREFERENCE HRELATIVE
Data Type REAL REAL(2) LOGICAL TEXT POSITION(3) REAL WORD DIRECTION(3) REAL REAL POSITION(3) POSITION(3) REF(5000) INTEGER(120) WORD(200) REAL REAL REAL POSITION(3) REAL REAL REAL REFERENCE REFERENCE LOGICAL
DB Type DESI PADD DESI DESI DESI DESI DESI DESI DESI DESI DESI DESI DESI DESI ALL ALL DESI DESI DESI DESI DESI DESI DESI DESI DESI DESI
Description Height Height limits (min/max) Height set flag: ignore height values if False Connection at other end of Href (head or tail) Bottom of hanger head Hanger head bore Hanger head connection type Hanger head direction Hanger head gradient Hanger head outside diameter Hanger head position Top of hanger head Structural connections History of sessions in which modifications were made List of all possible types in owning hierarchy Average humidity Maximum humidity Minimum humidity Head position Easting of head position Northing of head position Upping of head position Head point reference Head reference Branch member head relative flag, used by ROUTER Hatch ruleset reference Hanger specification Head rod specification Head tube specification Hatch style reference Bottom of hanger tail Hanger tail bore Hanger tail connection type
D-19
Attribute Name HTDIRECTION HTGRADIENT HTOD HTPOSITION HTTOP HTYPE HUBRF HWRF ICATREFERENCE ICON ICONN IDETAIL IDLNAME IDLX IDNAME IDNX
Data Type DIRECTION(3) REAL REAL POSITION(3) POSITION(3) WORD REFERENCE REFERENCE REFERENCE TEXT(120) INTEGER REFERENCE REFERENCE TEXT(120) REFERENCE TEXT(120)
DB Type DESI DESI DESI DESI DESI DESI GLOB DESI DESI CATA GLOB DESI PADD PADD PADD PADD
Description Hanger tail direction Hanger tail gradient Hanger tail outside diameter Hanger tail position Top of hanger tail Hanger type Reference to hub location Head working point, used by ROUTER Insulation catalogue reference Icon Comms connection type: 0=online; 1=offline Insulation detail text reference Drawlist name reference Drawlist name as text (see IDLName) Design data or catalogue component name Design data or catalogue component name as text (see IDNA) Insulation detail RTEXT Insulation detail STEXT Insulation detail TTEXT Insulation material text reference Insulation material XTEXT Insulation Material YTEXT Insulation Material ZTEXT Number of integers in argument list COMPARATOR: user who imported transfer file Array of integers for ROUTER internal points Input command status COMPARATOR: date of import Client info: project name Comment: project message
IDRTEXT IDSTEXT IDTTEXT IMATREF IMXTEXT IMYTEXT IMZTEXT INARCOUNT INBY INCO INCSTATE INDATE INFA INFB D-20
TEXT(120) TEXT(120) TEXT(120) REFERENCE TEXT(120) TEXT(120) TEXT(120) INTEGER TEXT(32) TEXT(2000) INTEGER TEXT(32) TEXT(119) TEXT(119)
DESI DESI DESI DESI DESI DESI DESI TRAN COMP DESI TRAN COMP SYST SYST
Attribute Name INREFERENCE INRFARRAY INSCHEDULE INSL INSULATION INTARGUMENTS INTHICKNESS INTYPE INVFARRAY INVISIBLE IPARAM IPRESSURE IRNO ISEXAP ISEXCP ISEXMP ISEXOP ISNAMED ISOLT ISPECIFICATION ISPREF ISPRIMARY ISSUED ISWORKINGEXTRACT ITLENGTH ITLN ITMTBL
Data Type REFERENCE REFERENCE TEXT(120) LOGICAL LOGICAL INT (10000) REAL WORD REF(500) LOGICAL REAL(30) REAL TEXT LOGICAL LOGICAL LOGICAL LOGICAL LOGICAL LOGICAL REFERENCE REFERENCE LOGICAL LOGICAL LOGICAL REAL REFERENCE INTEG(2000)
DB Type DESI DESI DESI PADD PADD TRAN DESI DESI DESI DESI DESI PROP SYST SYST SYST SYST SYST ALL COMM DESI DESI SYST ISOD SYST DESI COMP ISOD
Description Insulation reference Array of inventory items Inspection schedule DRAFT user-defined symbol Insulation flag Insulation flag Arguments for command Insulation thickness Inventory item type Array of inventory items Visibility state Parameters of the insulation catalogue component Internal pressure ISO-IR number True if extract ancestry is primary here True if all extract children are primary here True if extract master is primary here True if extract owner is primary here True if element is named Location isolation flag Insulation specification reference Insulation specification component reference True if database is primary at this location Logical flag - true if drawing has been issued True if a working extract Length of implied tube COMPARATOR: (pipe)line of the item Table linking AITEMS elements to piping components COMPARATOR: owner of the item
ITOWNER
REFERENCE
COMP
D-21
DB Type COMP
Description COMPARATOR: points to sheet to which element belongs Position of implied tube COMPARATOR: revision status of the item COMPARATOR: size of the item COMPARATOR: specification of the item COMPARATOR: (pipe)line specification Table linking IWELD elements to piping components True if Section position dominates a connection Joining line Joining line end Joining line start Maximum joint number in current spool drawing Joint number Table linking IJOINT elements to piping components Return reference from ppoint to IJOINT element Old SPOOLER joint number End joint Old SPOOLER joint number prefix Start joint Justification p-line Justification Access control on/off switch Date of last modification Local axes Bottom of leave pipe Leave bore Load case number Chain flag Access control claim flag
JNTREF JNUMBER JOIEND JOIPREFIX JOISTART JUSLINE JUSTIFICATION LACR LASTMODIFIED LAXES LBOP LBORE LCASE LCHAIN LCLAIM
REFERENCE INTEGER(2) REFERENCE WORD(2) REFERENCE WORD TEXT LOGICAL TEXT(120) ORIENT(3) POSITION(3) REAL INTEGER LOGICAL LOGICAL
DESI DESI DESI DESI DESI DESI PADD SYST ALL DESI DESI DESI DESI PADD SYST
D-22
Attribute Name LCLM LCLMH LCNFARRAY LCONNECTION LCTROLLED LDIRECTION LDISP LDPROPERTY LEAVE LEND LEVEL LFDPROPERTY LFPEN LFRAME LGRADIENT LHEAD LHEIGHT LHIDE LIMITS LINETYPE LINIT LINKREF LINKS LINKSN LINKXREF LISSUE LISTTYPES LKIN LKLN
Data Type LOGICAL LOGICAL REF(500) WORD LOGICAL DIRECTION(3) LOGICAL REAL INTEGER LOGICAL INTEGER(2) REFERENCE INTEGER LOGICAL REAL LOGICAL REAL LOGICAL REAL(6) WORD LOGICAL REFERENCE REF(5000) INTEGER REF(1000) LOGICAL WORD(60) REFERENCE REFERENCE
DB Type ALL ALL DESI DESI SYST DESI DESI DESI DESI DESI CATA DESI DESI PADD PADD DESI DESI PADD CATA PADD CATA DESI GLOB PADD DESI SYST PADD DESI ALL COMP COMP
Description True if element is claimed True if element and hierarchy are claimed Elements with local names stored on template Leave connection type Controlled DB flag Leave direction Display property flag for design datasets if True Local design dataset property Leave p-point Line end Drawing level Local design dataset property Label frame pen Frame flag Leave p-point gradient Logical head flag Letter height Hide property flag for catalogue datasets if true Volume of interest Line type Location initialisation flag Link reference Linked elements Linked sessions on parent extract Referencing elements Logical flag - true if drawing has been issued List of all possible member types COMPARATOR: points to incoming connection COMPARATOR: (pipe)line to which link belongs
D-23
Attribute Name LKOUT LKSIZE LKSPEC LLCLEARANCE LLEADERLINE LLISTTYPES LLPEN LMIRROR LNAME LNFARRAY LNKRX LNKRY LNKWV LNLST LNSPC LOCATION LOCID LOCK LOCRF LODIAM LOFFLINE LOGFN LOGLV LOGMS LOHEIGHT LOOSE LPOSITION LREFERENCE LSHAPE LSPACING D-24
Data Type REFERENCE TEXT(120) TEXT(120) REAL LOGICAL WORD(500) INTEGER LOGICAL TEXT(20) REF(480) REFERENCE REFERENCE REFERENCE TEXT(1000) TEXT(120) TEXT(120) TEXT(3) LOGICAL REFERENCE REAL LOGICAL TEXT(32) INTEGER LOGICAL REAL LOGICAL POSITION(3) REFERENCE TEXT REAL
DB Type COMP COMP COMP PADD PADD ALL PADD DESI DESI DESI GLOB GLOB GLOB DESI COMP PADD GLOB ALL SYST GLOB DESI DESI SYST SYST SYST DESI DESI DESI DESI PADD PADD
Description COMPARATOR: points to outgoing connection COMPARATOR: size of link COMPARATOR: specification of link Leader line clearance Leader line flag List of all possible types in member hierarchy Label leader pen True if mirroring required Local name as stored in template Hidden reference array for linked vertices Reference to first location of a link Reference to second location of a link Link weighting value List of local names for current template COMPARATOR: (pipe)line specification Location Location identifier True if element is locked Location reference Leave p-point outside diameter Offline flag Comms log file name Comms log file level of detail Comms log file active/inactive flag Ploop height - from first Ploop in owning Panel Loose Leave position Link reference Leader shape code Text line spacing factor
Attribute Name LSROD LSTRESSED LSTUBE LTAIL LTERMINATORS LTLENGTH LTOP LVARIANT LVISIBILITY LVOLUME MATREFERENCE MATXT MAXANSWER MAXBORE MAXDEPTH MAXMIN MAXTRY MAXUSERS MBACK MCOUNT MDBCLS MDBLS MEMBERS MEMLINE MESNUMBER MESQUALIFIER MESREF MFARRAY MFLG MIDPOINT MLIMIT MLNPEN MODATT
Data Type REFERENCE LOGICAL REFERENCE LOGICAL TEXT REAL POSITION(3) LOGICAL LOGICAL REAL(6) REFERENCE REFERENCE REAL REAL INTEGER REAL(2) INTEGER INTEGER REF(10000) INTEGER REF(1000) REF(1000) REF(10000) WORD INTEGER INTEGER REFERENCE WORD(50) LOGICAL POSITION(3) REAL(3) INTEGER LOGICAL
DB Type DESI DESI DESI DESI PADD DESI DESI SYST PADD DESI CATA DESI CATA CATA DESI ALL DESI TRAN SYST ALL ALL SYST SYST ALL DESI TRAN TRAN TRAN DESI DESI DESI PROP PADD ALL
Description Leave rod specification Stress flag Leave tube reference Logical tail flag Label terminator code Length of leave implied tube Top of leave pipe Variant flag Visibility flag Enclosing box volume in local coordinates Material reference Material text Maximum answer Maximum bore DB hierarchy depth of lowest level item beneath element Max. and min. values of design property Maximum number of retries Maximum number of users Members in reverse order Number of element members of given type List of MDBs in which DB is current List of MDBs to which DB belongs Members Member line for SCTNs Message number Message number Message data reference Model function word array Master link flag: slave if False Section midpoint (steelwork) Moment limits Member line pen True if attribute of element can be modified D-25
Attribute Name MODDEL MODEDB MODULE MOFI MOMENT MPEN MRGFLAG MRGLEVEL MRKR MSDTXT MSESSDB MSSENT MSTEXT MSTYPE
Data Type LOGICAL TEXT TEXT(120) POSITION REAL(3) INTEGER LOGICAL WORD WORD TEXT (120) INTEGER LOGICAL TEXT (120) REFERENCE
DB Type ALL SYST DESI DESI PROP PADD PADD PADD PROP TRAN SYST TRAN TRAN TRAN
Description True if element can be deleted. Database mode Module Moments of inertia Moment Marker pen ADP merge flag ADP merge level 3-Way component marker Message data text Last session number Message sent to relevant site Message text Reference to OUTCOM/OPERAT creating this POSTOP Reference of pipe component beginning a material tube Material tube centreline length Reference of pipe component ending a material tube Material tube length Material list control for components (ISODRAFT) Material list control for head tube (ISODRAFT) Material list text length (ISODRAFT) Additional spooling item part numbers (ISODRAFT) Dynamic attribute for material take-off quantity (ISODRAFT) Extra material list spec refs. (ISODRAFT) Material list control for leave tube (ISODRAFT) Old SPOOLER additional items Material text reference XTEXT of material text
D-26
Attribute Name MTXYTEXT MTXZTEXT MULTIPLIER MVERTEX NACKNOWLEDGED NAME NAMEDB NAMESQ NAMETY NAMN NAMTYP NAREFERENCE NCOFG NCOLS NGMREFERENCE NLOAD NLPEN NMOFI NODIMSFLAG NOFF NOFG NORMAL NPOSE NPOSITION NPOSN NPOSU NPPT NRELEASE NREPAK NREPLY NRETRY NROWS
Data Type TEXT(120) TEXT(120) REAL REFERENCE INTEGER TEXT(120) TEXT TEXT(120) TEXT(120) TEXT(120) TEXT(120) REFERENCE POSITION(3) INTEGER REFERENCE REAL INTEGER REAL(9) LOGICAL INTEGER LOGICAL DIRECTION(3) REAL POSITION(3) REAL REAL INTEGER INTEGER INTEGER INTEGER INTEGER INTEGER
DB Type DESI DESI CATA DESI TRAN ALL SYST ALL ALL ALL ALL CATA DESI PADD CATA DESI PADD DESI CAT CATA DESI PADD DESI DESI DESI DESI PADD DESI TRAN TRAN TRAN PADD
Description YTEXT of material text ZTEXT of material text Multiplier factor - unit definition (see ADEND) Reference to master vertex Number of times acknowledged Name of element (see NAMN) DB name Type, sequence number and name of element Type and name of element Name of element without leading slash (see NAME) Type and full name of element Reference to neutral axis Nett centre of gravity Number of columns Negative geometry set reference Nominal load Note/framing pen Nett moments of inertia No dimensions flag Number off Link constraint inversion flag Plane normal Easting of position in owner Position in owner Northing of position in owner Upping of position in owner P-point number Nodal releases Number of times reply acknowledged Number of times replied Number of retries Number of rows
D-27
Attribute Name NSIZE NSRFAREA NSTDBLENGTH NTEXT NUMBDB NUMBER NVOLUME NWEIGHT NWELDS NXTARLOCATION NXTDBN NXTEXN NXTFDB NXTFLN NXTHB OANGLE OBPEN OBSTFLAG OBSTRUCTIONS OCODE ODESPARAM OFFLINE OHTYPE OKCLAIM OKCLHIERARCHY OKDROP OKDRPH OKRELEASE OKRLEH OKRLEX
Data Type REAL REAL REFERENCE TEXT(12) INTEGER INTEGER REAL REAL INTEGER TEXT (3) INTEGER INTEGER INTEGER INTEGER REFERENCE REAL INTEGER LOGICAL INTEGER TEXT REAL(100) WORD LOGICAL LOGICAL LOGICAL REF(5000) LOGICAL REF(5000) LOGICAL
DB Type PADD DESI CATA PADD SYST CATA DESI DESI DESI DESI TRAN SYST SYST SYST SYST GLOB PADD PADD PADD CATA DESI PADD DESI ALL ALL ALL ALL ALL ALL ALL ALL
Description Nominal size Nett surface area Non-standard bolt length (ref. to DTAB) Null text DB number Number Nett volume Nett weight Number of attached welds on a piping component Next target location for the command Next DB number Next DB extract number Next DB file and DB number Next DB file number Reference to next (future) hub Overlay sheet angle Obscured face pen Obstruction flag Obstruction level Hashed origin code Owning design parameters Synonym of LOFFline Hard type of owner True if element may be claimed True if element and hierarchy may be claimed True if element may be dropped Elements preventing hierarchy drop True if element may be released Elements preventing hierarchy release True if element may be extract released
D-28
Attribute Name OKRLHIERARCHY OLDSPL OLISTTYPES OLPEN OMITFLAG ONPJOINT ONPOSITION ONPSECTION OPARAM OPCLAIM OPCREATE OPDELETE OPDIRECTION OPDROP OPISSUE OPMODIFY OPOSITION OPSTATE OPTYPE ORDER ORIANGLE ORIENTATION ORIFLAG ORILOCATION ORIN ORNA ORRF OSET
Data Type LOGICAL REF (100) WORD(200) INTEGER LOGICAL POSITION(3) REAL(2) POSITION(3) REAL(100) WORD WORD WORD DIRECTION(3) WORD WORD WORD POSITION(2) INTEGER TEXT INTEGER REAL(3) ORI(3) LOGICAL TEXT (3) WORD TEXT(120) REFERENCE LOGICAL
DB Type ALL ISOD ALL PADD PADD DESI PADD DESI DESI SYST SYST SYST DESI SYST SYST SYST PADD TRAN TRAN ALL DESI DESI DESI TRAN PADD PADD DESI PADD
Description True if element and hierarchy may be released Used internally to help with update List of all possible owner types Outline pen Omission flag Owning neutral point of joint (steelwork) 'Onto' point: position of view in region Owning neutral point of section (steelwork) Owning parameters catalogue component Claim access control operation Create access control operation Delete access control operation Origin plane direction Drop access control operation Issue access control operation Modify access control operation Overlay sheet position Operation status Operation number Sequence position in member list Orientation as angles Orientation Orientation flag Original location DRAFT user-defined symbol orientation Originator text Origin reference (for templates) Offset /view position flag D-29
Attribute Name OSFNAME OSLVISIBILITY OSRF OSTYPE OUDATE OUTBY OUTDIAMETER OUTSTATE OVERSHOOT OWNCONNECTION OWNER OWNLST PAAXIS PACKF PALIGNMENT PANGLE PARAMETERS PAREA PARENT PARTNUMBER PASSWORD PAXIS PBAXIS PBBTLENGTH PBDIAMETER PBDISTANCE PBENDNUMBER PBOFFSET PBOP PBORE PBTPLENGTH PCAXIS PCBTLENGTH
Data Type TEXT(73) REAL(12) REFERENCE WORD TEXT(32) TEXT(32) REAL TEXT REAL WORD REFERENCE REF(100) INTEGER(2) REFERENCE REAL TEXT(1000) REAL(100) TEXT(40) REFERENCE INTEGER TEXT(7) INTEGER(2) INTEGER(2) TEXT(1000) TEXT(1000) TEXT(1000) INTEGER TEXT(1000) POSITION(3) TEXT(1000) TEXT(1000) INTEGER(2) TEXT(1000)
DB Type PADD PADD PADD ALL COMP COMP PROP TRAN PADD DESI ALL ALL CATA GLOB DESI CATA CATA PADD COMP ALL DESI SYST CATA CATA CATA CATA CATA DESI CATA DESI CATA CATA CATA CATA
Description Overlay sheet file name Overlay sheet view layers visible Overlay sheet reference Soft type of owner Date when the process design was analysed User who created the transfer file Outside diameter Output command status Overshoot Owning connection type Owner Owning hierarchy Direction of axis A Package reference Panel alignment Angle subtended Parameters COMPARATOR: name of area Reference of owning element of type specified by qualifier Part number of spooled component or leave tube Password Axial direction Direction Bottom B length Snout bottom diameter Distance to bottom surface Spooling pulled bend number B offset Bottom of pipe Bore Top B length Direction of C offset Bottom C length
D-30
Attribute Name PCODANGLES PCODE PCODFRACTIONS PCODIMPERIAL PCODMETRIC PCOFFSET PCONNECTION PCREFERENCE PCTPLENGTH PDEFINITION PDIAMETER PDIRECTION PDISTANCE PERSPECTIVE PFONT PFREFERENCE PFREQD PGRADIENT PHBOP PHBORE PHCONNECTION PHDIRECTION PHEIGHT PHGRADIENT PHOD PHPOSITION PHTOP PICFD PICFILENAME PICHTYPE PICSTYPE PIDREAL PIDTEXT PILREAL PIPESYMBOLS
Data Type INTEGER INTEGER INTEGER INTEGER INTEGER TEXT(1000) TEXT(1000) INTEGER(4) TEXT(1000) TEXT TEXT(1000) DIRECTION(3) TEXT(1000) REAL INTEGER REFERENCE LOGICAL REAL POSITION(3) REAL WORD DIRECTION(3) TEXT(1000) REAL REAL POSITION(3) POSITION(3) LOGICAL TEXT(73) WORD WORD REAL TEXT(250) REAL(10) LOGICAL
DB Type PADD PADD PADD PADD PADD CATA PCON DESI CATA PADD CATA CATA CATA PADD PADD DESI PADD DESI DESI DESI DESI DESI CATA DESI DESI DESI DESI GLOB PADD PADD PADD COMP COMP COMP PADD
Description Precision code - angles Precision code Precision code - fractions Precision code - imperial Precision code - metric C offset Connection type P-point and reference of connected piping component Top C length Primitive definition Diameter parameter P-point direction Distance parameter Perspective angle Projection line text font Pfitting reference for cofittings Picture file required flag P-point gradient Bottom of pipe head Pipe head bore Pipe head connection type Pipe head direction Height Pipe head gradient Pipe head outside diameter Pipe head position Top of pipe head Picture file distribution flag Picture filename Hard type of picture Soft type of picture COMPARATOR: PEGS UDA as real COMPARATOR: PEGS UDA as text COMPARATOR: PEGS link UDA as real Pipe-end symbol flag
D-31
Attribute Name PJUSTIFICATION PKDISTANCE PKEY PLAXIS PLCLEARANCE PLCNFLAG PLCONNECTION PLDESCRIPTION PLDIRECTION PLEDIRECTION PLENCUT PLEND PLINES PLLEVEL PLLST PLNAMES PLNPEN PLORIENTATION PLPEN PLPMETHOD PLPPOSITION PLPURPOSE PLRDIRECTION PLREFS PLRF PLSPACING PLSTART PLSTCUT PLTUFLAG PLTXT PLWWPOSITION
Data Type TEXT REAL WORD INTEGER(2) REAL LOGICAL WORD TEXT(120) REAL(3) DIRECTION(3) POSITION(3) POSITION(3) LOGICAL INTEGER(2) WORD(100) WORD(100) INTEGER ORI(3) INTEGER WORD WORD WORD DIRECTION(3) REF(5000) REFERENCE REAL POSITION(3) POSITION(3) LOGICAL TEXT(120) WORD
DB Type PADD PADD CATA PADD CATA PADD DESI DESI DESI PADD DESI DESI DESI PADD DESI DESI DESI PADD DESI PADD DESI DESI DESI DESI DESI PADD PDD DESI DESI DESI PADD DESI
Description Projection line text justification Proportional distance along p-line P-line identifier key 2D direction angle Projection line clearance P-line centreline flag P-line connection P-line description Projection line direction Plane entry direction P-line end, allowing for cutback P-line end P-lines flag P-line level List of valid p-lines List of available p-line names P-line pen P-line orientation Projection line pen Plane pipe packing method nearest or weighted Plane pipe positioning code word, used by ROUTER P-line purpose Plane routing direction P-line references Plane reference Projection line text line spacing P-line start P-line start, allowing for cutback P-line tube flag Projection line text Plane wall-to-wall positioning code, used by ROUTER
D-32
Attribute Name PMAXIMUM PMLFUNCTION PMODE PNAME POBORE POCKET TOP FOR AIR LOCK BOTT FOR SUMP NONO FOR NO POCKET POCONNECTION POD PODIRECTION POEFLAG POFFSET POISSONS PONAME POORIENTATION POPCODE POPS POSEE POSEND POSEU POSFLAG POSLINE POSN POSSE POSSN POSSTART POSSU POSU POTARGET PPBORE PPCONNECTION PPCOUNT
Description Maximum part number in current spool drawing PML function Plane mode Property description Port bore Is a branch component in a pocket?:
WORD REAL DIRECTION(3) LOGICAL TEXT(1000) REAL TEXT(120) ORI(3) INTEGER POSITION(3) REAL POSITION(3) REAL LOGICAL WORD REAL REAL REAL POSITION(3) REAL REAL REFERENCE REAL WORD INTEGER
DESI DESI DESI DESI CATA PROP DESI DESI TRAN DESI DESI DESI DESI DESI DESI DESI PADD DESI DESI DESI DESI DESI PADD DESI DESI DESI DESI
Port connection P-point outside diameter Port direction Post-evaluation flag Offset Spot value of Poisson's ratio Port name Port orientation Post-operation code Port position Easting of end point position End point position Upping of end point position Positioning flag Positioning line Northing of position Easting of start point position Northing of start point position Start point position Upping of start point position Upping of position Port target reference P-point bore P-point connection type Number of valid p-points D-33
Attribute Name PPDESCRIPTION PPDIRECTION PPEXST PPLST PPNUMBER PPOSITION PPROPERTY PPSKEY PPURPOSE PPVIFLAG PPVISIBILITY PQUALIFIER PRADIUS PRAVERAGE PRDEFAULT PREFLAG PREOPERATION
Data Type TEXT(120) INTEGER LOGICAL INTEGER(100) INTEGER POSITION(3) TEXT(1000) WORD WORD INTEGER INTEGER(100) WORD TEXT(1000) REAL TEXT(250) LOGICAL REFERENCE
DB Type DESI PADD DESI DESI DESI DESI CATA DESI DESI DESI DESI PADD PROP CATA DESI DESI DESI TRAN
Description P-point description P-point number for direction True if p-point exists List of valid p-points Design p-point/port number P-point position Parameterised property expression P-point PSKEY P-point purpose P-point visibility flag List of visible p-points Property qualifier Radius Average pressure Property default Pre-evaluation flag Reference of OUTCOM/OPERAT creating this POSTOP Pressure Pressure factor Profile DB primary/secondary True if element is a primary Project description Project lock Project number Access control project status List of valid properties catalogue or design Maximum pressure Minimum pressure Primary location True if primary element among descendants Primary owning element Primary location element
PRESSURE PRFACTOR PRFL PRIMDB PRIMTYPE PRJDESC PRJLOCK PRJNUMBER PRJSTATUS PRLST PRMAXIMUM PRMINIMUM PRMLOCATION PRMMEM PRMOWN PRMRF
REAL REAL TEXT(120) TEXT LOGICAL TEXT(180) LOGICAL TEXT(17) WORD WORD(100) REAL REAL REFERENCE LOGICAL REFERENCE REFERENCE
DESI PROP PROP DESI SYST ALL SYST SYST SYST SYST DESI DESI DESI SYST ALL ALL GLOB
D-34
Attribute Name PRMVISIBILITY PROFILE PROJID PROPERTY PROPG PRPURPOSE PRTITLE PRVLOCATION PRVRF PRVSES PSATTS PSESSDB PSIZE PSKEY PSPECIFICATION PSPINDLE PSTATUS PSTF PSTREFERENCE PSYMBOLS PTANGLE PTBOP PTBORE PTCDIRECTION PTCHEIGHT PTCONNECT PTCPOSITION PTDIAMETER PTDIRECTION PTDISTANCE PTEMPERATURE
Data Type LOGICAL LOGICAL INTEGER(3) TEXT(250) LOGICAL WORD TEXT(120) TEXT (3) REFERENCE INTEGER WORD (500) INTEGER REAL(2) WORD REFERENCE INTEGER INTEGER REFERENCE REFERENCE LOGICAL TEXT POSITION(3) REAL INTEGER(250) REAL WORD TEXT(250) TEXT(1000) DIRECTION(3) TEXT(1000) REAL
DB Type PADD PADD SYST DESI GLOB DESI DESI TRAN GLOB ALL ALL SYST DESI CATA DESI CATA PADD PADD CATA PADD PADD DESI DESI CATA PADD DESI CATA CATA DESI CATA PROP
Description Draughting primitive visibility Profile flag Project identifier on DB element Property value from catalogue/design dataset DB propagation flag Property purpose Property title Previous location of command Reference to previous owner of DB Previous session to that specified List of pseudo-attributes Previous session number Panel size Key for ISODRAFT Pipe specification P-point number showing position of spindle Plane status Pointset reference Structural p-line set reference Piping component symbol flag Projection line text angle flag Bottom of pipe tail Pipe tail bore Parameterised direction Projection text character height Pipe tail connection type Parameterised position Snout top diameter Pipe tail direction Distance to top surface Pipework temperature
D-35
Attribute Name PTEPOSITION PTFARRAY PTGRADIENT PTLHEIGHT PTNBARRAY PTNHEAD PTNO PTNTUBE PTOD PTOFFSET PTOP PTPEN PTPOSITION PTREFERENCE PTRF PTS PTSPECIFICATION PTSPOSITION PTTOP PTYPE PUNITS PURPOSE PVIFILTER PVNO PWASTAGE PWIDTH PX PXBSHEAR PXLENGTH PXTSHEAR PY PYBSHEAR PYLENGTH D-36
Data Type TEXT(250) REF(17) REAL REAL INTEGER(20) INTEGER INTEGER INTEGER REAL REAL(2) POSITION(3) INTEGER POSITION(3) REFERENCE REFERENCE INTEGER(6) TEXT(120) TEXT(250) POSITION(3) WORD TEXT(32) WORD INTEGER INTEGER REAL TEXT(1000) TEXT(1000) TEXT(1000) TEXT(1000) TEXT(1000) TEXT(1000) TEXT(1000) TEXT(1000)
DB Type CATA PADD DESI PADD DESI DESI DESI DESI DESI PADD DESI PADD DESI CATA PADD CATA DESI CATA DESI DESI CATA CATA MANY CATA PADD PROP CATA CATA CATA CATA CATA CATA CATA CATA
Description Parameterised end position Point references Pipe tail gradient Projection text letter height Old SPOOLER bolt item part numbers Old SPOOLER head tube part number Old SPOOLER component part number Old SPOOLER tube part number Pipe tail outside diameter Projection line text offset Top of pipe Projection text pen Pipe tail position Point set reference Point reference Line definition points in catalogue Paint specification Parameterised start position Top of pipe tail Property type Data property units Description code word P-point visibility filter Picture version number Percentage wastage factor Width or wall thickness Cartesian X position Inclination of bottom surface to local X axis X length Inclination of top surface to local X axis Cartesian Y position Inclination of bottom surface to local Y axis Y length
Attribute Name PYTSHEAR PZ PZLENGTH QUALIFIER QUANTITY QUESTION RADDEFAULT RADFACTOR RADIUS RADLIMITS RADSETFLAG RATING RCODE RCOUNT RDEFAULTS RDEPROP REFATT REFERENCE REFINDEX REFLIST REFNO REGN RESOLUTION REVDATE REVISION REVTIME RFLFACTORS RHOST RINERTIA RINSIDE RLACTION RLEXCLUDE RLIMIT
Data Type TEXT(1000) TEXT(1000) TEXT(1000) INTEGER INTEGER WORD REAL REAL REAL REAL(2) LOGICAL REAL TEXT INTEGER REAL(3)
DB Type CATA CATA CATA CATA ALL CATA DESI DESI DESI PADD DESI DESI CATA PADD ALL DESI
Description Inclination of top surface to local Y axis Cartesian Z position Z length Qualifier Quantity (always one!) Question Radius default value Radius attractor factor Radius Radius limits (min/max) Radius set flag - ignore radius values if false Pressure rating Direction of region vertical on sheet Number of rules on element Port rotation flexibility defaults Synonym of LDPRoperty Reference attribute used in ports Reference of the element Reference array index Reference type list Synonym of REFerence View region Model resolution (distance) Date of revision Revision Time of revision Rotational spring values Host name or IP address of remote machine Rotational inertia vector Inside radius Rule action array Array of references of special exclusion rules Rotation limits
WORD REFERENCE INTEGER WORD(200) REAL(4) REAL TEXT(12) INTEGER TEXT(120) REAL(3) TEXT(120) REAL(3) REAL INTEGER(500) REF(20) REAL(6)
DESI ALL DESI DICT PADD DESI PADD DESI PADD PROP GLOB PROP DESI DESI DESI PROP
D-37
Description Array of references of special inclusion rules List of rules set Rule logical array Branch member creation status code, used by ROUTER Rule selection array Array of ROUTER saved rules Rotational moment flexibility Recipient name Router rules applying to piping element or members Access control role references from ACR Rotation Outside radius Pen for internal rows Reference pressure Catalogue dataset property Report header text Representation ruleset reference Sequence numbers for rule execution Rule sequence reference array for local names Sequence number for rule execution Rotation limits set flag ignore values if False Reference temperature Text string Restraint type True if rule modified this session True if rule modified since comparison date List of rules modified since given session List of rules modified since comparison date
RLSELECTION RLSTORED RMFLEXIBILITY RNAME ROBBRULES ROLEREF ROTN ROUTSIDE RPEN RPRESSURE RPROPERTY RPTXT RRSF RSEQARRAY RSEQFARRAY RSEQNUMBER RSETFLAG RTEMPERATURE RTEXT RTYPE RULEMOD RULEMODC RULEMODLIST RULMDC
INTEGER(500) TEXT(500) REAL(6) TEXT(120) REF(500) REFERENCE REAL(3) REAL INTEGER REAL REAL TEXT(20) REFERENCE INTEGER(500) REF(500) INTEGER LOGICAL(3) REAL TEXT(120) TEXT(12) LOGICAL LOGICAL WORD (500) WORD (500)
DESI DESI PROP PADD DESI SYST PROP DESI PADD PROP CATA DICT PADD DESI DESI DESI DESI PROP CATA PROP ALL ALL ALL ALL
D-38
Data Type WORD (200) INTEGER TEXT(28) REAL TEXT(120) REFERENCE INTEGER(2)
Description List of UDAs set Ruse flag on data record in catalogue dataset Revision author Rough gross volume Revision number Reference of associated WELD of RWELD element Table linking RWELD elements to design WELD elements Safety class SBOLT references SBFR to RPLA reference link, used by ROUTER Draft user-defined symbol scale factor ADP main view allowable scale ISODRAFT Compipe attribute Access control scope references from ACR Access control scope COMPARATOR document Saddle thickness User security Rotational sense DBs referenced directly or indirectly and session of last mod DBs referenced and session of last mod for hierarchy Session comment Session date Session of last modification Current opened session User creating session Set date Spooling limits Start force vector component
SAFCLASS SBRARRAY SBRP SCALE SCALIST SCODE SCOPEREF SCOSEL SDOC SDTHICKNESS SECURITY SENSE SESSCAT
INTEGER REF(10) REFERENCE INTEGER REAL (500) TEXT(3) REFERENCE INTEGER(500) TEXT(40) REAL(3) TEXT TEXT INTEGER (600) INTEGER (600) TEXT(120) TEXT(120) INTEGER INTEGER TEXT(120) TEXT(120) WORD REAL(3)
DESI CATA DESI PADD PADD DESI SYST SYST COMP PROP SYST PADD ALL
ALL ALL ALL ALL ALL ALL SYST GLOB DESI DESI
D-39
DB Type DESI
Description Return reference from piping component or leave tube to spool or field Shape modulus Shock load vector Shop/site flag Stress intensification factor Significant figures True if element is significant Sheet/region size Size of DB Surface justification for PALJs Symbol key Universal SKEY scale factor Maximum spool number in current spool drawing SMODU number Sectioning mode Start moment component COMPARATOR: local name of the process design Source reference (for automatic application) Source macro Southing of position DRAFT user-defined spindle symbol/SKEY name ATTA flag to treat as a real element Used internally to help with updates Old SPOOLER head tube spool number Spooling table attribute on Spool or Field elements Old SPOOLER component spool number Spool number Branches referenced by a Spldrg, Spool or Field
SHAPEMODULUS SHOCKLOAD SHOP SIFACTOR SIGFIGURES SIGNIF SIZE SIZEDB SJUSTIFICATION SKEY SKEYSCALE SMAXIMUM SMNO SMODE SMOMENT SNAME SORF SOURCE SOUTH SPINDLE SPKBRK SPLCHG SPLH SPLMEM SPLN SPLNUMBER SPLPARENT
REAL REAL(3) LOGICAL REAL(3) INTEGER LOGICAL REAL(2) INTEGER WORD TEXT(4) INTEGER INTEGER INTEGER TEXT REAL(3) TEXT(160) REFERENCE TEXT(120) REAL TEXT(4) LOGICAL LOGICAL TEXT(120) REF(1500) TEXT(120) INTEGER REF(500)
PROP PROP DESI PROP CATA ALL PADD SYST DESI MANY MANY DESI ISOD SYST PADD DESI COMP PADD PADD DESI PADD PADD DESI ISOD DESI ISOD DESI ISOD ISOD
D-40
Description Spool number prefix Old SPOOLER tube spool number Table linking Spool and Field elements to piping components Volume of a Spool element Specification angle maximum answer Spool number including spool prefix Reference of SPEC owning SPCO of branch members Special purpose table attribute Specification angle answer Specification bore answer Component specification reference Old SPOOLER spool prefix Specification text answer Source reference Start releases ( packed ) Sheet revisions array Sorting priority for dimensions COMPARATOR: name of the sheet in the area Length of arrive straight tube Start angle Text string Sheet title Length of leave straight tube Steel reference Database reference Template selection pointer Style number Stamps containing db Sessions used in at least one stamp Spot value of stress D-41
SPLVOLUME SPMA SPOONUMBER SPOWNER SPPURPOSE SPRA SPRB SPREFERENCE SPSP SPWD SREFERENCE SRELEASE SREVAY SRTPRIORITY SSHEET STALENGTH STANGLE STEXT STITLE STLENGTH STLREF STLSF STMF STNO STPDBS STPSES STRESS
REAL(3) REAL TEXT(120) REFERENCE WORD REAL REAL REFERENCE TEXT(2) TEXT TEXT(12) INTEGER REF(50) INTEGER TEXT(40) REAL REAL TEXT(120) TEXT(120) REAL REFERENCE REFERENCE REFERENCE TEXT REF (5000) INT (1500) REAL
ISOD DESI DESI DESI PADD DESI DESI DESI DESI DESI PROP DESI PADD PADD COMP DESI DESI MANY PADD DESI DESI SYST DESI SYST SYST SYST PROP
Attribute Name STSESS STSPECIFICATION STYF STYPE SUPREF SURFACE SVERSION SYSIZE SYSLOCATION SZDISTANCE TAIL TANSWER TARFLAG TBORE TCATREFERENCE TCDDEFAULT TCDPROPERTY TCODE TCONNECTION TCTLENGTH TDEFAULT TDETAIL TDIRECTION TDMFARRAY TDMTYPE TDPROPERTY TDRTEXT TDSTEXT TDTTEXT TEAMLS
Data Type INTEGER REFERENCE REFERENCE TEXT REFERENCE TEXT(120) TEXT(20) REAL TEXT (3) REAL TEXT(256) REFERENCE REAL REFERENCE TEXT(250) TEXT(250) TEXT WORD REAL TEXT(256) REFERENCE DIRECTION(3) REF(2) WORD(2) REAL TEXT(120) TEXT(120) TEXT(120) REF(1000)
DB Type SYST DESI PADD DESI SYST DESI DESI COMP PADD TRAN DESI CATA DESI DESI DESI DESI DESI PADD DESI DESI CATA DESI DESI DESI DESI DESI DESI DESI DESI SYST
Description Database session number Structural specification Representation style reference SPECON type question Support reference Surface preparation COMPARATOR: sheet version Symbol size (uniform scaling) System location for remote access Start load point in section Synonym of TREFerence Text answer for text STYP in specification Target port reference Tail bore Trace catalogue reference Current design property default value Current design property value Hashed origin code Tail connection type True cut length Text default for text STYP in specification Trace detail text reference Tail direction ISODRAFT reference dimension attribute ISODRAFT reference dimension attribute Template design dataset property Trace detail RTEXT Trace Detail STEXT Trace Detail TTEXT List of teams to which user belongs
D-42
Attribute Name TEASTATUS TEMF TEMPERATURE TEND TEXIST TFDPROPERTY TGRADIENT THPOSITION TIMEE TIMEI TIMEO TIMER TIMES TITLE TLINDICATOR TMATREF TMAVERAGE TMMAXIMUM TMMINIMUM TMPREFERENCE TMRF TMXTEXT TMYTEXT TMZTEXT TNAME TNOTE TPARAM TPEN TPONUMBER TPOSE TPOSITION TPOSN
Data Type WORD REFERENCE REAL TEXT LOGICAL REFERENCE REAL POSITION(3) INTEGER INTEGER INTEGER TEXT(120) INTEGER TEXT(120) LOGICAL REFERENCE REAL REAL REAL REFERENCE REFERENCE TEXT(120) TEXT(120) TEXT(120) TEXT(50) TEXT(100) DESI INTEGER INTEGER REAL POSITION(3) REAL
DB Type SYST SYST DESI PROP DESI DESI DESI PROP PADD SYST SYST SYST SYST SYST PADD PADD DESI DESI DESI DESI DESI CATA PADD DESI DESI DESI COMP COMP TPAR PADD DESI DESI DESI DESI
Description Access control team status Team reference Temperature Connection at other end of Tref (Head/Tail) True if component has TUBI Template design dataset property Pipework temperature gradient Through point for viewing End time of Comms window Comms retry time interval Comms maximum retry count Frequency of DB propagation Start time of Comms window Title True length indicator Trace material text reference Average temperature Maximum temperature Minimum temperature Template reference from SPCO Template reference Trace Material XTEXT Trace Material YTEXT Trace Material ZTEXT GLOBAL name for the whole process design Note attached to the revision of the process design Trace catalogue component parameters Text pen To port number Easting of tail position Tail position Northing of tail position
D-43
Attribute Name TPOSU TPREFERENCE TPROJ TPVALUE TQUALIFIER TQUESTION TRANSFORMATION TRAREA TRCARGUMENTS TRCG TRDACCESS TRDBNO TRDBRF TREFERENCE TREXTNO TRFINO TRLOCL TRMODU TRPASSED TRSETL TRSF TRSTYPE TRUNCATION TRVISI TSFBREAK TSIZE TSPECIFICATION TSPREF TSYSTEM
Data Type REAL REFERENCE TEXT(48) TEXT(120) TEXT(256) TEXT(256) REAL(12) INTEGER TEXT (3) LOGICAL TEXT INTEGER REFERENCE REFERENCE INTEGER INTEGER LOGICAL TEXT LOGICAL LOGICAL REFERENCE TEXT REAL LOGICAL LOGICAL REAL REFERENCE REFERENCE TEXT(20)
DB Type DESI DESI COMP PADD CATA CATA DESI TRAN TRAN PADD TRAN TRAN TRAN DESI TRAN TRAN TRAN TRAN TRAN TRAN PADD TRAN PADD TRAN DESI PADD DESI DESI COMP
Description Upping of tail position Tail point reference Name of the project in the process design DRAFT task parameter value (for ADP) Text qualifier in Specification or Selector Text question in Specification or Selector Local transformation matrix Area Argument qualifiers Draft user-defined symbol trace flag Database access DB number Tran DB reference Tail reference Extract number Tran file number True if a local command Module in which command was given Successful result flag True if local commands are to be stored or not Tag ruleset reference SPECON type question Truncation value (+ve) or percentage (-ve) Whether the command is visible Spooling marker attribute for components Terminator size Tracing specification reference Trace specification component reference Name of the system which has produced the process design
D-44
Attribute Name TTEXT TTNOTE TTYPE TUBEFLAG TUCLLENGTH TUFLAG TULENGTH TVERSION TVISIBILITY TWRF TYNAME TYNUMBER TYPE TYPEDB TYSEQUENCE UBULGEFACTOR UCODBORE UCODDISTANCE UCODE UCURD UCURTYPE UDACPY UDASET UDNAME UIWEIGHT UKEY ULENGTH UNAME UNDERLINE UPDATECALLBACK URADIUS UREFERENCE
Data Type TEXT(120) TEXT(100) WORD LOGICAL REAL LOGICAL REAL TEXT(20) LOGICAL REFERENCE WORD INTEGER WORD TEXT INTEGER REAL INTEGER INTEGER INTEGER REF (300) WORD REFERENCE WORD(200) TEXT(12) REAL INTEGER INTEGER TEXT(12) LOGICAL TEXT(500) REAL REFERENCE
DB Type CATA COMP DESI PADD DESI CATA DESI COMP CATA DESI SYST SYST ALL SYST ALL DESI PADD PADD PADD COMM DESI DICT ALL DICT PROP DICT DICT PROP PADD PADD DESI CATA
Description Text string Note entered when transfer file was created Template type Tubing flag Tube centreline length of branch Tube flag Tube length of branch COMPARATOR: version number Top visibility flag Tail working point, used by ROUTER Hash of database type number Number type Type of the element DB type Type sequence number Used bulge factor for curve geometry Units code for bore Units code for distance Units code UCURD Used curve type User-defined attribute copy List of user-defined attributes set User defined attribute name Unit insulation weight UDA key - internal unique system identifier Length of data or text Name of user Underline flag ADP update callback Used radius for curve geometry Units reference
D-45
DB Type ALL
Description Elements in lower hierarchy claimed to this user (see USNCLH) Username of user claiming element List of users belonging to team User making last modification User who cancelled command User creating session Elements in lower hierarchy not claimed to this user (see USCLHI) User-defined attribute type Text for units Unit pipe weight Valid value expression for VVALUE elements View comparison date View comparison stamp View gap length Virtual flag View limits ADP view margins VNOTE reference, special attribute used by ADP View ratio Viewing scale - scales projected view View title Type of design view View volume View limits, special attribute used by ADP View reference, special attribute used by ADP Vertex reference array Time interval between retries Maximum water level Bore of IWELD/RWELD
UTYPE UUNITS UWEIGHT VALIDVALUE VCOMPDATE VCOMPSTAMP VGAPLENGTH VIRFLAG VLIMITS VMARGIN VNREF VRATIO VSCALE VTITLE VTYPE VVOLUME VWLIMITS VWREFARRAY VXREFS WAITIME WAMAXIMUM WBORE
WORD TEXT(20) REAL TEXT(1000) TEXT (50) REFERENCE REAL LOGICAL REAL(6) REAL REFERENCE REAL(2) REAL TEXT(120) TEXT REAL(6) REAL(6) REF(20) REF (500) INTEGER REAL REAL
DICT DICT PROP DESI PADD PADD PADD DESI PADD PADD PADD PADD PADD PADD PADD PADD PADD PADD DESI TRAN DESI ISOD
D-46
Attribute Name WDBNAME WDESPARAM WDIAMETER WEFACTOR WEIGHTING WEST WIDTH WIFACTOR WJPOSITION WLDNUMBER WLDPREFIX WLDREF
Data Type TEXT WORD(100) REAL REAL REAL(3) REAL REAL REAL POSITION(3) INTEGER TEXT(4) REFERENCE
DB Type ALL DESI PROP PROP DESI DESI PADD DESI PROP ISOD DESI ISOD DESI ISOD DESI
Description Working DB name Design parameters as words Wind diameter modulus Weight multiplication factor Weighting value Westing of position Width Wind multiplication factor Implied weld position Weld number Weld number prefix Return reference from ppoint or WELD to IWELD or RWELD Used internally to help with updates Maximum weld number in current spool drawing (ISODRAFT) World orientation World position Parameters as words Wind pressure Weld shop/site flag on IWELD/RWELD Weld specification on IWELD/RWELD Wall thickness tolerance / Weight tolerance Transformation matrix to World Enclosing box volume in World coordinates Easting of position Bottom X length X bottom shear: inclination of bottom face to local X axis X length
WLDXRF WMAXIMUM
ISOD DESI ISOD DESI DESI CATA PADD PROP ISOD ISOD PROP DESI DESI PADD DESI PADD DESI PADD DESI DESI PADD
WORIENTATION WORPOSITION WPARAMETERS WPRESSURE WSHOP WSPECIFICATION WTOLERANCE WTRANSFORMATION WVOLUME X XBOTTOM XBSHEAR XLENGTH
ORI(3) POSITION(3) WORD(100) REAL LOGICAL REFERENCE REAL REAL(12) REAL(6) REAL REAL REAL REAL
D-47
Attribute Name XOFFSET XTEXT XTOP XTRALENGTH XTSHEAR XYPOSITION XYSCALE Y YBOTTOM YBSHEAR YDIRECTION YLENGTH YOFFSET YOUNGS YTEXT YTOP YTSHEAR Z ZDIRECTION ZDISTANCE ZLENGTH ZTEXT [CLAI] [MIDBK] [MID] [ORIE] [SECU] [STAT]
Data Type REAL TEXT(120) REAL REAL REAL POSITION(2) REAL(2) REAL REAL REAL DIRECTION(3) REAL REAL REAL TEXT(120) REAL REAL REAL DIRECTION(3) REAL REAL TEXT(120) INTEGER REF (5000) REF (5000) INTEGER WORD
DB Type DESI PADD CATA DESI PADD CATA DESI PADD PADD DESI PADD DESI PADD DESI DESI DESI PADD DESI PADD PROP CATA DESI PADD DESI DESI PADD DESI DESI DESI PADD CATA SYST ALL ALL SYST COMM
Description X offset X text Top X length Extra length requirement for bolts X top shear: inclination of top face to local X axis 2D position Label XY size Northing of position Bottom Y length Y bottom shear: inclination of bottom face to local Y axis Preferred Y axis direction Y length Y offset Spot value of Young's modulus Y text Top Y length Y top shear: inclination of top face to local Y axis Upping of position Additional axis direction Position in section Z length Z text string Claim mode Return identified members in reverse order Return identified members Synonym of ORIentation User security Status
D-48
D.2.
Pseudo-Attributes
Pseudo attributes are used in the same way as standard attributes. They can be queried at the command line, via PML or used in expressions and reports.
D.2.1.
Pseudo-Attribute Syntax
Normally the syntax for pseudo-attributes is a single word. Occasionally two words are required. Some of the attributes have additional qualifiers, e.g. p-point number. The possible types of qualifier are: Integer. Attribute name. Noun name (element type). Word.
It is indicated in the lists when a qualifier is required. The syntax for qualifiers is attribute name , space, qualifier, e.g. PPOS 1. However, when using the PML dot syntax this is not the case. For the dot syntax, qualifiers are handled as follows: The attribute/word qualifier goes after a further dot, e.g. for query the history of the position attribute, the syntax is !!ce.hist.pos. The integer qualifier goes in square brackets, e.g. !!ce.ppos[1]. Noun qualifiers are not catered for use the old VAR syntax.
D.2.2.
Grouping of Pseudo-Attributes
The lists are broken down into the following groups:
All elements on all DBs relating to name and type relating to members/owners/hierarchy relating to attributes relating to DB relating to session history relating to claims relating to extracts relating to access control relating to rules Design DBs. Most DESI element types. Most DESI element types, DATASET properties. DESI elements with a catalogue or spec. ref. E.g piping component. piping and hanger components.
D-49
TUBI BRANCH elements SCTNs, GENSECs Joints most structural items other DRAFT DBs Catalogue DBs SPCO elements Catalogue DATASET elements Spooler DBs System DB DB Element DBSET Element Other attributes in system DB
D.2.3.
D-50
Valid owners/members/ascendants/descendants
Pseudo-Attribute LIST OLIST HLIST LLIS Type WORD(38) WORD(*) WORD(*) WORD(*) Comment Possible types in member list Possible types of owner Possible ascendants Possible descendants
Actual members/descendants
Pseudo-Attribute MEMBER NOUN MBACK MCOUNT NOUN Type REF(*) REF(*) INTEGER Comment Members of given type Reverse order of member list Count of element type in members list. If no noun is given, the total member list count is returned. Database depth below World (World at 0, Site at 1 etc.) Level within the database hierarchy (DDEP) for the lowest level item owned by the current element True if there are any primary members in elements descendants Number of elements, currently always 1
DDEPTH MAXDEPTH
INTEGER INTEGER
PRMMEM QUANTITY
LOGICAL INTEGER
Actual owners/ascendants
Pseudo-Attribute PARENT NOUN OWNLST AHLIST Type REFERENCE REF(*) WORD(*) Comment Reference of ascendant of given type List of ascendants up to, but not including, World (Owner last) List of all the actual ascendant types
D-51
Comment Owning primary element (or self if primary) Hard type of owner Soft type of owner
Note:
The equivalents of the above queries are also available via the DB element in the System DB.
D-52
INTEGER INT(*)
SESSCH
INT(*)
D-53
MODDEL ATTNAME
LOGICAL
EXCLFR
LOGICAL
EXCLHI
REFERENCE
EXNCLH
REFERENCE
D-54
Pseudo-Attribute PRMOWN
Type REFERENCE
Comment Returns owning primary element, or itself, if primary (i.e. what to claim/release) True if element is primary, and modifications have been made to it; i.e. a flush or drop is worth doing on this element True if element is primary, and modifications have been made to it or any non primary children; i.e. a flush or drop is worth doing As EXMOD, but ignoring changes to noclaim attributes and member lists As EXPMOD, but ignoring changes to noclaim attributes and member lists True if element can be dropped (valid at primary items only). Basically EXPMOD and not EXCLFR. True if extract release is possible; i.e. not changed, or claimed out further. The opposite of EXPMOC. Returns list of primary items that prevent a hierarchy extract release Returns a list of elements that prevent a hierarchy drop Extract to which an element is claimed. NB: If USERC is set, then EXTRC will always be set to indicate the extract that the user has claimed from. Elements which have been either disconnected from this element or connected to this element in the extract A subset of EXTCON. Only includes elements which have not been modified in the extract (other than connection reference). A subset of EXTCON. Only includes elements which have not been modified in the extract (other than connection reference). EXTCNC + EXTCNN will give EXTCON As EXTCON but applied recursively to each connection As EXTCNN but applied recursively to each connection
EXMOD
LOGICAL
EXPMOD
LOGICAL
EXMOC EXPMOC
LOGICAL LOGICAL
OKDROP
LOGICAL
OKRLEX
LOGICAL
EXTCON
REF(*)
EXTCNN
REF(*)
EXTCNC
REF(*)
EXTRCO EXTRCN
REF(*) REF(*)
D-55
Comment As EXTCON but repeat test for all Descendants As EXTCNN but repeat test for all Descendants As EXTCNC but repeat test for all Descendants As EXTRCO but repeat test for all Descendants As EXTRON but repeat test for all Descendants
Note:
The tests on OKDROP do not test combination aspects. For example, if you rename /FRED to /TOM and /TOM to /FRED then these elements must be dropped together. This is not tested for by the pseudo-attributes. For EXTRC, USERC the system will only return information for the extract opened, and for ascendant extracts. For example, if you are in the Master extract, the system only returns information about claims to the immediate children. It does not report on further claims to grandchildren or to users working on the child extracts. Ideally this would not be the case, but currently it is too difficult technically to do so. This restriction also applies to the information returned from Q CLAIMLIST The following attributes are covered by the term connection: CREF, TREF, HREF, CRFA, VXREF, JOIS, JOIE, Dynamic links for rules
D-56
Pseudo-Attribute
Type
Comment or given session Has element been modified since the comparison date Has element been created since this or given session Has element been created since the comparison date Has element been deleted since this or given session Has element been deleted since the comparison date Has rule been modified since this session Has rule been modified since the comparison date List of attributes modified this session List of attributes modified since the comparison date List of rules modified this session List of rules modified since the comparison date
ELEMOC ELECRE ELECRC ELEDEL ELEDEC RULMOD RULMOC ATTMDL ATTMDC RULMDL RULMDC
LOGICAL LOGICAL LOGICAL LOGICAL LOGICAL LOGICAL LOGICAL WORD(*) WORD(*) WORD(*) WORD(*)
Special Attributes For Use in the MODIFIED, CREATED and DELETED functions
Pseudo-Attribute GEOM CATTEXT CATMOD Type LOGICAL LOGICAL LOGICAL Comment Has any aspect of the evaluated geometry1 changed Has any part of the evaluated detail or material text changed. Has a value2 in the catalogue changed
An evaluated geometry change occurs if: any dimension of a primitive has changed any p-point changes POS/ORI changes
The level information used to determine the geometry will be that set by the REPRE MASS command. The REPRE MASS command is available in ISODRAFT.
2
D-58
SPCO elements COMP elements PTSE, GMSE, ppoint, geometry elements any dataset elements DTEXT,MTEXT elements
Note that there is a subtle difference between CATMOD and the other two special attributes. The CATTEXT and GEOM keywords work on the evaluated values. Thus it is possible that the geometry element has changed but the GEOM keyword returns false, e.g. a UDA value may have changed, but this has no effect on the evaluated geometry. The CATMOD keyword on the other hand will return true for any change. The CATMOD keyword may be used on any element. It will return false if the element does not have a SPREF or CATREF reference pointing into the catalogue database. It will return true if the element has a SPREF or CATREF attribute and either (a) this reference attribute has itself changed in value or (b) the catalogue element pointed at, or any catalogue element owned by or pointed at by this element, either directly or indirectly, has changed in any way. The exception is that elements pointed at via UDAs are not compared, although the value of the UDA itself is checked. Thus if a reference valued UDA has been changed then this will count as a change, but if only the element pointed at has changed, then this will not count. Design DBs
D-59
ORIA CONNCH
REAL(3) REFERENCE
D-60
Pseudo-Attribute CFDP LFDP TFDP RSEQFA FPROP FPRDE FTCDP FTCDD FDEPR FDEPD
Type REFERENCE REFERENCE REFERENCE REF(*) TEXT TEXT TEXT TEXT TEXT TEXT
Comment Current design reference property Local design reference property Template design reference property Items with local names in rule sequence order Formatted catalogue or design property value Formatted catalogue or design property default Formatted current design property value Formatted current design property default value Formatted local design property value Formatted local design property default value
D-61
Pseudo-Attribute IDTT IMAT IMXT IMYT IMZT TSPRE TCATREFERENCE TDETAIL TDRT TDST TDTT TMAT TMXT TMYT TMZT MAXBORE PPOINT N BORE OR PPBORE N PPOINT N CONNECTION OR PPCONN N PPOINT N POSITION OR PPOSITION N PPOINT N DIRECTION OR PDIRECTION N PPOINT N GRADIENT OR PGRAD N PPOINT N BOP OR PBOP N PPOINT N TOP OR PTOP N PPOINT N OD OR POD N PPLS PPOINT N PSKEY OR PPSKEY N PPOINT N BOLT JOINT PPOINT N BOLT TOTAL P N PURP OR PPURP
Type TEXT REFERENCE TEXT TEXT TEXT REFERENCE REFERENCE REFERENCE TEXT TEXT TEXT REFERENCE TEXT TEXT TEXT REAL REAL WORD
Comment Insulation detail TTEXT Insulation material text reference Insulation material XTEXT Insulation material YTEXT Insulation material ZTEXT Tracing specification component reference Tracing catalogue component reference Tracing detail text reference Tracing detail RTEXT Tracing detail STEXT Tracing detail TTEXT Tracing material text reference Tracing material XTEXT Tracing material YTEXT Tracing material ZTEXT Maximum bore for all p-points Bore at p-point n Connection type at p-point n
POSITION DIRECTION REAL POSITION POSITION REAL INT(100) WORD WORD WORD WORD
Position at p-point n Direction at p-point n Gradient at p-point n Position of bottom of pipe at p-point
Position of top of pipe at p-point n Outside diameter at p-point n List of valid p-point numbers Pskey for p-point n Bolt joint for p-point n Bolt total for p-point n Purpose for p-point n
D-63
Pseudo-Attribute N P N DESC OR PDESC N PPCOU DPCOU PPVIF N PPEXST N PPREF N SPRB WORD SPRA WORD SPMA WORD
Type
Comment Description for p-point n Number of p-points Number of design points Vis value for p-point n True if p-point exists Reference of catalogue p-point Specification real answer in bore units Specification real answer in no units Specification real max answer in no units
Note:
For SPRB, SPRA, SPMA the word qualifier is the question, e.g. PBOR
D-64
MTBE MTEN
REFERENCE REFERENCE
Note:
The above are also available at the BRAN element. Gradient is the vertical rise (fall) divided by the horizontal distance. The maximum/minimum values returned are 1E6, 1E6. Material tube is defined as the continuous lengths of TUBI separated by components for whom the LOFF attribute is set to False, or there is no LOFF attribute (excluding ATTAs), i.e.several pieces of implied tube may make up a material tube. The MTCL calculation is the more useful one, as it includes the offline components such as bends. For example, a BEND1TUBIBEND2 combination would have the MTCL as the combined length, queryable at any of the components. The MTBE would be BEND1, the MTEN would be BEND2. MTLE is available on TUBI and is similar to MTCL, but stops at the next piece of implied tube. MTLE is thus more useful in reports, since summing the MTLE for all TUBI will give the correct total tube length required.
D-65
Pseudo-Attribute STLE STAP PARRIVE BORE OR ABOR PARRIVE CONNECTION OR ACON PARRIVE POSITION OR APOS PARRIVE DIRECTION OR ADIR PARRIVE GRADIENT OR AGRD PARRIVE BOP OR ABOP PARRIVE TOP OR ATOP PARRIVE OD OR AOD PLEAVE BORE OR LBOR PLEAVE CONNECTION OR ACON PLEAVE POSITION OR LPOS PLEAVE DIRECTION OR LDIR PLEAVEGRADIENT OR LGRD PLEAVE BOP OR LBOP PLEAVE TOP OR LTOP PLEAVE OD OR LOD POCK
Comment Straight length of leave tube, i.e. until Bend, Redu, Valv, etc. Straight length of arrive tube, i.e. until Bend, Redu, Valv, etc. Arrive bore Arrive connection type
Arrive position Arrive direction Arrive gradient Position of bottom of arrive pipe Position of top of arrive pipe Diameter of arrive pipe Leave bore Leave connection type
Leave position Leave direction Leave gradient Position of bottom of leave pipe Position of top of leave pipe Diameter of leave pipe Is a branch component in a pocket? Answer: TOP for air lock BOTT for sump NONO for no pocket Connected components in branch (no implied tube between them)
BRCON
REF(*)
D-66
Pseudo-Attribute BRLEG
Type REF(*)
Comment Connected components in same leg (no tube or change of direction between them)
TUBI:
Pseudo-Attribute ITLE MTLE Type REAL REAL Comment Length of implied tube Length of tube plus any following offline component up to next length of TUBI
Branch:
Pseudo-Attribute TULEN CLLENGTH TUCLLEN Type REAL REAL REAL Comment Branch tube length (no components) Branch centre line length (including all components) Branch material tube length, i.e. implied tube plus inline components (LOFF flag true) End connection type of TREF, e.g. START, END, HEAD or TAIL End connection type of HREF Head bore Head connection type Head position Head direction Pipe head gradient Pipe head bottom Pipe head top Pipe head outside diameter Tail bore Tail connection type Tail position Tail direction D-67
TEND HEND PHEAD BORE OR PHBO PHEAD CONNECTION OR PHCO PHEAD POSITION OR PHPO PHEAD DIRECTION OR PHDR PHEAD GRADIENT OR PHGR PHEAD BOP OR PHBP PHEAD TOP OR PHTP PHEAD OD OR PHD PTAIL BORE OR PTBO PTAIL CONNECTION OR PTCO PTAIL POSITION OR PTPO PTAIL DIRECTION OR
WORD WORD REAL WORD POSITION DIRECTION REAL POSITION POSITION REAL REAL WORD POSITION DIRECTION
Pseudo-Attribute PTDR PTAIL GRADIENT OR PTGR PTAIL BOP OR PTBP PTAIL TOP OR PTTP PTAIL OD OR PTOD HHEAD BORE OR HHBO HHEAD CONNECTION OR HHCO HHEAD POSITION OR HHPO HHEAD DIRECTION OR HHDR HHEAD GRADIENT OR HHGR HHEAD BOP OR HHBP HHEAD TOP OR HHTP HHEAD OD OR HHOD HTAIL BORE OR HTBO HTAIL CONNECTION OR HTCO HTAIL POSITION OR HTPO HTAIL DIRECTION OR HTDR HTAIL GRADIENT OR HTGR HTAIL BOP OR HTBP HTAIL TOP OR HTTP HTAIL OD OR HTOD BRWEIG BRIWEI BRWWEI BRWIWE BRCOG BRICOG BRWCOG BRWICO BRIARE/A
Type
Comment Pipe tail gradient Pipe tail bottom Pipe tail top Pipe tail outside diameter Hanger head bore Hanger head connection type Hanger head position Hanger head direction Hanger head gradient Hanger head bottom Hanger head top Hanger head outside diameter Hanger tail bore Hanger tail connection type Hanger tail position Hanger tail direction Hanger tail gradient Hanger tail bottom Hanger tail top Hanger tail outside diameter Branch weight Branch insulated weight Branch wet weight Branch insulated wet weight Branch centre of gravity Branch insulated centre of gravity Branch wet centre of gravity Branch wet insulated centre of gravity Branch internal area. (Given in Distance Units squared). PDMS Software Customisation Reference Manual Version 11.6SP1
REAL POSITION POSITION REAL REAL WORD POSITION DIRECTION REAL POSITION POSITION REAL REAL WORD POSITION DIRECTION REAL POSITION POSITION REAL REAL REAL REAL REAL POSITION POSITION POSITION POSITION REAL
D-68
Comment Branch external area. (Given in Distance Units squared). Range of available angles. Optional noun argument. Range of available radii. Optional noun argument. (Given in Distance Units) Angle between a branch component and its previous component. Calculates angle between the ppoint directions and also with the vector between the ppoints and uses the greatest. SPKBRK FALSE ATTAs are ignored Angle between a branch component and its next component. Calculates angle between the ppoint directions and also with the vector between the ppoints and uses the greatest. SPKBRK FALSE ATTAs are ignored The offset between a branch component and its previous component. Returned in distance units. SPKBRK FALSE ATTAs are ignored. (Given in Distance Units). The offset between a branch component and its next component. Returned in distance units. SPKBRK FALSE ATTAs are ignored. (Given in Distance Units). Return true if the connection between a branch component and its previous component is correct. Is also valid when CE is TUBI. Return true if the connection between a branch component and its next component is correct. Is also valid when CE is TUBI. Return true if the bore between a branch component and its previous component is the same. Does not consider TUBI. Return true if the bore between a branch component and its next component is the same. Does not consider TUBI. Angle between specified ppoint of a branch component and its adjacent component. Calculates angle between the ppoint directions and also with the vector between the
AQANG
REAL
LQANG
REAL
AQOFF
REAL
LQOFF
REAL
AQCON
LOGICAL
LQCON
LOGICAL
AQBORE
LOGICAL
LQBORE
LOGICAL
PQANG <INT>
REAL
D-69
Pseudo-Attribute
Type
Comment ppoints and uses the greatest. SPKBRK FALSE ATTAs are ignored Attribute is valid for Branches. For branch members, only the arrive & leave ppoints are valid.
PQOFF <INT>
REAL
The offset between specified ppoint of a branch component and its adjacent component. Returned in distance units SPKBRK FALSE ATTAs are ignored Attribute is valid for Branches. For branch members, only the arrive & leave ppoints are valid. (Given in Distance Units). Return true if the connection between a branch component and its adjacent component is correct. Is also valid when CE is TUBI. Attribute is valid for Branches. For branch members, only the arrive & leave ppoints are valid. Return true if the bore between a branch component and its adjacent component is the same. Does not consider TUBI. Attribute is valid for Branches. For branch members, only the arrive & leave ppoints are valid.
PQCON <INT>
LOGICAL
PQBORE <INT>
LOGICAL
Sections, Gensecs:
Pseudo-Attribute PSTREFERENCE GSTREFERENCE ORIENTATION POSITION DRPS MIDPOINT LENGTH CUTLENGTH TCTLENGTH ANPS ONPS MIDP UBULG Type REFERENCE REFERENCE ORIENTATIO N POSITION POSITION POSITION REAL REAL REAL POSITION POSITION POSITION REAL Comment Structural p-line set reference Structural geometry set reference Orientation Position Derived position, allowing for justifications Midpoint Length Cut length As CUTL but accounting for penetrations Attached neutral point of section Owning neutral point of section Midpoint Used bulge for curve element
D-70
Pseudo-Attribute URADI AANGXZ AANGYZ YDIR ZDIR DRNS DRNE ECCENTRICITY PLNAMES PLREF WORD PLST WORD OR PPLINE WORD START PLEN WORD OR PPLINE WORD END PLOR WORD OR PPLINE WORD ORI PLLE WORD OR PPLINE WORD LEVEL PLCN WORD OR PPLINE WORD CLFL PLTU WORD OR PPLINE WORD TUFL PLCONN WORD OR PPLINE WORD CONN PLPURP WORD OR PPLINE WORD PURP PLDESC WORD OR PPLINE WORD DESC
Type REAL REAL REAL DIRECTION DIRECTION DIRECTION DIRECTION POSITION WORD(*) REFERENCE POSITION POSITION ORIENTATIO N REAL(2) LOGICAL LOGICAL WORD WORD TEXT
Comment Used radius for curve element Angle of attached SCTN in XZ plane of joint Angle of attached SCTN in YZ plane of joint Y direction for orienting SPROF (on SCTN/GENSEC) Z direction (on SCTN/GENSEC) Plane normal at start of SCTN/GENSEC Plane normal at end of SCTN/GENSEC Eccentricity For list of valid p-lines Reference number of catalogue p-line P-line start P-line end P-pline orientation P-line level P-line centreline flag P-line tube flag P-line connection P-line purpose P-line description
Joints:
Pseudo-Attribute ECCJ ANPJ ONPJ ACTLENGTH Type POSITION POSITION POSITION REAL Comment Eccentricity of joint Attached neutral point of joint Owning neutral point of joint Actual weld length, applies to PALJ, PAVE, SELJ, SEVE
D-71
Panel Components:
Pseudo-Attribute LINKS PSIZE PALIG Type REFERENCE REAL(2) REAL Comment Elements linked to PAVE and SEVE Panel size Panel alignment rotation angle
Others in Design DB :
Pseudo-Attribute CEND NCONNE CONNER INT Type WORD INTEGER TEXT Comment End connection type at CREF, e.g. HEAD, TAIL, START, END Number of connection errors on element
D-72
D.2.4.
Draft Database
Pseudo-Attribute LHEIGHT DTLHEIGHT PTLHEIGHT PRMVISIBILITY VREGION VLIMITS VVOLUME WVOL DREVAY SREVAY UCODDISTANCE UCODBORE PCODMETRIC PCODIMPERIAL PCODFRACTIONS PCODANGLES PICFILENAME EXBTEXT EXDMTXT EXPLTXT DRTITLE STITLE VTITLE DIMPOS PSTATUS AKEYLIST Type REAL REAL REAL LOGICAL REAL (4) REAL (6) REAL (6) REAL (6) REF (50) REF (50) TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT REAL (3) INTEGER WORD (20) Comment Letter height Dimension text letter height Projection text letter height Drafting primitive visibility 2D coordinates of view limits 3D coordinates of view limits 3D coordinates of view volume World volume of IDList (or DESIGN item) List of REVIs owned by current Drawing List of REVIs owned by current Sheet Units code distance part Units code bore part Precision code metric part Precision code imperial part Precision code fractions part Precision code angles part Picture File name Expanded version of BTEX Expanded version of DMTX Expanded version of PLTX Title of current Drawing in hierarchy Title of current Sheet in hierarchy Title of current View in hierarchy 3D coordinate of dimension point Sectioning Plane validity code Attribute keylist (for RDIMs)
D-73
D.2.5.
Catalogue DB
SPCO Elements:
Pseudo-Attribute WDANSWER WDMAXAN Type WORD WORD Comment Answer as a word Maximum answer as a word
Dataset Pseudo-Attributes:
Pseudo-Attribute RPROP VALIDV Type REAL TEXT Comment Property value as a real Valid value expression for DDAT under DDSEs
Note:
GEODEP and DESGEO report only on items in currently open Design DBs.
D.2.6.
Spooling DB
Pseudo-Attribute SFREF WLDREF JNTREF AWDREF Type REFERENCE REFERENCE REFERENCE REFERENCE Comment Return reference to SPOOL or FIELD element Return reference to IWELD or RWELD element Return reference to IJOINT element Return reference to AWELD elements
D-74
D.2.7.
System DB
DB Element:
Pseudo-Attribute MSESS PSESS INT EXTMAS EXTALS EXTCLS EXTFAM EXTDES SIZEDB SESSIONNO ISDBFR ISEXOP ISEXMP ISEXAP ISEXCP ISPRIM ISWORK PRMLOC MDBLS MDBCLS LINKSN NAMEDB TYPEDB FOREIGN FILENAME ACCESSDB CLAIMDB PRIMDB USESS INT DSESS INT CSESS INT Type INTEGER INTEGER REFERENCE REF(*) REF(*) REF(*) REF(*) INTEGER LOGICAL LOGICAL LOGICAL LOGICAL LOGICAL LOGICAL LOGICAL REFERENCE REF(*) REF(*) INTEGER TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT Comment Last session number for DB Previous session number before given one Master DB for this extract family Extract ancestors Extract children All DBs in extract family All extract descendants (children and below) DB size of the given session in pages (a page is 2 kilobytes). Is database foreign? Is extract parent primary here? Is extract master primary here? Are all extract ancestors primary here? Are all extract descendants primary here? Is primary at this location? True if a working extract Primary location (of DB or LOC) MDBs to which DB belongs MDBs in which DB is current Linked session number on parent extract DB name DB type, e.g. DESI Foreign or Local DB filename DB access, e.g. UPDATE Implicit or Explicit, if set DB Primary/Secondary status User making given session Date of given session Session comment of given session
D-75
Comment List of sessions used in at least one stamp List of stamps referring to the DB
Note:
The preceding attributes can be referenced in the constructor modules (DESIGN, DRAFT etc.) via the DBREF attribute. This may be useful for session information.
DBSET Element:
Pseudo-Attribute DBALL DBSLIS DBSLEV DBSHIE Type REF(*) REF(*) REF(*) REF(*) Comment DBs belonging to LOC element List of databases within a DB set List of databases and sets at one level within a DB set List of database sets within a set
D-76
D.2.8.
Note:
At a later date the first test will be 'PLEAVE to PARRIVE of next non-ATTA component is > 1mm'
The following attributes are handled specially on TUBI: SPRE, CATR, GMRE, PTRE, DTRE, IPAR, PARA (uses LSTU for spec/catalogue values) MTXR POS, ORI (gives derived values for TUBI) ITLE - tube length MTLE - Material tube length PBORE, ABOR, LBOR - gives tube bore TYPE - returns TUBI NAME, NAMEN, FLNM, FLNN OWNE - returns BRAN
Other values queried will give the same value as at the preceding component: REF, LOCK, DDEP, QUAN, OLIS, HLIS, WVOL, GRDE, ITPS, MTLE, MTCL, MTBE, MTEN, DESP, DDESP, WDESP, LVOL
The 'tolerance offset' value (as set in DESIGN) is used to determine if TUBI exists or not.
D-77
D-78
Index
ABS ....................................................... 13 ACOS .................................................... 13 ADD....................................................... 11 AFTER .................................................. 31 ALOG .............................................. 14, 16 AND ........................................................ 4 AREA command (PDMS Design and DRAFT) ............................. 2-162, 2-164 Area view gadget .................. 2-162, 2-164 Area view setup mode .......... 2-162, 2-164 ARRAY.................................................. 14 ARRAYSIZE ......................................... 14 ARRAYWIDTH..................................... 15 ASIN ..................................................... 13 ATAN .................................................... 13 ATANT.................................................. 13 AUTOSEND command .......................... 2 BADREF ................................................. 6 BATCH command .................................. 4 BEFORE ............................................... 31 Boolean operators................................... 3 COMP . . . OF ....................................... 15 Comparator operators ............................ 3 Comparision precision
in expressions ...........................................41 nesting ........................................................ 3 numeric..................................................... 10 positions in ............................................... 21 precision of comparisions ........................ 41 real............................................................ 10 real array.................................................. 20 text............................................................ 30 types ........................................................... 1
FROM.................................................... 24 Functions
logical.......................................................... 6 numeric..................................................... 12 real............................................................ 12 text............................................................ 30
CONNECT command............................. 1 COSINE ................................................ 15 CREATED............................................... 7 DEFINED ............................................... 6 DELETED............................................... 7 DISCONNECT command ...................... 2 DISTANCE ........................................... 31 DIVIDE ................................................. 11 DLENGTH............................................ 16 DMATCH .............................................. 16 DSUBSTRING
Japanese characters .................................37
GE ........................................................... 5 GT............................................................ 5 IDs in expressions ................................ 20 INT ........................................................ 16 Late evaluation of expressions .............. 9 Late evalutation of expressions........... 19 Late evauation of expressions ............. 38 Later evaulation of expressions........... 39 LE............................................................ 5 LENGTH............................................... 16 LIST command ....................................... 5 Logical functions .................................... 6 LOWCASE ............................................ 33 LT ............................................................ 5 MATCH................................................. 16 MATCHWILD......................................... 7 MAX ...................................................... 17 MIN ....................................................... 17 MODIFIED ............................................. 8 MULTIPLY........................................... 11 NEGATE............................................... 17 NEQUAL ................................................ 4 NINT ..................................................... 17 NOT......................................................... 5 NUMBER (REAL) ................................ 18 Numeric expressions ............................ 10 Numeric operators................................ 11 OCCUR ................................................. 17 Operators
directions in ..............................................28 format..........................................................2 IDS in ........................................................20 logical ..........................................................3 logical array ..............................................10
OR ........................................................... 5 PART..................................................... 33
index-i
Index
PDMS attributes
in expressions........................................... 39
PDMS format distances ....................... 32 PEGS command ...................................... 1 Positions POWER ................................................. 18 Querying
comparing................................................. 27
SUBTRACT........................................... 11 TANGENT ............................................ 15 Text functions ....................................... 30 Text operator ........................................ 30 TRIM ..................................................... 37 UNDEFINED.......................................... 6 Undefined values
in expressions ........................................... 41
Units
in expressions ........................................... 39
RAW command ....................................... 4 REAL..................................................... 18 Real arrays in expressions ................... 20 Real expressions ................................... 10 RECONNECT command ........................ 2 Relational operators ............................... 3 REPLACE ............................................. 34 REVIEW command................................. 1 SEND command ..................................... 2 SINE...................................................... 15 SQRT ..................................................... 18 STARTRECORDING command............. 2 STRING................................................. 36 SUBSTRING......................................... 37
Index-ii
Index
Index-iii