IFC (IFC4X3_ADD2) under development IfcCartesianTransformationOperator2DnonUniform

RV ⓘ
AbV ⓘ Semantic definition

A Cartesian transformation operator 2d non uniform defines a geometric transformation in two-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by two different scaling factors:

If the Scale factor (at supertype IfcCartesianTransformationOperator) is omitted, it defaults to 1.0. If the Scale2 factor is omitted, it defaults to the value of Scale (the x axis scale factor). Entity inheritance Attributes

# Attribute Type Description
IfcRepresentationItem (2)
LayerAssignment SET [0:1] OF IfcPresentationLayerAssignment FOR AssignedItems

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

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.

IfcCartesianTransformationOperator (6)
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 IfcReal

This attribute is formally derived.

NVL(Scale, 1.0)

The derived scale S of the transformation, equal to scale if that exists, or 1.0 otherwise.

* Dim IfcDimensionCount

This attribute is formally derived.


The space dimensionality of this class, determined by the space dimensionality of the local origin.

IfcCartesianTransformationOperator2D (1)
* U LIST [2:2] OF IfcDirection

This attribute is formally derived.


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.

Click to show 9 hidden inherited attributes Click to hide 9 inherited attributes
IfcCartesianTransformationOperator2DnonUniform (2)
5 Scale2 OPTIONAL IfcReal

The scaling value specified for the transformation along the axis 2. This is normally the y scale factor.

* Scl2 IfcReal

This attribute is formally derived.

NVL(Scale2, SELF\IfcCartesianTransformationOperator.Scl)

The derived scale S(2) of the transformation along the axis 2 (normally the y axis), equal to Scale2 if that exists, or equal to the derived Scl1 (normally the x axis scale factor) otherwise.

Table Formal propositions

Name Description

The derived scaling Scl2 shall be greater than zero.

Scl2 > 0.0
Table Formal representation

ENTITY IfcCartesianTransformationOperator2DnonUniform
 SUBTYPE OF (IfcCartesianTransformationOperator2D);
	Scale2 : OPTIONAL IfcReal;
	 Scl2 : IfcReal := NVL(Scale2, SELF\IfcCartesianTransformationOperator.Scl);
	Scale2GreaterZero : Scl2 > 0.0;

Edit on Github

Is this page difficult to understand? Let us know! Changelog IFC4

  • where rule, Scale2GreaterZero
  • where rule, WR1
  • attribute Scale2 type, Changed from "real" to "IfcReal"