KartesischeTransformation - dreidimensional nicht gleichmäßig (3D) | |
Cartesian Transformation Operator 3D Non-uniform | |
Opérateur 3D de transformation cartésienne non uniforme |
Item | SPF | XML | Change | Description | IFC4 Addendum 1 |
---|---|---|---|---|
IfcCartesianTransformationOperator3DnonUniform | ||||
Scale | MODIFIED | Type changed from REAL to IfcReal. | ||
Scale2 | MODIFIED | Type changed from REAL to IfcReal. | ||
Scale3 | MODIFIED | Type 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:
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 IFC2x.
# | Attribute | Type | Cardinality | Description | G |
---|---|---|---|---|---|
6 | Scale2 | IfcReal | ? | The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. | X |
7 | Scale3 | IfcReal | ? | The scaling value specified for the transformation along the axis 3. This is normally the z scale factor. | X |
Scl2 :=NVL(Scale2, SELF\IfcCartesianTransformationOperator.Scl) | IfcReal | 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. | X | ||
Scl3 :=NVL(Scale3, SELF\IfcCartesianTransformationOperator.Scl) | IfcReal | 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. | X |
Rule | Description |
---|---|
Scale2GreaterZero | The derived scaling Scl2 shall be greater than zero. |
Scale3GreaterZero | The derived scaling Scl3 shall be greater than zero. |
# | Attribute | Type | Cardinality | Description | G |
---|---|---|---|---|---|
IfcRepresentationItem | |||||
LayerAssignment | IfcPresentationLayerAssignment @AssignedItems | S[0:1] | 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. | X | |
StyledByItem | IfcStyledItem @Item | S[0:1] | 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. | X | |
IfcGeometricRepresentationItem | |||||
IfcCartesianTransformationOperator | |||||
1 | Axis1 | IfcDirection | ? | The direction used to determine U[1], the derived X axis direction. | X |
2 | Axis2 | IfcDirection | ? | The direction used to determine U[2], the derived Y axis direction. | X |
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. | X | |
4 | Scale | IfcReal | ? | The scaling value specified for the transformation. | X |
Scl :=NVL(Scale, 1.0) | IfcReal | The derived scale S of the transformation, equal to scale if that exists, or 1.0 otherwise. | X | ||
Dim :=LocalOrigin.Dim | IfcDimensionCount | The space dimensionality of this class, determined by the space dimensionality of the local origin. | X | ||
IfcCartesianTransformationOperator3D | |||||
5 | Axis3 | IfcDirection | ? | The exact direction of U[3], the derived Z axis direction. | X |
U :=IfcBaseAxis(3,SELF\IfcCartesianTransformationOperator.Axis1, SELF\IfcCartesianTransformationOperator.Axis2,Axis3) | IfcDirection | L[3:3] | 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. | X | |
IfcCartesianTransformationOperator3DnonUniform | |||||
6 | Scale2 | IfcReal | ? | The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. | X |
7 | Scale3 | IfcReal | ? | The scaling value specified for the transformation along the axis 3. This is normally the z scale factor. | X |
Scl2 :=NVL(Scale2, SELF\IfcCartesianTransformationOperator.Scl) | IfcReal | 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. | X | ||
Scl3 :=NVL(Scale3, SELF\IfcCartesianTransformationOperator.Scl) | IfcReal | 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. | X |
<xs:element name="IfcCartesianTransformationOperator3DnonUniform" type="ifc:IfcCartesianTransformationOperator3DnonUniform" substitutionGroup="ifc:IfcCartesianTransformationOperator3D" nillable="true"/>
<xs:complexType name="IfcCartesianTransformationOperator3DnonUniform">
<xs:complexContent>
<xs:extension base="ifc:IfcCartesianTransformationOperator3D">
<xs:attribute name="Scale2" type="ifc:IfcReal" use="optional"/>
<xs:attribute name="Scale3" type="ifc:IfcReal" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
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;