6.1.2.38 IfcSlab

A slab is a component of the construction that normally encloses a space vertically. The slab may provide the lower support (floor) or upper construction (roof slab) in any space in a building. It shall be noted, that only the core or constructional part of this construction is considered to be a slap. The upper finish (flooring, roofing) and the lower finish (ceiling, suspended ceiling) are considered to be coverings. A special type of slab is the landing, described as a floor section to which one or more stair flights or ramp flights connect.

NOTE There is a representation of slabs for structural analysis provided by a proper subtype of IfcStructuralMember being part of the IfcStructuralAnalysisModel.

NOTE An arbitrary planar element to which this semantic information is not applicable or irrelevant shall be modeled as IfcPlate.

A slab may have openings, such as floor openings, or recesses. They are defined by an IfcOpeningElement attached to the slab using the inverse relationship HasOpenings pointing to IfcRelVoidsElement.

The IFC specification provides three entities for slab occurrences:

HISTORY New entity in IFC Release 2.0, it is a merger of the two previous entities IfcFloor, IfcRoofSlab, introduced in IFC Release 1.0

Type Use Definition

The IfcSlab defines the occurrence of any slab, common information about slab types (or styles) is handled by IfcSlabType. The IfcSlabType (if present) may establish the common type 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 IsTypedBy attribute.

If no IfcSlabType is attached (i.e. if only occurrence information is given) the PredefinedType should be provided. Values of the enumeration are .FLOOR. (the default), .ROOF., .LANDING., .BASESLAB. If set to .USERDEFINED. a user defined value can be provided by the ObjectType attribute.

Material Use Definition

The material of the IfcSlab is defined by IfcMaterialLayerSet, or IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Multi-layer slabs can be represented by referring to several IfcMaterialLayer's within the IfcMaterialLayerSet.

NOTE It is illegal to assign an IfcMaterialLayerSetUsage to an IfcSlab. Only the subtype IfcSlabStandardCase supports this concept.
NOTE Prismatic slabs, where the main face of the slab is extruded along the slab thickness, are exchanged as IfcSlabStandardCase, The material for IfcSlabStandardCase shall be defined by IfcMaterialLayerSetUsage. Multi-layer slabs can be represented by referring to several IfcMaterialLayer's within the IfcMaterialLayerSet.

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 IsTypedBy relationship pointing to IfcSlabType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial.

Property Set Use Definition:

The property sets relating to the IfcSlab are defined by the IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following property set definitions specific to the IfcSlab are part of this IFC release:

Property sets can also be given at the IfcSlabType, defining the common property data for all occurrences of the same type. It is then accessible by the inverse IsTypedBy relationship pointing to IfcSlabType.HasPropertySets. If both are given, then the properties directly assigned to IfcSlab overrides the properties assigned to IfcSlabType.

Quantity Use Definition

The quantities relating to the IfcSlab and IfcSlabStandardCase are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties relationship. It is accessible by the inverse IsDefinedBy relationship. The following base quantities are defined and should be exchanged with the IfcElementQuantity.Name = 'BaseQuantities'. Other quantities can be defined being subjected to local standard of measurement with another string value assigned to Name and a value provided for MethodOfMeasurement. Quantities shall never be assigned to the IfcSlabType.

Containment Use Definition

The IfcSlab, as any subtype of IfcBuildingElement, may participate in two different containment relationships. The first (and in most implementation scenarios mandatory) relationship is the hierarchical spatial containment, the second (optional) relationship is the aggregation within an element assembly.

The IfcSlab may also be an aggregate i.e. being composed by other elements and acting as an assembly using the objectified relationship IfcRelAggregates, referring to it by its inverse attribute SELF\IfcObjectDefinition.IsDecomposedBy. Components of a slab are described by instances of subtypes of IfcBuildingElement, with IfcBuildingElementPart as a special focus subtype that are aggregated to form a complex slab. In this case, the contained elements should not be additionally contained in the project spatial hierarchy, i.e. the inverse attribute SELF\IfcElement.ContainedInStructure of IfcBuildingElementPart (or other subtypes of IfcBuildingElement) should be NIL.

Geometry Use Definition

The geometric representation of IfcSlab is given by the IfcProductDefinitionShape, allowing multiple geometric representation. Included are:

NOTE. If the IfcSlab 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 IfcSlab.

Local Placement

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

Geometric Representation

Currently, the 'Surface', 'FootPrint', 'Body', and 'Box' representations are supported. The 'Box' representation includes the representation type 'BoundingBox' and is explained at IfcBuildingElement.

Surface Representation

The surfacic geometric representation of IfcSlab is defined using the 'Surface' representation.

NOTE The 'Surface' can be used to define a surfacic model of the building (e.g. for analytical purposes, or for reduced Level of Detail representation).

Body Representation

The body representation of IfcSlab can be represented using the representation types 'SweptSolid', 'Clipping', 'SurfaceModel', and 'Brep'. The representation types 'SurfaceModel' and 'Brep' are explained at IfcBuildingElement.

SweptSolid Representation Type

The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

If a corresponding material definition using IfcMaterialLayerSetUsage can be assigned, the subtype IfcSlabStandardCase shall be used.

The following additional constraints apply to the swept solid representation:

standard slab
EXAMPLE for '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.

Clipping Representation Type

The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

The following constraints apply to the 'Clipping' representation:

advanced slab
EXAMPLE for 'Clipping' geometric representation.
Definition of a roof slab using advanced geometric representation. The profile is extruded non-perpendicular and the slab body is clipped at the eave.

EXPRESS Specification

ENTITY IfcSlab
SUPERTYPE OF(ONEOF(IfcSlabElementedCase, IfcSlabStandardCase))
SUBTYPE OF IfcBuildingElement;
PredefinedType : OPTIONAL IfcSlabTypeEnum;
WHERE
CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR (PredefinedType <> IfcSlabTypeEnum.USERDEFINED) OR ((PredefinedType = IfcSlabTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType))
CorrectTypeAssigned : NOT(EXISTS(IsTypedBy)) OR ( IFCSHAREDBLDGELEMENTS.IFCSLABTYPE IN TYPEOF(IsTypedBy[1].RelatingType))
END_ENTITY;

EXPRESS-G Specification

Link to EXPRESS-G diagram

Attribute Definitions

PredefinedType : Predefined generic type for a slab that is specified in an enumeration. There may be a property set given specifically for the predefined types.
NOTE The PredefinedType shall only be used, if no type object IfcSlabType is assigned, providing its own IfcSlabType.PredefinedType.
FC2x PLATFORM CHANGE: The attribute has been changed into an OPTIONAL attribute.

Formal Propositions

CorrectPredefinedType : Either the PredefinedType attribute is unset (e.g. because an IfcSlabType is associated), or the inherited attribute ObjectType shall be provided, if the PredefinedType is set to USERDEFINED.
CorrectTypeAssigned : Either there is no slab type object associated, i.e. the IsTypedBy inverse relationship is not provided, or the associated type object has to be of type IfcSlabType.

Inheritance Graph

ENTITY IfcSlab
ENTITY IfcRoot
GlobalId : IfcGloballyUniqueId;
OwnerHistory : OPTIONAL IfcOwnerHistory;
Name : OPTIONAL IfcLabel;
Description : OPTIONAL IfcText;
ENTITY IfcObjectDefinition
INVERSE
HasAssignments : SET OF IfcRelAssigns FOR RelatedObjects;
Nests : SET [0:1] OF IfcRelNests FOR RelatedObjects;
IsNestedBy : SET OF IfcRelNests FOR RelatingObject;
HasContext : SET [0:1] OF IfcRelDeclares FOR RelatedDefinitions;
IsDecomposedBy : SET OF IfcRelAggregates FOR RelatingObject;
Decomposes : SET [0:1] OF IfcRelAggregates FOR RelatedObjects;
HasAssociations : SET OF IfcRelAssociates FOR RelatedObjects;
ENTITY IfcObject
ObjectType : OPTIONAL IfcLabel;
INVERSE
IsDeclaredBy : SET [0:1] OF IfcRelDefinesByObject FOR RelatedObjects;
Declares : SET OF IfcRelDefinesByObject FOR RelatingObject;
IsTypedBy : SET [0:1] OF IfcRelDefinesByType FOR RelatedObjects;
IsDefinedBy : SET OF IfcRelDefinesByProperties FOR RelatedObjects;
ENTITY IfcProduct
ObjectPlacement : OPTIONAL IfcObjectPlacement;
Representation : OPTIONAL IfcProductRepresentation;
INVERSE
ReferencedBy : SET OF IfcRelAssignsToProduct FOR RelatingProduct;
ENTITY IfcElement
Tag : OPTIONAL IfcIdentifier;
INVERSE
FillsVoids : SET [0:1] OF IfcRelFillsElement FOR RelatedBuildingElement;
ConnectedTo : SET OF IfcRelConnectsElements FOR RelatingElement;
IsInterferedByElements : SET OF IfcRelInterferesElements FOR RelatedElement;
InterferesElements : SET OF IfcRelInterferesElements FOR RelatingElement;
HasProjections : SET OF IfcRelProjectsElement FOR RelatingElement;
ReferencedInStructures : SET OF IfcRelReferencedInSpatialStructure FOR RelatedElements;
HasOpenings : SET OF IfcRelVoidsElement FOR RelatingElement;
IsConnectionRealization : SET OF IfcRelConnectsWithRealizingElements FOR RealizingElements;
ProvidesBoundaries : SET OF IfcRelSpaceBoundary FOR RelatedBuildingElement;
ConnectedFrom : SET OF IfcRelConnectsElements FOR RelatedElement;
ContainedInStructure : SET [0:1] OF IfcRelContainedInSpatialStructure FOR RelatedElements;
ENTITY IfcBuildingElement
INVERSE
HasCoverings : SET OF IfcRelCoversBldgElements FOR RelatingBuildingElement;
ENTITY IfcSlab
PredefinedType : OPTIONAL IfcSlabTypeEnum;
END_ENTITY;