Navigation

IfcCartesianTransformationOperator2DnonUniform

Definition from IAI: A Cartesian transformation operator 2d non uniform defines a geometric transformation in two-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 IfcCartesianTransformationOperator2DnonUniform
SUBTYPE OF ( IfcCartesianTransformationOperator2D);
Scale2  :  OPTIONAL REAL;
DERIVE
Scl2  :  REAL :=  NVL(Scale2, SELF\IfcCartesianTransformationOperator.Scl);
WHERE
WR1  :  Scl2 > 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.
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.

Formal Propositions:

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

References (1):

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

Inheritance graph

ENTITY IfcCartesianTransformationOperator2DnonUniform;
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 IfcCartesianTransformationOperator2D;
DERIVE
U  :  LIST [2:2] OF IfcDirection :=  IfcBaseAxis(2,SELF\IfcCartesianTransformationOperator.Axis1,
SELF\IfcCartesianTransformationOperator.Axis2,?);
ENTITY IfcCartesianTransformationOperator2DnonUniform;
Scale2  :  OPTIONAL REAL;
DERIVE
Scl2  :  REAL :=  NVL(Scale2, SELF\IfcCartesianTransformationOperator.Scl);
END_ENTITY;