IFC 4.3.x development

8.7.3.12 IfcGridPlacement

Change log

IFC4

modificationsattributes PlacementRefDirection definitionChanged from IfcVirtualGridIntersection to IfcGridPlacementDirectionSelect

8.7.3.12.1 Semantic definitions at the entity

IfcGridPlacement provides a specialization of IfcObjectPlacement in which the placement and axis direction of the object coordinate system is defined by a reference to the design grid as defined in IfcGrid.

The location of the object coordinate system is given by the attribute PlacementLocation. It is defined as an IfcVirtualGridIntersection, that is, an intersection between two grid axes with optional offsets.

The axis direction of the x-axis of the object coordinate system is given either:

  • PlacementRefDirection = NIL: by the tangent of the first grid axis (PlacementLocation.IntersectingAxes[1]) at the virtual intersection (maybe using the offset curve, if PlacementLocation.OffsetDistances is given);
  • PlacementRefDirection = IfcDirection: by the explicitly provided direction information;
  • PlacementRefDirection = IfcVirtualGridIntersection: by the tangent between the virtual grid intersection of PlacementLocation and the virtual grid intersection of PlacementRefDirection. Offsets as potentially provided in the IfcVirtualGridIntersection's of PlacementLocation and PlacementRefDirection have to be taken into account.

The direction of the y-axis of the IfcGridPlacement is the orthogonal complement to the x-axis. The plane defined by the x and y axis shall be co-planar to the xy plane of the local placement of the IfcGrid.

The direction of the z-axis is the orientation of the cross product of the x-axis and the y-axis, i.e. the z-axis of the IfcGridPlacement shall be co-linear to the z-axis of the local placement of the IfcGrid.

NOTE  The IfcGrid local placement, that can be provided relative to the local placement of another spatial structure element, has to be taken into account for calculating the absolute placement of the virtual grid intersection.

NOTE  The PlacementLocation.OffsetDistances[3] and the PlacementRefDirection.OffsetDistances[3] shall either not be assigned or should have the same z offset value.

The following figures show the usage of placement location and direction for an IfcGridPlacement.

without ref direction

Figure 1 illustrates the case where PlacementRefDirection is not given - the object coordinate system is defined by:

  • its location: given by the virtual grid intersection of PlacementLocation
  • its x-axis direction: given by the tangent of the first intersecting axis in the offset location of the virtual grid intersection

Figure 1 — Grid placement

 
with ref direction

Figure 2 illustrates the case where PlacementRefDirection is given as an IfcDirection- the object coordinate system is defined by:

  • its location: given by the virtual grid intersection of PlacementLocation
  • its x-axis direction: given by the DirectionRatios of the IfcDirection, only the ratios for x and y are taken into account,

Figure 2 — Grid placement with direction

 
with ref direction

Figure 3 illustrates the case where PlacementRefDirection is given as an IfcVirtualGridIntersection- the object coordinate system is defined by:

  • its location: given by the virtual grid intersection of PlacementLocation
  • its x-axis direction: given by the tangent of the line between the virtual grid intersection of the PlacementLocation and the virtual grid intersection of the PlacementRefDirection.

Figure 3 — Grid placement with intersection

 

HISTORY  New entity in IFC1.5. The entity name was changed from IfcConstrainedPlacement in IFC2x.

IFC4 CHANGE Attribute data type of PlacementRefDirection has been changed to IfcGridPlacementDirectionSelect.

8.7.3.12.1 Attributes

# Attribute Type Description
IfcObjectPlacement
PlacesObject SET [0:?] OF IfcProduct FOR ObjectPlacementThe IfcObjectPlacement shall be used to provide a placement and

an object coordinate system for instances of IfcProduct.

> If an IfcObjectPlacement is shared by many instances of IfcProduct it does not apply a semantic meaning of being a shared placement that needs to be maintained. The same instance of IfcObjectPlacement could simply be used to reduce exchange file size.

> IFC2x3 CHANGE  New inverse attribute.

> IFC4 CHANGE  The cardinality has changed to 0..n to allow reuse of instances of IfcObjectPlacement as placement object in one to many products. It takes also into account that it can act as a placement for IfcStructuralAnalysisModel.
1 PlacementRelTo OPTIONAL IfcObjectPlacement Reference to object placement that provides the relative placement with its placement in a grid, local coordinate system or linear referenced placement. If it is omitted, then in the case of linear placement it is established by the origin of horizontal alignment of the referenced IfcAlignment Axis. In the case of local placement it is established by the geometric representation context.
IfcGridPlacement
2 PlacementLocation IfcVirtualGridIntersection Placement of the object coordinate system defined by the intersection of two grid axes.
3 PlacementRefDirectionOPTIONAL IfcGridPlacementDirectionSelect Reference to either an explicit direction, or a second grid axis intersection, which defines the orientation of the grid placement.

> IFC4 CHANGE The select of an explict direction has been added.

8.7.3.12.2 Entity inheritance

dot_inheritance IfcGridPlacement IfcGridPlacement IfcObjectPlacement IfcObjectPlacement IfcGridPlacement->IfcObjectPlacement IfcLinearPlacement IfcLinearPlacement IfcLinearPlacement->IfcObjectPlacement IfcLocalPlacement IfcLocalPlacement IfcLocalPlacement->IfcObjectPlacement

8.7.3.12.3 Formal representations

ENTITY IfcGridPlacement
 SUBTYPE OF (IfcObjectPlacement);
	PlacementLocation : IfcVirtualGridIntersection;
	PlacementRefDirection : OPTIONAL IfcGridPlacementDirectionSelect;
END_ENTITY;