IFC 4.3.2.20241204 (IFC4X3_ADD2) under development

8.9.3.17 IfcCartesianTransformationOperator3DnonUniform

RV ⓘ
AbV ⓘ

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)
IfcCartesianTransformationOperator (6)
IfcCartesianTransformationOperator3D (2)
Click to show 10 hidden 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"