IFC 4.3.0.0 (IFC4X3) final

8.9.3.16 IfcCartesianTransformationOperator3D

8.9.3.16.1 Semantic definition

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

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 8.9.3.16.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 8.9.3.16.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;

8.9.3.16.6 Changelog

  • where_rules, Axis1Is3D
  • where_rules, Axis2Is3D
  • where_rules, Axis3Is3D
  • where_rules, DimIs3D
  • where_rules, WR1
  • where_rules, WR2
  • where_rules, WR3
  • where_rules, WR4