IfcCartesianTransformationOperator3DnonUniform

Definition from IAI: 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:

- SELF\IfcCartesianTransformationOperator.Scale: the x axis scale factor
- Scale2: the y axis scale factor
- Scale3: the z axis scale factor

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

> NOTE: The scale factor (Scl) defined at the supertype IfcCartesianTransformationOperator is used to express the calculated Scale factor (normally x axis scale factor).

> HISTORY: New entity in IFC Release 2x.

EXPRESS specification:

ENTITY IfcCartesianTransformationOperator3DnonUniform
SUBTYPE OF ( | IfcCartesianTransformationOperator3D);
Scale2 | : | OPTIONAL REAL;
Scale3 | : | OPTIONAL REAL;
DERIVE
Scl2 | : | REAL := NVL(Scale2, SELF\IfcCartesianTransformationOperator.Scl);
Scl3 | : | REAL := NVL(Scale3, SELF\IfcCartesianTransformationOperator.Scl);
WHERE
WR1 | : | Scl2 > 0.0;
WR2 | : | Scl3 > 0.0;
END_ENTITY;

Attribute definitions:

Scale2 | : | The scaling value specified for the transformation along the axis 2. This is normally the y scale factor.
Scale3 | : | The scaling value specified for the transformation along the axis 3. This is normally the z scale factor.
Scl2 | : | 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 | : | 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.

Formal Propositions:

WR1 | : | The derived scaling Scl2 shall be greater than zero.
WR2 | : | The derived scaling Scl3 shall be greater than zero.

Inheritance graph

ENTITY IfcCartesianTransformationOperator3DnonUniform;
ENTITY IfcRepresentationItem;
INVERSE
LayerAssignments | : | SET OF IfcPresentationLayerAssignment FOR AssignedItems;
StyledByItem | : | SET [0:1] OF IfcStyledItem FOR Item;
ENTITY IfcGeometricRepresentationItem;
ENTITY IfcCartesianTransformationOperator;
Axis1 | : | OPTIONAL IfcDirection;
Axis2 | : | OPTIONAL IfcDirection;
LocalOrigin | : | IfcCartesianPoint;
Scale | : | OPTIONAL REAL;
DERIVE
Scl | : | REAL := NVL(Scale, 1.0);
Dim | : | IfcDimensionCount := LocalOrigin.Dim;
ENTITY IfcCartesianTransformationOperator3D;
Axis3 | : | OPTIONAL IfcDirection;
DERIVE
U | : | LIST [3:3] OF IfcDirection := IfcBaseAxis(3,SELF\IfcCartesianTransformationOperator.Axis1, SELF\IfcCartesianTransformationOperator.Axis2,Axis3);
ENTITY IfcCartesianTransformationOperator3DnonUniform;
Scale2 | : | OPTIONAL REAL;
Scale3 | : | OPTIONAL REAL;
DERIVE
Scl2 | : | REAL := NVL(Scale2, SELF\IfcCartesianTransformationOperator.Scl);
Scl3 | : | REAL := NVL(Scale3, SELF\IfcCartesianTransformationOperator.Scl);
END_ENTITY;