Navigation
Navigate Navigate Navigate Navigate Navigate Navigate Navigate Navigate

IfcGrid

Definition from IAI: A planar design grid (IfcGrid) defined in 3D space used as an aid in locating structural and design elements. The position of the grid (ObjectPlacement) is defined by a 3D coordinate system (and thereby the design grid can be used in plan, section or in any position relative to the world coordinate system). The position can be relative to the object placement of other products or grids. The XY plane of the 3D coordinate system is used to place the grid axes, which are 2D curves (e.g., line, circle, trimmed curve, polyline, or composite curve).

The inherited attributes Name and Description can be used to define a descriptive name of the grid and to indicate the grid's purpose. A grid is defined by (normally) two, or (in case of a triangular grid) three lists of grid axes. The following table shows some examples.

1 2 3
rectangular grid radial grid triangular grid

The grid axes, defined within the design grid, are those elements to which project objects will be placed relatively using the IfcGridPlacement.

HISTORY New entity in IFC Release 1.0.

Informal Proposition

  1. Grid axes, which are referenced in different lists of axes (UAxes, VAxes, WAxes) shall not be parallel.
  2. Grid axes should be defined such as there are no two grid axes which intersect twice.
IP2 Informal Proposition #2
  • left side: ambiguous intersections A1 and A2, a grid containing such grid axes is not a valid design grid.
  • right side: the conflict can be resolved by splitting one grid axis in a way, such as no ambiguous intersections exist.

Geometry Use Definitions

The geometric representation of IfcGrid is given by the IfcProductDefinitionShape, allowing geometric curve set geometric representation. Included are:

Local Placement

The local placement for IfcGrid is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

Geometric Representations

Currently, the use of a 2D 'FootPrint' representation of type 'Curve2D' or 'GeometricCurveSet' and a 3D 'Body' representation of type 'SweptSolid, 'Clipping' and 'Brep' is supported.

Standard Representation using geometric curve set representation

The 2D geometric representation of IfcGrid is defined using the 'GeometricCurveSet' geometry. The following attribute values should be inserted

The following constraints apply to the 2D representation:

Illustration

design grid

The IfcGrid defines a placement coordinate system using the ObjectPlacement. The XY plane of the coordinate system is used to place the 2D grid axes. The Representation of IfcGrid is defined using IfcProductRepresentation, referencing an IfcShapeRepresentation, that includes IfcGeometricCurveSet as Items. All grid axes are added as IfcPolyline to the IfcGeometricCurveSet.

The attributes UAxes and VAxes define lists of IfcGridAxis within the context of the grid. Each instance of IfcGridAxis refer to the same instance of IfcPolyline within the IfcGeometricCurveSet (above) that represents the IfcGridAxis.

EXPRESS specification:

ENTITY IfcGrid
SUBTYPE OF ( IfcProduct);
UAxes  :  LIST [1:?] OF UNIQUE IfcGridAxis;
VAxes  :  LIST [1:?] OF UNIQUE IfcGridAxis;
WAxes  :  OPTIONAL LIST [1:?] OF UNIQUE IfcGridAxis;
INVERSE
ContainedInStructure  :  SET [0:1] OF IfcRelContainedInSpatialStructure FOR RelatedElements;
WHERE
WR41  :  EXISTS(SELF\IfcProduct.ObjectPlacement);
END_ENTITY;

Attribute definitions:

UAxes  :  List of grid axes defining the first row of grid lines.
VAxes  :  List of grid axes defining the second row of grid lines.
WAxes  :  List of grid axes defining the third row of grid lines. It may be given in the case of a triangular grid.
ContainedInStructure  :  Relationship to a spatial structure element, to which the grid is primarily associated.
IFC2x PLATFORM CHANGE  The inverse relationship has been added to IfcGrid with upward compatibility

Formal Propositions:

WR41  :  The placement for the grid has to be given.

Inheritance graph

ENTITY IfcGrid;
ENTITY IfcRoot;
GlobalId  :  IfcGloballyUniqueId;
OwnerHistory  :  IfcOwnerHistory;
Name  :  OPTIONAL IfcLabel;
Description  :  OPTIONAL IfcText;
ENTITY IfcObjectDefinition;
INVERSE
HasAssignments  :  SET OF IfcRelAssigns FOR RelatedObjects;
IsDecomposedBy  :  SET OF IfcRelDecomposes FOR RelatingObject;
Decomposes  :  SET [0:1] OF IfcRelDecomposes FOR RelatedObjects;
HasAssociations  :  SET OF IfcRelAssociates FOR RelatedObjects;
ENTITY IfcObject;
ObjectType  :  OPTIONAL IfcLabel;
INVERSE
IsDefinedBy  :  SET OF IfcRelDefines FOR RelatedObjects;
ENTITY IfcProduct;
ObjectPlacement  :  OPTIONAL IfcObjectPlacement;
Representation  :  OPTIONAL IfcProductRepresentation;
INVERSE
ReferencedBy  :  SET OF IfcRelAssignsToProduct FOR RelatingProduct;
ENTITY IfcGrid;
UAxes  :  LIST [1:?] OF UNIQUE IfcGridAxis;
VAxes  :  LIST [1:?] OF UNIQUE IfcGridAxis;
WAxes  :  OPTIONAL LIST [1:?] OF UNIQUE IfcGridAxis;
INVERSE
ContainedInStructure  :  SET [0:1] OF IfcRelContainedInSpatialStructure FOR RelatedElements;
END_ENTITY;