IFC 4.3.0.0 (IFC4X3) final

8.9.3.30 IfcDirection

8.9.3.30.1 Semantic definition

The IfcDirection provides a direction in two or three dimensional space depending on the number of DirectionRatio's provided. The IfcDirection does not imply a vector length, and the direction ratios does not have to be normalized.

8.9.3.30.2 Entity inheritance

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

Click to show 2 hidden inherited attributes Click to hide 2 inherited attributes
IfcDirection (2)
1 DirectionRatios LIST [2:3] OF IfcReal

The components in the direction of X axis (DirectionRatios[1]), of Y axis (DirectionRatios[2]), and of Z axis (DirectionRatios[3])

* Dim IfcDimensionCount

This attribute is formally derived.

HIINDEX(DirectionRatios)

The space dimensionality of this class, defined by the number of real in the list of DirectionRatios.

Table 8.9.3.30.S

8.9.3.30.4 Formal propositions

Name Description
MagnitudeGreaterZero

The magnitude of the direction vector shall be greater than zero.

SIZEOF(QUERY(Tmp <* DirectionRatios | Tmp <> 0.0)) > 0
Table 8.9.3.30.T

8.9.3.30.5 Examples

8.9.3.30.6 Formal representation

ENTITY IfcDirection
 SUBTYPE OF (IfcGeometricRepresentationItem);
	DirectionRatios : LIST [2:3] OF IfcReal;
 DERIVE
	 Dim : IfcDimensionCount := HIINDEX(DirectionRatios);
 WHERE
	MagnitudeGreaterZero : SIZEOF(QUERY(Tmp <* DirectionRatios | Tmp <> 0.0)) > 0;
END_ENTITY;

8.9.3.30.7 References

8.9.3.30.8 Changelog

  • where_rules, MagnitudeGreaterZero
  • attributes DirectionRatios definition, Changed from list[2:3] of real to list[2:3] of IfcReal