IFC 4.3.x development IfcCartesianTransformationOperator3D

Change log


deletionswhere_rulesWR4 Semantic definitions at the entity

An IfcCartesianTransformationOperator defines a geometric transformation in three-dimensional space.

NOTE  Definition according to ISO/CD 10303-42:1992
A Cartesian transformation operator 3d defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrix T. These vectors are computed from the direction attributes axis1, axis2 and axis3 by the base axis function. If |T|= -1, the transformation includes mirroring.

NOTE  Entity adapted from cartesian_transformation_operator_3d defined in ISO10303-42.

HISTORY  New entity in IFC2x. Attributes

# Attribute Type Description
LayerAssignmentSET [0:1] OF IfcPresentationLayerAssignment FOR AssignedItemsAssignment of the representation item to a single or multiple layer(s). The LayerAssignments can override a LayerAssignments of the IfcRepresentation it is used within the list of Items.

> IFC2x3 CHANGE  The inverse attribute LayerAssignments has been added.

> IFC4 CHANGE  The inverse attribute LayerAssignment has been restricted to max 1. Upward compatibility for file based exchange is guaranteed.
StyledByItem SET [0:1] OF IfcStyledItem FOR Item Reference to the IfcStyledItem that provides presentation information to the representation, e.g. a curve style, including colour and thickness to a geometric curve.

> IFC2x3 CHANGE  The inverse attribute StyledByItem has been added.
1 Axis1 OPTIONAL IfcDirection The direction used to determine U[1], the derived X axis direction.
2 Axis2 OPTIONAL IfcDirection The direction used to determine U[2], the derived Y axis direction.
3 LocalOrigin IfcCartesianPoint The required translation, specified as a cartesian point. The actual translation included in the transformation is from the geometric origin to the local origin.
4 Scale OPTIONAL IfcReal The scaling value specified for the transformation.
Scl INVALID The derived scale S of the transformation, equal to scale if that exists, or 1.0 otherwise.
Dim INVALID The space dimensionality of this class, determined by the space dimensionality of the local origin.
5 Axis3 OPTIONAL IfcDirection The exact direction of U[3], the derived Z axis direction.
U INVALID The list of mutually orthogonal, normalized vectors defining the transformation matrix T. They are derived from the explicit attributes Axis3, Axis1, and Axis2 in that order. Entity inheritance

dot_inheritance IfcCartesianTransformationOperator3DnonUniform IfcCartesianTransformationOperator3DnonUniform IfcCartesianTransformationOperator3D IfcCartesianTransformationOperator3D IfcCartesianTransformationOperator3DnonUniform->IfcCartesianTransformationOperator3D IfcCartesianTransformationOperator IfcCartesianTransformationOperator IfcCartesianTransformationOperator3D->IfcCartesianTransformationOperator IfcCartesianTransformationOperator2D IfcCartesianTransformationOperator2D IfcCartesianTransformationOperator2D->IfcCartesianTransformationOperator IfcGeometricRepresentationItem IfcGeometricRepresentationItem IfcCartesianTransformationOperator->IfcGeometricRepresentationItem IfcGeometricRepresentationItem_children 24 more... IfcGeometricRepresentationItem_children->IfcGeometricRepresentationItem IfcRepresentationItem IfcRepresentationItem IfcGeometricRepresentationItem->IfcRepresentationItem IfcRepresentationItem_children 3 more... IfcRepresentationItem_children->IfcRepresentationItem Formal representations

ENTITY IfcCartesianTransformationOperator3D
 SUBTYPE OF (IfcCartesianTransformationOperator);
	Axis3 : OPTIONAL IfcDirection;
	 U : LIST [3:3] OF IfcDirection := IfcBaseAxis(3,SELF\IfcCartesianTransformationOperator.Axis1,
	DimIs3D : SELF\IfcCartesianTransformationOperator.Dim = 3;
	Axis1Is3D : NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis1)) OR 
(SELF\IfcCartesianTransformationOperator.Axis1.Dim = 3);
	Axis2Is3D : NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis2)) OR 
(SELF\IfcCartesianTransformationOperator.Axis2.Dim = 3);
	Axis3Is3D : NOT(EXISTS(Axis3)) OR (Axis3.Dim = 3);