IFC 4.4.0.0 build 20261005 (IFC4X4_DEV_20260525) ⚠ buildingSMART Working Draft. All content is under development.

  • Help suggest improvements
  • Get user or developer support

8.9.3.16 IfcCartesianTransformationOperator3D

RV ⓘ
AbV ⓘ

8.9.3.16.1 Semantic definition

An IfcCartesianTransformationOperator defines a geometric transformation in three-dimensional space.

{ .extDef}

8.9.3.16.2 Entity inheritance

8.9.3.16.3 Attributes

# Attribute Type Description
IfcRepresentationItem (2)
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.

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.

IfcCartesianTransformationOperator (6)
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 IfcReal

This attribute is formally derived.

 NVL(Scale, 1.0)

The derived scale S of the transformation, equal to scale if that exists, or 1.0 otherwise.

* Dim IfcDimensionCount

This attribute is formally derived.

 LocalOrigin.Dim

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

Click to show 8 hidden inherited attributes Click to hide 8 inherited attributes
IfcCartesianTransformationOperator3D (2)
5 Axis3 OPTIONAL IfcDirection

The exact direction of U[3], the derived Z axis direction.

* U LIST [3:3] OF IfcDirection

This attribute is formally derived.

 IfcBaseAxis(3,SELF\IfcCartesianTransformationOperator.Axis1,
SELF\IfcCartesianTransformationOperator.Axis2,Axis3)

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.

Table A

8.9.3.16.4 Formal propositions

Name Description
Axis1Is3D

The inherited Axis1 should have (if given) the dimensionality of 3.

NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis1)) OR
(SELF\IfcCartesianTransformationOperator.Axis1.Dim = 3)
Axis2Is3D

The inherited Axis2 should have (if given) the dimensionality of 3.

NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis2)) OR
(SELF\IfcCartesianTransformationOperator.Axis2.Dim = 3)
Axis3Is3D

The Axis3 should have (if given) the dimensionality of 3.

NOT(EXISTS(Axis3)) OR (Axis3.Dim = 3)
DimIs3D

The coordinate space dimensionality of this entity shall be 3.

SELF\IfcCartesianTransformationOperator.Dim = 3
Table B

8.9.3.16.5 Formal representation

ENTITY IfcCartesianTransformationOperator3D
SUPERTYPE OF (ONEOF
(IfcCartesianTransformationOperator3DnonUniform))
SUBTYPE OF (IfcCartesianTransformationOperator);
Axis3 : OPTIONAL IfcDirection;
DERIVE
U : LIST [3:3] OF IfcDirection := IfcBaseAxis(3,SELF\IfcCartesianTransformationOperator.Axis1,
SELF\IfcCartesianTransformationOperator.Axis2,Axis3);
WHERE
Axis1Is3D : NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis1)) OR
(SELF\IfcCartesianTransformationOperator.Axis1.Dim = 3);
Axis2Is3D : NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis2)) OR
(SELF\IfcCartesianTransformationOperator.Axis2.Dim = 3);
Axis3Is3D : NOT(EXISTS(Axis3)) OR (Axis3.Dim = 3);
DimIs3D : SELF\IfcCartesianTransformationOperator.Dim = 3;
END_ENTITY;

Edit on Github

3 contributor(s): ArturTomczakDion MoultbSI-Bot
Last change: Improve definition split (#876) * bring back headers headers were previously removed by mistake, now bringing them back * add new lines and rename the tag add the word 'short' in it * unify newlines make exactly one newline before and two after the tag * resolving typos Because bringing back headers required to go back in time to previous version, I'm now re-resolving the issues: #861, #860, #856 by ArturTomczak on 2024-07-16T16:07:28+02:00

Is this page difficult to understand? Let us know!

8.9.3.16.6 Changelog

8.9.3.16.6.1 IFC4

  • where rule, Axis1Is3D
  • where rule, Axis2Is3D
  • where rule, Axis3Is3D
  • where rule, DimIs3D
  • where rule, WR1
  • where rule, WR2
  • where rule, WR3
  • where rule, WR4