Close

Relief for ODA Team in Ukraine

Learn more
ODA IFC SDK
IfcOpeningElement Class
Syntax
C++
class IfcOpeningElement : public IfcFeatureElementSubtraction;

The opening element stands for opening, recess or chase, all reflecting voids. It represents a void within any element that has physical manifestation. Openings can be inserted into walls, slabs, beams, columns, or other elements. There are two different types of opening elements. The attribute PredefinedType should be used to capture the differences:

  • an opening, where the thickness of the opening is greater or equal to the thickness of the element — the attribute PredefinedType is set to OPENING
  • a recess or niche, where the thickness of the recess is smaller than the thickness of the element — the attribute PredefinedType is set to RECESS for a recess or niche.

 

If the value for PredefinedType is omitted, or the value is set to NOTDEFINED, no specific information of whether it is an opening or recess shall be assumed. 

An IfcOpeningElement has to be inserted into an IfcElement by using the IfcRelVoidsElement relationship. It can be filled by an IfcDoor, IfcWindow, or another filling element by using the relationship IfcRelFillsElements. Depending on the type of the IfcShapeRepresentation of the IfcOpeningElement the voiding relationship implies:

  • if the IfcShapeRepresentation.RepresentationIdentifier = 'Body', then the Body shape representation of the opening has to be subtracted from the body shape representation of the voided element - implicit Boolean difference operation.
  • if the IfcShapeRepresentation.RepresentationIdentifier = 'Reference', then the Reference shape representation of the opening is not subtracted, it is provided in addition to the hole in the Body shape representation of the voided element.

 

The IfcOpeningElement does not participate in the containment relationship, i.e. it is not linked directly to the spatial structure of the project. It has a mandatory VoidsElements inverse relationship pointing to the IfcElement that is contained in the spatial structure. The inverse relationship ContainedInStructure should be NIL. 

 

Body SweptSolid Geometry

The 'Body' representation of IfcOpeningElement can be represented using the representation types 'SweptSolid'. The following attribute values for the IfcShapeRepresentation holding this geometric representation are used:

  • IfcShapeRepresentation.RepresentationIdentifier: 'Body'
  • IfcShapeRepresentation.RepresentationType: 'SweptSolid'

 

The following constraints are recommended:

  • IfcShapeRepresentation.Items can include a single, or multiple, instances of IfcExtrudedAreaSolid.
  • IfcExtrudedAreaSolid.SweptArea supports IfcRectangleProfileDef, IfcCircleProfileDef and IfcArbitraryClosedProfileDef.
  • If multiple instances of IfcExtrudedAreaSolid are used, the extrusion direction of each extrusion should be equal.

 

If parametric profiles are used, the parameters can be interpreted to be the dimensions of the beam:

  • IfcRectangleProfileDef.YDim interpreted as beam height
  • IfcRectangleProfileDef.XDim interpreted as beam width

There are two main extrusion directions: perpendicular and parallel. 

For a perpendicular swept solid, IfcExtrudedAreaSolid.ExtrudedDirection extrudes the profile perpendicular to the element it is voiding. This can be horizontal for wall openings, or vertical for floor openings. The next image shows an opening with full extrusion: 

 

The next image shows an opening with recess extrusion: 

 

For a parallel swept solid,IfcExtrudedAreaSolid.ExtrudedDirection extrudes the profile parallel to the element it is voiding. This can be vertical in the case of walls. The image below shows a vertical extrusion with multiple extrusion bodies for the opening. Each extrusion body has a different extrusion length. 

 

 

Product Local Placement

The local placement for IfcOpeningElement 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.

  • The PlacementRelTo relationship of IfcLocalPlacement should point to the local placement of the element which is voided by the opening, i.e. referred to by VoidsElement.RelatingBuildingElement.

 

Property Sets for Objects

This concept can be applied to the following resources:

  • Pset_OpeningElementCommon

 

Quantity Sets

This concept can be applied to the following resources:

  • Qto_OpeningElementBaseQuantities

 

Reference Geometry

Since there are no Boolean operations, either as IfcBooleanResult or implicitly by IfcRelVoidsElement the geometry of the IfcOpeningElement is not be used to subtract the opening from the 'Body' shape representation of the voided element. 

 

Reference SweptSolid PolyCurve Geometry

Since there are no Boolean operations, either as IfcBooleanResult or implicitly by IfcRelVoidsElement the geometry of the IfcOpeningElement is not be used to subtract the opening from the 'Body' shape representation of the voided element. 

 

Reference Tessellation Geometry

Since there are no Boolean operations, either as IfcBooleanResult or implicitly by IfcRelVoidsElement the geometry of the IfcOpeningElement is not be used to subtract the opening from the 'Body' shape representation of the voided element.

The entity IfcOpeningStandardCase has been deleted. Use an IfcOpeningElement with a single extrusion body perpendicular to the wall or slab instead.

OdIfc4x2__IfcOpeningElementOdIfc4x2__IfcOpeningElementOdIfc4x2__IfcOpeningElementOdIfc4x2__IfcOpeningElementOdIfc4x2__IfcOpeningElementOdIfc4x2__IfcOpeningElementOdIfc4x2__IfcOpeningElementOdIfc4x2__IfcOpeningElementOdIfc4x2__IfcOpeningElementOdIfc4x2__IfcOpeningElementOdIfc4x2__IfcOpeningElementOdIfc4x2__IfcOpeningElementOdIfc4x2__IfcOpeningElement

File: IfcOpeningElementAutoImpl.h 

Namespace: OdIfc4x2 

Show:
No members matching the current filter
Show:
No members matching the current filter
Copyright © 2002-2022. Open Design Alliance All rights reserved.