Navigation

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 (GridPlacement) 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. Examples for the use of a description are "the grid can be orthogonal, angular, or polar", or "a grid can be used for a structural grid, planning grid, or any type of grid to which objects will be aligned".

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 rectangular grid
2 radial gid
3 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
ISSUES: See issue log for changes made in IFC Release 2x.

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 IfcGrid does not include geometry directly, other than the position coordinate system used by all grid axes contained. The IfcAxis2Placement is used to define the coordinate system.

Illustration

design grid

The design grid defines a placement coordinate system. The XY plane of the coordinate system is used to place the 2D grid axes.

The attributes UAxes and VAxes references all grid axes (based on 2D curves) defined within the context of the design grid.

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;
WHERE
WR1  :  EXISTS(SELF\IfcProduct.ObjectPlacement);
WR2  :  NOT(EXISTS(SELF\IfcProduct.Representation));
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.

Formal Propositions:

WR1  :  The placement for the grid has to be given.
WR2  :  No representations should be given to the grid.

References (1):

Name Type Referred through Express-G
IfcProduct Entity
Subtype
Diagram 1

Inheritance graph

ENTITY IfcGrid;
ENTITY IfcRoot;
GlobalId  :  IfcGloballyUniqueId;
OwnerHistory  :  IfcOwnerHistory;
Name  :  OPTIONAL IfcLabel;
Description  :  OPTIONAL IfcText;
ENTITY IfcObject;
ObjectType  :  OPTIONAL IfcLabel;
INVERSE
IsDefinedBy  :  SET OF IfcRelDefines FOR RelatedObjects;
HasAssociations  :  SET OF IfcRelAssociates FOR RelatedObjects;
HasAssignments  :  SET OF IfcRelAssigns FOR RelatedObjects;
Decomposes  :  SET OF IfcRelDecomposes FOR RelatedObjects;
IsDecomposedBy  :  SET [0:1] OF IfcRelDecomposes FOR RelatingObject;
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;
END_ENTITY;