IfcSlab

Definition from IAI: 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 slab. 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. May or may not be adjacent to a building storey floor.

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.

A particular usage type for the IfcSlab can be given (if type information is available) by referring to the type object IfcSlabType, using the IfcRelDefinesByType relationship, or (if only occurrence information is given) by using the PredefinedType attribute. Values of the enumeration are 'Floor' (the default), 'Roof', 'Landing', 'Baseslab', 'Notdefined'. If the value 'UserDefined' is chosen, the user defined value needs to be given at the attribute ObjectType.

> 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 occuurence 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 IsDefinedBy attribute.

As an additional use agreement for standard slabs (i.e. slabs with constant thickness along the extrusion direction), the IfcSlabType should have a unique IfcMaterialLayerSet, that is referenced by the IfcMaterialLayerSetUsage assigned to all occurrences of this slab type.

| Assignment of IfcMaterialLayerSetUsage and IfcMaterialLayerSet to the slab type and the slab occurrence.

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:

- Pset_SlabCommon: common property set for all slab occurrences

Material Use Definition

The material of the IfcSlab is defined by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. For prismatic slabs, where the main face of the slab is extruded along the slab thickness, the material 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 IsDefinedBy relationship pointing to IfcSlabType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial. See Type Use Definition for additional agreements for standard slabs.

Quantity Use Definition

The quantities relating to the IfcSlab are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties. The following quantities are foreseen, but will be subjected to the local standard of measurement:

Name | Description | Value Type
NominalWidth | Total nominal (or average) width (or thickness) of the slab. The exact definition and calculation rules depend on the method of measurement used. | IfcQuantityLength
Perimeter | Perimeter measured along the outer boundaries of the slab. The exact definition and calculation rules depend on the method of measurement used. | IfcQuantityLength
GrossArea | Total area of the extruded area of the slab. The exact definition and calculation rules depend on the method of measurement used. | IfcQuantityArea
NetArea | Total area of the extruded area of the slab, taking into account possible slab openings. The exact definition and calculation rules depend on the method of measurement used. | IfcQuantityArea
GrossVolume | Total gross volume of the slab, not taking into account possible openings and recesses. The exact definition and calculation rules depend on the method of measurement used. | IfcQuantityVolume
NetVolume | Total net volume of the slab, taking into account possible openings and recesses. The exact definition and calculation rules depend on the method of measurement used. | IfcQuantityVolume
GrossWeight | Total gross weight of the slab, not taking into account possible openings and recesses or projections. The exact definition and calculation rules depend on the method of measurement used. | IfcQuantityWeight
NetWeight | Total net weight of the slab, taking into account possible openings and recesses or projections. The exact definition and calculation rules depend on the method of measurement used. | IfcQuantityWeight

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 hierachical spatial containment, the second (optional) relationship is the aggregation within an element assembly.

- The IfcSlab is placed within the project spatial hierarchy using the objectified relationship IfcRelContainedInSpatialStructure, referring to it by its inverse attribute SELF\IfcElement.ContainedInStructure. Subtypes of IfcSpatialStructureElement are valid spatial containers, with IfcBuildingStorey being the default container.
- The IfcSlab may be aggregated into an element assembly using the objectified relationship IfcRelAggregates, referring to it by its inverse attribute SELF\IfcObjectDefinition.Decomposes. Any subtype of IfcElement can be an element assembly, with IfcElementAssembly as a special focus subtype.
  In this case it should not be additionally contained in the project spatial hierarchy, i.e. SELF\IfcElement.ContainedInStructure should be NIL.

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 Definitions

The geometric representation of IfcSlab is given by the IfcProductDefinitionShape, allowing multiple geometric representations. 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.

- The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the placement of the local placement of the same IfcSpatialStructureElement that is used in the ContainedInStructure inverse attribute or to a referenced spatial structure element at a higher level.
- If the IfcSlab is of type Landing and is used by an IfcStair or IfcRamp, and this container class defines its own local placement, then the PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the aggregate.
- If the relative placement is not used, the absolute placement is defined within the world coordinate system.

Geometric Representations

Currently, the use of 'SweptSolid', 'Clipping', 'Brep' and 'MappedRepresentation' representations is supported. In addition the general representation type 'BoundingBox' is allowed. The geometry use definitions for 'BoundingBox', and 'Brep' are 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. The extrusion axis shall be perpendicular to the swept profile, i.e. pointing into the direction of the z-axis of the Position of the IfcExtrudedAreaSolid.

> EXAMPLE for standard 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

The advanced geometric representation of IfcSlab 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 advanced representation:

- Solid: see 'SweptSolid' shape representation,
- Profile: see 'SweptSolid' shape representation,
- Extrusion: 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.

> EXAMPLE for advanced 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
SUBTYPE OF ( | IfcBuildingElement);
PredefinedType | : | OPTIONAL IfcSlabTypeEnum;
WHERE
WR61 | : | NOT(EXISTS(PredefinedType)) OR (PredefinedType <> IfcSlabTypeEnum.USERDEFINED) OR ((PredefinedType = IfcSlabTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
END_ENTITY;

Attribute definitions:

PredefinedType | : | Predefined generic types for a slab that are specified in an enumeration. There may be a property set given for the predefined types. NOTE: The use of the predefined type directly at the occurrence object level of IfcSlab is only permitted, if no type object IfcSlabType is assigned. IFC2x PLATFORM CHANGE: The attribute has been changed into an OPTIONAL attribute.

Formal Propositions:

WR61 | : | Either the PredefinedType attribute is unset (e.g. because an IfcSlabType is associated), or the inherited attribute ObjectType shall be given, if the PredefinedType is set to USERDEFINED.

Inheritance graph

ENTITY IfcSlab;
ENTITY IfcRoot;
GlobalId | : | IfcGloballyUniqueId;
OwnerHistory | : | IfcOwnerHistory;
Name | : | OPTIONAL IfcLabel;
Description | : | OPTIONAL IfcText;
ENTITY IfcObjectDefinition;
INVERSE
HasAssignments | : | SET OF IfcRelAssigns FOR RelatedObjects;
IsDecomposedBy | : | SET OF IfcRelDecomposes FOR RelatingObject;
Decomposes | : | SET [0:1] OF IfcRelDecomposes FOR RelatedObjects;
HasAssociations | : | SET OF IfcRelAssociates FOR RelatedObjects;
ENTITY IfcObject;
ObjectType | : | OPTIONAL IfcLabel;
INVERSE
IsDefinedBy | : | SET OF IfcRelDefines FOR RelatedObjects;
ENTITY IfcProduct;
ObjectPlacement | : | OPTIONAL IfcObjectPlacement;
Representation | : | OPTIONAL IfcProductRepresentation;
INVERSE
ReferencedBy | : | SET OF IfcRelAssignsToProduct FOR RelatingProduct;
ENTITY IfcElement;
Tag | : | OPTIONAL IfcIdentifier;
INVERSE
HasStructuralMember | : | SET OF IfcRelConnectsStructuralElement FOR RelatingElement;
FillsVoids | : | SET [0:1] OF IfcRelFillsElement FOR RelatedBuildingElement;
ConnectedTo | : | SET OF IfcRelConnectsElements FOR RelatingElement;
HasCoverings | : | SET OF IfcRelCoversBldgElements FOR RelatingBuildingElement;
HasProjections | : | SET OF IfcRelProjectsElement FOR RelatingElement;
ReferencedInStructures | : | SET OF IfcRelReferencedInSpatialStructure FOR RelatedElements;
HasPorts | : | SET OF IfcRelConnectsPortToElement FOR RelatedElement;
HasOpenings | : | SET OF IfcRelVoidsElement FOR RelatingBuildingElement;
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;
ENTITY IfcSlab;
PredefinedType | : | OPTIONAL IfcSlabTypeEnum;
END_ENTITY;