IfcGridAxis

Natural language names
deRasterachse
enGrid Axis
frAxe de grille
Semantic definitions at the entity
Entity 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

As shown in Figure 298, 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.

Figure 298 — Grid axis

 
HISTORY  New entity in IFC1.0
Attribute definitions
#AttributeTypeCardinalityDescription C
1AxisTagIfcLabel[0:1] The tag or name for this grid axis.X
2AxisCurveIfcCurve[1:1] Underlying curve which provides the geometry for this grid axis.X
3SameSenseIfcBoolean[1:1] Defines whether the original sense of curve is used or whether it is reversed in the context of the grid axis.X
PartOfWIfcGrid
@WAxes
S[0:1]If provided, the IfcGridAxis is part of the WAxes of IfcGrid. X
PartOfVIfcGrid
@VAxes
S[0:1]If provided, the IfcGridAxis is part of the VAxes of IfcGrid. X
PartOfUIfcGrid
@UAxes
S[0:1]If provided, the IfcGridAxis is part of the UAxes of IfcGrid. X
HasIntersectionsIfcVirtualGridIntersection
@IntersectingAxes
S[0:?]The reference to a set of 's, that connect other grid axes to this grid axis. X
Formal Propositions
RuleDescription
WR1The dimensionality of the grid axis is 2.
WR2The 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.
Inherited definitions from supertypes
Entity inheritance
Attribute inheritance
#AttributeTypeCardinalityDescriptionC
IfcGridAxis
1AxisTagIfcLabel[0:1] The tag or name for this grid axis.X
2AxisCurveIfcCurve[1:1] Underlying curve which provides the geometry for this grid axis.X
3SameSenseIfcBoolean[1:1] Defines whether the original sense of curve is used or whether it is reversed in the context of the grid axis.X
PartOfWIfcGrid
@WAxes
S[0:1]If provided, the IfcGridAxis is part of the WAxes of IfcGrid. X
PartOfVIfcGrid
@VAxes
S[0:1]If provided, the IfcGridAxis is part of the VAxes of IfcGrid. X
PartOfUIfcGrid
@UAxes
S[0:1]If provided, the IfcGridAxis is part of the UAxes of IfcGrid. X
HasIntersectionsIfcVirtualGridIntersection
@IntersectingAxes
S[0:?]The reference to a set of 's, that connect other grid axes to this grid axis. X
Examples
Formal representations
XSD Specification
 <xs:element name="IfcGridAxis" type="ifc:IfcGridAxis" substitutionGroup="ifc:Entity" nillable="true"/>
 <xs:complexType name="IfcGridAxis">
  <xs:complexContent>
   <xs:extension base="ifc:Entity">
    <xs:sequence>
     <xs:element name="AxisCurve" type="ifc:IfcCurve" nillable="true"/>
    </xs:sequence>
    <xs:attribute name="AxisTag" type="ifc:IfcLabel" use="optional"/>
    <xs:attribute name="SameSense" type="ifc:IfcBoolean" use="optional"/>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>
EXPRESS Specification
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 OF IfcVirtualGridIntersection FOR IntersectingAxes;
 WHERE
  WR1 : AxisCurve.Dim = 2;
  WR2 : (SIZEOF(PartOfU) = 1) XOR (SIZEOF(PartOfV) = 1) XOR (SIZEOF(PartOfW) = 1);
END_ENTITY;

Link to EXPRESS-G diagram EXPRESS-G diagram

Link to this page  Link to this page