P-line Data
- Last UpdatedDec 09, 2025
- 2 minute read
The P-line syntax may refer to the p-line used for annotation (that means, that defined by the PKEY attribute) or to a specified p-line. A specific codeword defining the p-line precedes strings requesting position, direction and offset.
The syntax for p-lines is
#PK
(for PKEY). This syntax on its own is a request for the p-line name (for example, NA or TOS, stored as the PKEY attribute). #PK may optionally be followed by the p-line name, for example #PKNA for p-line neutral axis. The p-line name (if present) may be 1-4 characters long. #PK may also be followed by MEML (that means, #PKMEML) if data for the Section’s member-line is required. (This is only valid if the SCTN has its MEML attribute set.)
The p-line name may be
#PK^DIR or #PKNA^POSSU
The last format would mean ‘Upping of Start position of Neutral axis p-line’.
The internal delimiter ^ is necessary to separate the p-line attribute from the p-line name. There is nothing to stop you from having p-line names such as NAPO or even DIR. Names such as these would be impossible to separate from the p-line sub-codeword without this delimiter. Spaces are not permitted between the codeword and sub-codeword.
The following sub-codewords may follow the p-line codeword #PK or #PKname:
|
^DIR |
p-line direction |
|
^POSS |
p-line start position |
|
^POSSE |
Easting of p-line start position |
|
^POSSN |
Northing of p-line start position |
|
^POSSU |
Upping of p-line start position |
|
^POSE |
line end position |
|
^POSEE |
Easting of p-line end position |
|
^POSEN |
Northing of p-line end position |
|
^POSEU |
Upping of p-line end position |
|
^PKDI |
position of point along p line defined by PKDI attribute |
|
^PKDIE |
Easting of point along p-line defined by PKDI attribute |
|
^PKDIN |
Northing of point along p-line defined by PKDI attribute |
|
^PKDIU |
Upping of point along p-line defined by PKDI attribute |
For example:
|
#PKNA^POSS |
gives the start position of the NA p-line |
|
#PK^DIR |
gives the direction of the p-line given by the PKEY attribute |
The #PK^PKDI keyword will extract the position along a p-line at which a Label is attached. This will generate the position defined by the PKDI attribute of the label. Thus if PKDI = 0 the Label will be positioned at the start of the p-line (defined by the PKEY attribute) and the start position will be generated. If PKDI = 0.5 it will be at the p-line’s mid-point and its mid-point position generated.
Besides GLABs and SLABs, the VNOT, ADIM, DPPT, RPPT and PPPT elements also possess the PKDI attribute.
Note: In Draft, p-lines are always cut back by SCTN end-preparations and member-lines are always extended to the ‘working point’. The positions generated by these codewords reflect this functionality.
The transform qualifier (see Transforming Position/Direction Data) may be used with any of these sub-codewords, but not for p-line name. For example:
|
#PKTOS^POSEU<WRT |
Gives the upping with respect to /DATUM of the end position of the TOS p-line |
|
#PKTOS^POSEU+<WRT |
As above, but gives upping in ‘+/-’ format |
|
#DERPOS[a] |
Derived position of a Joint, Fitting or Secondary Node, where a = N for Northing, E for Easting, U for Upping (optional) |