Navigation

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.

Note: The scale factor (Scl) defined at the supertype cartesian transformation operator is used to express the scale 1 (normally x axis scale factor).

HISTORY: New class in IFC Release 2x.
ISSUE: See issue log for changes made 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.

References (1):

Name Type Referred through Express-G
IfcCartesianTransformationOperator3D Entity
Subtype
Diagram 4

Inheritance graph

ENTITY IfcCartesianTransformationOperator3DnonUniform;
ENTITY IfcRepresentationItem;
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;