IFC 4.3.x development

8.9.3.16 IfcCartesianTransformationOperator3D

Change log

IFC4

additionswhere_rulesAxis1Is3D
additionswhere_rulesAxis2Is3D
additionswhere_rulesAxis3Is3D
additionswhere_rulesDimIs3D
deletionswhere_rulesWR1
deletionswhere_rulesWR2
deletionswhere_rulesWR3
deletionswhere_rulesWR4

8.9.3.16.1 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.

8.9.3.16.1 Attributes

# Attribute Type Description
IfcRepresentationItem
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.
IfcGeometricRepresentationItem
IfcCartesianTransformationOperator
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.
IfcCartesianTransformationOperator3D
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.

8.9.3.16.2 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

8.9.3.16.3 Formal representations

ENTITY IfcCartesianTransformationOperator3D
 SUPERTYPE OF (ONEOF
	(IfcCartesianTransformationOperator3DnonUniform))
 SUBTYPE OF (IfcCartesianTransformationOperator);
	Axis3 : OPTIONAL IfcDirection;
 DERIVE
	 U : LIST [3:3] OF IfcDirection := IfcBaseAxis(3,SELF\IfcCartesianTransformationOperator.Axis1,
SELF\IfcCartesianTransformationOperator.Axis2,Axis3);
 WHERE
	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);
END_ENTITY;