IFC 4.3.x development

8.9.3.14 IfcCartesianTransformationOperator2D

Change log

IFC4

additionswhere_rulesAxis1Is2D
additionswhere_rulesAxis2Is2D
additionswhere_rulesDimEqual2
deletionswhere_rulesWR1
deletionswhere_rulesWR2
deletionswhere_rulesWR3

8.9.3.14.1 Semantic definitions at the entity

An IfcCartesianTransformationOperator2D defines a geometric transformation in two-dimensional space.

NOTE  Definition according to ISO/CD 10303-42:1992
A Cartesian transformation operator 2d defines a geometric transformation in two-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 and axis2 by the base axis function. If |T|= -1, the transformation includes mirroring.

NOTE  Entity adapted from cartesian_transformation_operator_2d defined in ISO10303-42.

HISTORY  New entity in IFC2x.

8.9.3.14.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.
IfcCartesianTransformationOperator2D
U INVALID The list of mutually orthogonal, normalized vectors defining the transformation matrix T. They are derived from the explicit attributes Axis1 and Axis2 in that order.

8.9.3.14.2 Entity inheritance

dot_inheritance IfcCartesianTransformationOperator2DnonUniform IfcCartesianTransformationOperator2DnonUniform IfcCartesianTransformationOperator2D IfcCartesianTransformationOperator2D IfcCartesianTransformationOperator2DnonUniform->IfcCartesianTransformationOperator2D IfcCartesianTransformationOperator IfcCartesianTransformationOperator IfcCartesianTransformationOperator2D->IfcCartesianTransformationOperator IfcCartesianTransformationOperator3D IfcCartesianTransformationOperator3D IfcCartesianTransformationOperator3D->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.14.3 Formal representations

ENTITY IfcCartesianTransformationOperator2D
 SUPERTYPE OF (ONEOF
	(IfcCartesianTransformationOperator2DnonUniform))
 SUBTYPE OF (IfcCartesianTransformationOperator);
 DERIVE
	 U : LIST [2:2] OF IfcDirection := IfcBaseAxis(2,SELF\IfcCartesianTransformationOperator.Axis1,
SELF\IfcCartesianTransformationOperator.Axis2,?);
 WHERE
	DimEqual2 : SELF\IfcCartesianTransformationOperator.Dim = 2;
	Axis1Is2D : NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis1)) OR 
(SELF\IfcCartesianTransformationOperator.Axis1.Dim = 2);
	Axis2Is2D : NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis2)) OR 
(SELF\IfcCartesianTransformationOperator.Axis2.Dim = 2);
END_ENTITY;