PDM-UG: Explicitly defined transformations between geometric models
From WikiSTEP
This page belongs to the PDM Usage Guide.
Relationships between geometric models can be made modeled in an explicit manner by using instances of cartesian_transformation_operator.
The Instance Model: EXPRESS entities and attributes
The EXPRESS entities and attributes used to support the requirements of explicit definition of transformation between the elements of two representations is illustrated in Diagram 15, Diagram 16, and Diagram 17.

The scale attribute with a positive value different from 1.0 allows uniform scaling in addition to translation or identity.

An additional rotation or mirroring requires the definition of the three axis attributes. If all optional attributes are set, a composition of all kinds of transformation is possible.

Cartesian transformation operator
Cartesian_transformation_operator defines a geometric transformation composed of translation and rotation. Mirroring and scaling should not be used in the context of representing the geometric equivalent for an assembly structure. There are two subtypes of cartesian_transformation_operator:
- cartesian_transformation_operator_2d,
- cartesian_transformation_operator_3d.
Attributes
- The name attribute (inherited from supertype representation_item) provides a naming capability.
- The name attribute (inherited from functionally_defined_transformation) provides a naming capability.
- The description attribute can be used to provide optional further textual description.
- The axis1 attribute is the X axis direction of the transformation target.
- The axis2 attribute is the Y axis direction of the transformation target.
- The local_origin attribute is the required translation specified as a cartesian point. The actual translation included in the transformation is from the geometric origin to the local origin.
- The scale attribute is the scaling value specified for the translation.
- The axis3 attribute is the Z axis direction of the transformation target.
- The local_origin attribute is the required translation specified as a cartesian point. The actual translation included in the transformation is from the geometric origin to the local origin.
- The scale attribute is the scaling value specified for the translation.
- The axis3 attribute is the Z axis direction of the transformation target.
| ENTITY cartesian_transformation_operator | Attribute Population | Remarks |
| representation_item.name | type: label = string | |
| functionally_defined_transformation.name | type: label = string | |
| description | type: text = string | OPTIONAL |
| axis1 | type: entity = direction | OPTIONAL |
| axis2 | type: entity = direction | OPTIONAL |
| local_origin | type: entity = cartesian_point | |
| scale | type: REAL | OPTIONAL |
| axis3 | type: entity direction | OPTIONAL Attribute specific to cartesian_transformation_operator_3d |
A cartesian_transformation_operator_3d defines a geometric transformation composed of translation, rotation, mirroring and uniform scaling. Depending on what kind of transformation is implemented, certain optional attributes are required. With only local_origin given as an attribute, the transformation may be an identity or a translation.
===Preprocessor Recommendations=== A cartesian_transformation_operator is a subtype of geometric_representation_item, and has attributes populated with geometric entities. In consequence an instance of a cartesian_transformation_operator must be founded in (i.e., must exist as an element of) a shape_representation. It is thus recommended that the cartesian_transformation_operator be referenced as an item of the shape_representation that is the value of the attribute rep_2 of a shape_representation_relationship (e.g., the ‘parent’ shape_representation). In the context of an assembly, the rep_2 attribute points to the assembly definition as a target for the transformation of the component instance shape. This recommendation interprets the transformation to be part of the assembly shape rather than of the component shape.
===Postprocessor Recommendations=== None specified.
===Related Entities=== None specified

