IFC 4.3.0.0 (IFC4X3) final

8.7.3.11 IfcGridAxis

8.7.3.11.1 Semantic definition

An individual axis, IfcGridAxis, is defined in the context of a design grid. The axis definition is based on a curve of dimensionality 2. The grid axis is positioned within the XY plane of the position coordinate system defined by the IfcGrid.

The standard geometric representation of IfcGridAxis is defined using a 2D curve entity. Grid axes are normally defined by an offset to another axis. The IfcOffsetCurve2D supports this concept. Each grid axis has a sense given by the parameterization of the curve. The attribute SameSense is an indicator of whether or not the sense of the grid axis agrees with, or opposes, that of the underlying curve.

design grid
Figure 8.7.3.11.A — Grid axis

As shown in Figure 8.7.3.11.A, the grid axis is defined as a 2D curve within the xy plane of the position coordinate system. Any curve can be used to define a grid axis, most common is the use of IfcLine for linear grids and IfcCircle for radial grids.

Most grids are defined by a pair of axis lists, each defined by a base grid axis and axes given by an offset to the base axis. The use of IfcOffsetCurve2D as underlying AxisCurve supports this concept.

8.7.3.11.2 Entity inheritance

8.7.3.11.3 Attributes

# Attribute Type Description
IfcGridAxis (7)
1 AxisTag OPTIONAL IfcLabel

The tag or name for this grid axis.

2 AxisCurve IfcCurve

Underlying curve which provides the geometry for this grid axis.

3 SameSense IfcBoolean

Defines whether the original sense of curve is used or whether it is reversed in the context of the grid axis.

PartOfW SET [0:1] OF IfcGrid FOR WAxes

If provided, the IfcGridAxis is part of the WAxes of IfcGrid.

PartOfV SET [0:1] OF IfcGrid FOR VAxes

If provided, the IfcGridAxis is part of the VAxes of IfcGrid.

PartOfU SET [0:1] OF IfcGrid FOR UAxes

If provided, the IfcGridAxis is part of the UAxes of IfcGrid.

HasIntersections SET [0:?] OF IfcVirtualGridIntersection FOR IntersectingAxes

The reference to a set of <IfcVirtualGridIntersection's, that connect other grid axes to this grid axis.

Table 8.7.3.11.B

8.7.3.11.4 Formal propositions

Name Description
WR1

The dimensionality of the grid axis is 2.

AxisCurve.Dim = 2
WR2

The IfcGridAxis needs to be used by exactly one of the three attributes of IfcGrid: * UAxes * VAxes * WAxes

i.e. it can only refer to a single instance of IfcGrid in one of the three list of axes.

(SIZEOF(PartOfU) = 1) XOR (SIZEOF(PartOfV) = 1) XOR (SIZEOF(PartOfW) = 1)
Table 8.7.3.11.C

8.7.3.11.5 Formal representation

ENTITY IfcGridAxis;
	AxisTag : OPTIONAL IfcLabel;
	AxisCurve : IfcCurve;
	SameSense : IfcBoolean;
 INVERSE
	PartOfW : SET [0:1] OF IfcGrid FOR WAxes;
	PartOfV : SET [0:1] OF IfcGrid FOR VAxes;
	PartOfU : SET [0:1] OF IfcGrid FOR UAxes;
	HasIntersections : SET [0:?] OF IfcVirtualGridIntersection FOR IntersectingAxes;
 WHERE
	WR1 : AxisCurve.Dim = 2;
	WR2 : (SIZEOF(PartOfU) = 1) XOR (SIZEOF(PartOfV) = 1) XOR (SIZEOF(PartOfW) = 1);
END_ENTITY;

8.7.3.11.6 References