Class Ifc4x1::IfcOpeningStandardCase

Nested Relationships

This class is a nested type of Struct Ifc4x1.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4x1::IfcOpeningStandardCase : public Ifc4x1::IfcOpeningElement

The standard opening, IfcOpeningStandardCase, defines an opening with certain constraints for the dimension parameters, position within the voided element, and with certain constraints for the geometric representation. The IfcOpeningStandardCase handles all cases of openings, that:

are true openings by cutting through the body of the voided element, i.e. where the opening depth is >= to the thickness of the element, are extruded perpendicular to the wall plane in case of openings in a wall are extruded perpendicular to the slab plane in case of openings in a slab have a local placement relative to the local placement of the voided element have a ‘Body’ shape representation with ‘SweptSolid’ representation type have only a single extrusion body within the ‘Body’ shape representation

HISTORY New entity in IFC2x4 Property Set Use Definition: The property sets relating to the IfcOpeningStandardCase are defined at the supertype IfcOpeningElement. Quantity Use Definition: The quantities relating to the IfcOpeningStandardCase are defined at the supertype IfcOpeningElement. Containment Use Definition The containment use definitions relating to the IfcOpeningStandardCase are defined at the supertype IfcOpeningElement. Geometry Use Definitions The geometric representation of IfcOpeningStandardCase is given by the IfcProductDefinitionShape and IfcLocalPlacement allowing multiple geometric representations. Local Placement The following constraint is mandatory for IfcOpeningStandardCase

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

Geometric Representation The geometric representation of IfcOpeningStandardCase is defined using the following multiple shape representations for its definition:

Body: A SweptSolid representation defining the 3D subtraction shape of the standard opening

Body Representation The body representation of IfcOpeningStandardCase is represented using the representation type ‘SweptSolid’. Swept Solid Representation Type with Horizontal Extrusion The standard geometric representation of IfcOpeningStandardCase is defined using the ‘SweptSolid’ representation. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used::

RepresentationIdentifier : ‘Body’ RepresentationType : ‘SweptSolid’

The following additional constraints apply to the swept solid representation:

Solid: a single IfcExtrudedAreaSolid is required Profile: IfcRectangleProfileDef, IfcCircleProfileDef and IfcArbitraryClosedProfileDef shall be supported. Extrusion: The profile shall be extruded horizontally (i.e. perpendicular to the extrusion direction of the voided element) for wall openings, or vertically (i.e. in the extrusion direction of the voided element), for slab openings.

As shown in Figure 37, the orientation of the opening profile that is extruded for the opening body shall guarantee the following interpretation of dimension parameter for rectangular openings:

IfcRectangleProfileDef.YDim interpreted as opening width IfcRectangleProfileDef.XDim interpreted as opening height

Figure 37 — Opening standard representation

Public Functions

const IfcParse::entity &declaration() const
IfcOpeningStandardCase(IfcEntityInstanceData *e)
IfcOpeningStandardCase(std::string v1_GlobalId, ::Ifc4x1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc4x1::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc4x1::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_Tag, boost::optional<::Ifc4x1::IfcOpeningElementTypeEnum::Value> v9_PredefinedType)

Public Static Functions

const IfcParse::entity &Class()