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.
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.
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.
0.5 * diameterhis diameter refers to the main dimension equipment.diameter.
<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.
- 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
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
In the VERTICAL_VESSEL example, the rotation is defined always to be horizontal in plan view using the key value east-west.