IFC 4.3.2.20240128 (IFC4X3_ADD2) under development

8.9.3.17 IfcCartesianTransformationOperator3DnonUniform

RV ⓘ

8.9.3.17.1 Semantic definition

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

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

8.9.3.17.2 Entity inheritance

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

LocalOrigin.Dim

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

IfcCartesianTransformationOperator3D (2)
5 Axis3 OPTIONAL IfcDirection

The exact direction of U[3], the derived Z axis direction.

* U LIST [3:3] OF IfcDirection

This attribute is formally derived.

IfcBaseAxis(3,SELF\IfcCartesianTransformationOperator.Axis1,
SELF\IfcCartesianTransformationOperator.Axis2,Axis3)

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.

Click to show 10 hidden inherited attributes Click to hide 10 inherited attributes
IfcCartesianTransformationOperator3DnonUniform (4)
6 Scale2 OPTIONAL IfcReal

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

7 Scale3 OPTIONAL IfcReal

The scaling value specified for the transformation along the axis 3. This is normally the z 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.

* Scl3 IfcReal

This attribute is formally derived.

NVL(Scale3, SELF\IfcCartesianTransformationOperator.Scl)

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

Table 8.9.3.17.D

8.9.3.17.4 Formal propositions

Name Description
Scale2GreaterZero

The derived scaling Scl2 shall be greater than zero.

Scl2 > 0.0
Scale3GreaterZero

The derived scaling Scl3 shall be greater than zero.

Scl3 > 0.0
Table 8.9.3.17.E

8.9.3.17.5 Examples

8.9.3.17.6 Formal representation

ENTITY IfcCartesianTransformationOperator3DnonUniform
 SUBTYPE OF (IfcCartesianTransformationOperator3D);
	Scale2 : OPTIONAL IfcReal;
	Scale3 : OPTIONAL IfcReal;
 DERIVE
	 Scl2 : IfcReal := NVL(Scale2, SELF\IfcCartesianTransformationOperator.Scl);
	 Scl3 : IfcReal := NVL(Scale3, SELF\IfcCartesianTransformationOperator.Scl);
 WHERE
	Scale2GreaterZero : Scl2 > 0.0;
	Scale3GreaterZero : Scl3 > 0.0;
END_ENTITY;

Edit on Github


Is this page difficult to understand? Let us know!

8.9.3.17.7 Changelog

8.9.3.17.7.1 IFC4

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