additions | where_rules | Scale2GreaterZero |

additions | where_rules | Scale3GreaterZero |

deletions | where_rules | WR1 |

deletions | where_rules | WR2 |

modifications | attributes Scale2 definition | Changed from real to IfcReal |

modifications | attributes Scale3 definition | Changed from real to IfcReal |

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 supertypeIfcCartesianTransformationOperatoris used to express the calculatedScalefactor (normally x axis scale factor).HISTORY New entity in IFC2x.

# | Attribute | Type | Description |
---|---|---|---|

IfcRepresentationItem | |||

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. > IFC2x3 CHANGE The inverse attribute LayerAssignments has been added. > IFC4 CHANGE The inverse attribute LayerAssignment has been restricted to max 1. Upward compatibility for file based exchange is guaranteed. | |

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. > IFC2x3 CHANGE The inverse attribute StyledByItem has been added. | |

IfcGeometricRepresentationItem | |||

IfcCartesianTransformationOperator | |||

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 | INVALID | The derived scale S of the transformation, equal to scale if that exists, or 1.0 otherwise. | |

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

IfcCartesianTransformationOperator3D | |||

5 | Axis3 | OPTIONAL IfcDirection | The exact direction of U[3], the derived Z axis direction. |

U | INVALID | 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. | |

IfcCartesianTransformationOperator3DnonUniform | |||

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

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;