PlantWise Help

Language Specification

<nozzle placement> ::=
(For <equipment class> nozzles {<placement rule>}+ )
The ordered list of rules for an equipment class. The nozzles are matched in order, taking the first match; therefore, more specific rules should precede more general rules.
There need not be any rules--the default rule is to just use the nozzle offset.
<placement rule> ::= [<condition clause>]
	LOCATE nozzle with
	element = <element name>
	<location clause>
		[alignment = <alignment expression>]
		[x-rotation = <expression>]
		[y-rotation = <expression>]
		[z-rotation = <expression>]
		[and [<condition clause>]
	OFFSET next nozzle
		[offset-direction = <offset keyword>]
			<location clause>
			<offset location clause> ]

<condition clause> ::= WHEN <expression>

<location clause> ::= <box location clause> |
	<cylinder location clause> | <head location clause>

<box location clause> ::= <box face location>
	u-distance = <expression>
	v-distance = <expression>

	<box face location> ::=
		face = <box face name> | <box face selection keyword>
		[face-choices = ( {<box face name>}+)]

	<box face name> ::= left | right | front | back | top | bottom
	<box face selection keyword> ::= near-pipeway | away-from-pipeway |
		parallel-to-pipeway-near-other-end | near-other-end

<cylinder location clause> ::=
	face = <cylinder-face-name>
	distance = <expression>;; on the body, from the bottom face
		;; on the top or bottom, from center

	angle = <angle-expression>

	<cylinder-face-name> ::= TOP | BOTTON | BODY
	<angle-expression> ::= up | down | near-pipeway | 
		away-from-pipeway | parallel-to-pipeway-near-other-end |
		<expression>

<head location clause> ::= face = bottom
	distance = <expression> ;; radius on a bottom face
	angle = <angle-expression>

<offset keyword> ::= toward-other-end | alternating

<offset location clause> ::=
	offset-u-distance = <expression> |
	offset-v-distance = <expression> |
	offset-distance = <expression> |
	offset-angle = <expression>

<alignment expression> ::=
	routing-plane ;; routing plane in the direction of the nozzle, if possible.
	near-routing-plane ;; routing plane only if the nozzle is within 2 long-radius elbows.