PlantWise Help

Equipment Geometry Definition Example

The formal Equipment Assembly Language syntax is described in Appendix C - Language Syntaxes, where the expressions in the Equipment Assembly Language infix notation are also described.

The Equipment Assembly Language is illustrated here using the Vertical Vessel example (see "Vertical Vessel Geometry Rules").

The equipment geometry definition starts with an “Equipment Description” header, followed by “Element Descriptions.” The number of element descriptions depends on how many elements are required to completely define the equipment geometry. All parentheses defined in the language syntax are essential. For each opening parenthesis [ ( ], there must be a closing parenthesis [ ) ].

The Equipment Description identifies the symbol of the equipment class being specified, in this example the VERTICAL_VESSEL. The symbol has to be a continuous character string. Using all caps is not necessary, it is adopted here for clarity.

Each Element Description has four fundamental parts:
  • an identifier,
  • an element type description,
  • a display control ,and
  • a placement definition.
The identifier specifies the name of the element. This enables dimension expressions to find the properties of this element definition by using the element name.

The Graphic Elements of a Vertical Vessel

In the VERTICAL_VESSEL example, there are five elements: a SKIRT, a VESSEL, a TOP-HEAD, a LABEL and an OBSTACLE. The rules defines a vertical vessel that stands on a skirt on grade and has an elliptical head on the top as well as a label displaying the equipment identifier floating above the vessel. Although not necessary in PlantWise, it is recommended that a routing obstacle is also defined for equipment. The routing obstacles are always boxes and should include all of the equipment and service spaces. Multiple obstacles may be defined, however a small number is preferred. By including routing obstacles in equipment geometry, a PlantBuilder model can be opened in PlantWise with the additional AutoRouter upgrade and be routed with the addition of piping data.

The “element type description” differentiates between solid elements, obstacle elements, and service elements. This classification is identified by the type property of the element. If no type is specified, then the element is, by default, a solid element. The text element is identified by its geometric property. In the VERTICAL_VESSEL example, the SKIRT, VESSEL and TOP-HEAD are all basic elements. LABEL is a text element and OBSTACLE is an obstacle element. There is no service element in the VERTICAL_VESSEL.

Element Dimensions

All elements have a geometry specification. The elemental shape is identified by the property geometry. A specific set of dimension properties is defined for each element shape. For example, in the Vertical Vessel the VESSEL element is a cylinder with diameter and length attributes.

The dimensions can be determined by a logical expression written in infix notation. The infix notation is described in Appendix C - Language Syntaxes. These expressions may use equipment attribute values or element property values that have been defined prior to the current expression statement. All calculations will result in project main unit values. Important or useful attributes that can be referenced are listed in Appendix D - File Formats.

To refer to an equipment attribute, the variable in the expression is written as:
 equipment.<equipment attribute name>
where equipment identifies that the variable is an equipment attribute and the <equipment attribute name> is the name of one of the attributes in the equipment. In the VERTICAL_VESSEL example, the diameter of the VESSEL is referenced as equipment.diameter. This means that the diameter equals the main diameter of the equipment and defined either by a circle on the plot study or entered in the Equipment Editor dialog as the diameter of the VERTICAL_VESSEL.
Although the equipment. prefix is not required, is preferred for clarity and to distinguish itself from element attributes. Without a prefix, it is assumed that the variable can be found among the equipment attributes. In the VERTICAL_VESSEL example the radius of the TOP-HEAD is defined as:
0.5 * diameter
his diameter refers to the main dimension equipment.diameter.
To address a previously defined element property, the variable in the expression is written as:
<element name>.<element property name>
where <element name> is the name of the element in which the desired property value is defined and <element property name> is this property. In the VERTICAL_VESSEL example, the z-dimension of the element OBSTACLE equals the vessel.length (the length of the element VESSEL [the addressing is case insensitive]) added to the tophead.height (the height of the top-head element).

Mass Property Element Dimension

Non-graphic mass primitives allow you to make parametric definitions of mass properties via the geometry rules of the equipment class. Although not required, the mass primitive is intended to simplify repeated use of common equipment. As the use of the Mass Property primitive varies from organization to organization, Bentley Systems does NOT provide the use of the primitive in the default Equipment Library.

Because it is non-graphic, the mass primitive does not have dimension attributes; rather, the unique attributes of the primitive provide data necessary for calculating mass, volume, and moment of intertia values for the equipment:
  • Case: string, one of "empty" or "operating"
  • Commodity: string, name of a commodity code from the Commodity-Properties table (applicable for operating mass)
  • Density: number
  • Volume: number
  • Fill-capacity: number, between 0 and 1
  • Mx: number (moment of inertia about the local X axis)
  • My: number (moment of inertia about the local Y axis)
  • Mz: number (moment of inertia about the local Z axis)

Element Placement: Placement Point

Element placement is defend with the local-x-origin, local-y-origin and local-z-origin attributes. These expressions define the offset between the placement points of the equipment (0.0 0.0 0.0) and the element primitive. The x- and y-origins are the plan view coordinates and the z-origin is the elevation coordinate. In the VERTICAL_VESSEL example, the OBSTACLE element box needs to be centered on the origin. Because the origin of the box elemental shape is in its smallest x, smallest y, and smallest z corner, it is placed half of its x-dimension in the negative direction and half its y-dimension in the negative direction in relation to the placement point (the origin) of the equipment. For mass primitives, the placement point represents the equipment’s empty or operating center of gravity.

If a local origin coordinate is undefined, the default value is 0.0.

Element Placement: Rotation

Element placement is further defined with the local-x-origin, local-y-origin and local-z-origin attributes. Values for these attributes sets the amount of rotation about the primitive’s x-, y-, or z-axis. The order in which rotations are implemented is that of each rotation’s definition.
Note: equipment orientation corresponds to the y-axis of the geometry definition.
Note: when placing a piece of equipment using the Plot Study Reader, the rotation on the plot will align the y-axis with the longer dimension of a rectangle.

Similar to the local dimensions, the values of the local element origin coordinates and the local element rotations can be calculated using expressions. The local element origin coordinate calculations must result in values in the selected unit system. The local element rotation value calculations must result in degrees.

If a local rotation is undefined, the default value is 0.0.

Element Placement: Text Rotation

Because it is often desirable to position text globally in a readable way, the text element has its own rotation variable, rotation, which also allows the use of following global key values:
  • parallel: places the text string parallel to the equipment axis.
  • perpendicular: places the text string perpendicular to the equipment axis.
  • east-west: places the text string in the west to east direction of the plot.
  • north-south: places the text string in the south to north direction of the plot.
Referencing the local rotation of another element is another way to define the rotation of the text.

In the VERTICAL_VESSEL example, the rotation is defined always to be horizontal in plan view using the key value east-west.