Class Ifc4::IfcSlabStandardCase

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4::IfcSlabStandardCase : public Ifc4::IfcSlab

The standard slab, IfcSlabStandardCase, defines a slab with certain constraints for the provision of material usage, parameters and with certain constraints for the geometric representation. The IfcSlabStandardCase handles all cases of slabs, that:

have a reference to the IfcMaterialLayerSetUsage defining the material layers of the slab with thicknesses are based on an extrusion of a planar surface as defined by the slab profile have a constant thickness along the extrusion direction are consistent in using the correct material layer set offset to the base planar surface in regard to the shape representation are extruded either perpendicular or slanted to the plane surface

The definitions of slab openings and niches are the same as given at the supertype IfcSlab. The same agreements to the special types of slabs, as defined in the PredefinedType attribute apply as well. HISTORY New entity in IFC2x Edition 4. Type Use Definition The IfcSlabStandardCase defines the occuurence of any slab, common information about slab types (or styles) is handled by IfcSlabType. The IfcSlabType (if present) may establish the commontype name, usage (or predefined) type, common set of properties, common material layer set, and common shape representations (using IfcRepresentationMap). The IfcSlabType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsDefinedBy attribute. The IfcSlabStandardCase defines in addition that the IfcSlabType should have a unique IfcMaterialLayerSet, that is referenced by theIfcMaterialLayerSetUsage assigned to all occurrences of this slab type.

Figure 123 illustrates assignment of IfcMaterialLayerSetUsage and IfcMaterialLayerSet to the IfcSlabStandardCase as the slab occurrence and to the IfcSlabType. The same IfcMaterialLayerSet shall be shared by many occurrences of IfcMaterialLayerSetUsage. This relationship shall be consistent to the relationship between the IfcSlabType and the IfcSlabStandardCase.

Figure 123 — Slab type definition

Material Use Definition The material of the IfcSlabStandardCase is defined by IfcMaterialLayerSetUsage and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Multi-layer slabs can be represented by refering to several IfcMaterialLayer’s within the IfcMaterialLayerSet that is referenced from the IfcMaterialLayerSetUsage. Material information can also be given at the IfcSlabType, defining the common attribute data for all occurrences of the same type.It is then accessible by the inverse IsDefinedBy relationship pointing to IfcSlabType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial. See Type Use Definition for additional agreements for standard slabs.

Figure 123 illustrates slab material usage, where the following conventions shall be met:

The reference coordinate system is the coordinate system established by the IfcExtrudedAreaSolid.Position. The reference plane is the plane defined by the extruded profile of IfcExtrudedAreaSolid.SweptSolid. The IfcMaterialLayerSetUsage.OffsetFromReferenceLine is given as a distance from this plane. The IfcMaterialLayerSetUsage.DirectionSense defines how the IfcMaterialLayer’s are assigned to the reference plane. POSITIVE means in direction to the positive z-axis of the reference coordinate system. The IfcMaterialLayerSetUsage.OffsetFromReferenceLine is the distance parallel to the reference plane and always perpendicular to the base (XY) plane of the reference coordinate system. This is independent of a potential non-perpendicular extrusion given by IfcExtrudedAreaSolid.ExtrudedDirection <> 0.,0.,1. A positive value of IfcMaterialLayerSetUsage.OffsetFromReferenceLine would then point into the positive z-axis of the reference coordinate system. The Thickness of each IfcMaterialLayer shall be the parallel distance (measured perpendicular to the base plane). The TotalThickness of the IfcMaterialLayerSet is the sum of all layer thicknesses and in case of a perpendicular extrusion identical with IfcExtrudedAreaSolid.Depth The IfcMaterialLayerSetUsage.LayerSetDirection is always AXIS3.

Figure 124 — Slab material layers

Property Set Use Definition: The property sets relating to the IfcSlabStandardCase are defined at the supertype IfcSlab. Quantity Use Definition The quantities relating to the IfcSlabStandardCase are defined at the supertype IfcSlab. Containment Use Definition The containment use definitions relating to the IfcSlabStandardCase are defined at the supertype IfcSlab.

Geometry Use Definitions The geometric representation of IfcSlabStandardCase is given by the IfcProductDefinitionShape, allowing multiple geometric representation. Included are:

NOTE If the IfcSlabStandardCase is of type Landing and is used within an IfcStair or IfcRamp, the special agreements to handle stair and ramp geometry will also affect the geometric representation of the IfcSlabStandardCase.

Local Placement The use of local placement is defined at the supertype IfcSlab. Geometric Representations Currently, the use of ‘SweptSolid’ and ‘Clipping’ representations is supported. In addition the general representation type ‘BoundingBox’ is allowed. The geometry use definitions for ‘BoundingBox’, is explained at IfcBuildingElement. SweptSolid Representation The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used for the ‘SweptSolid’ representation:

RepresentationIdentifier : ‘Body’ RepresentationType : ‘SweptSolid’

The following additional constraints apply to the swept solid representation:

Solid: IfcExtrudedAreaSolid is required, Profile: IfcArbitraryClosedProfileDef, IfcRectangleProfileDef, IfcCircleProfileDef, IfcEllipseProfileDef shall be supported. Extrusion: The profile can be extruded perpendicularly or non-perpendicularly to the plane of the swept profile. Material: The definition of the IfcMaterialLayerSetUsage, particularly of the OffsetFromReferenceLine and the ForLayerSet.TotalThickness, has to be consistent to the ‘SweptSolid’ representation.

Figure 125 illustrates a ‘SweptSolid’ geometric representation. NOTE The following interpretation of dimension parameter applies for polygonal slabs (in ground floor view):

IfcArbitraryClosedProfileDef.OuterCurve: closed bounded curve interpreted as area (or foot print) of the slab.

Figure 125 — Slab body extrusion

Clipping representation The ‘Clipping’ geometric representation of IfcSlabStandardCase is defined using the swept area geometry with additional clippings applied. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

RepresentationIdentifier : ‘Body’ RepresentationType : ‘Clipping’

The following constraints apply to the ‘Clipping’ representation:

Solid: see ‘SweptSolid’ shape representation, Profile:see ‘SweptSolid’ shape representation, Extrusion:see ‘SweptSolid’ shape representation, Material:see ‘SweptSolid’ shape representation, Boolean result: The IfcBooleanClippingResult shall be supported, allowing for Boolean differences between the swept solid (here IfcExtrudedAreaSolid) and one or several IfcHalfSpaceSolid.

Figure 126 illustrates a ‘Clipping’ geometric representation with definition of a roof slab using advanced geometric representation. The profile is extruded non-perpendicular and the slab body is clipped at the eave.

Figure 126 — Slab body clipping

Public Types

typedef IfcTemplatedEntityList<IfcSlabStandardCase> list

Public Functions

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

Public Static Functions

const IfcParse::entity &Class()