A stair is a vertical passageway allowing occupants to walk (step) from one floor level to another floor
level at a different elevation. It may include a landing as an intermediate floor slab.
NOTE Definition according to ISO 6707-1:
Construction comprising a succession of horizontal stages (steps or landings) that make it
possible to pass on foot to other levels.
The IfcStair shall either be represented:
- as a stair assembly entity that aggregates all components (stair flight, landing, etc. with own representations), or
- as a single stair entity without decomposition including all representation directly at the stair entity.
NOTE In case of an IfcStair being the aggregate of all components
of the stair the aggregation is handled by the IfcRelAggregates relationship, relating an IfcStair
with the related IfcStairFlight and landings, IfcSlab with PredefinedType=LANDING. IfcRailing's belonging to the stair may also be included into the aggregation.
NOTE The 'Body' geometric representation shall only be provided if the
IfcStair has no components defined (empty set of
HISTORY New entity in IFC2.0.
IFC4 CHANGE Attribute ShapeType renamed to PredefinedType.
Common Use Definitions
The following concepts are inherited at supertypes:
- IfcRoot: Identity, Revision Control
- IfcElement: Box Geometry, FootPrint Geometry, Body SurfaceOrSolidModel Geometry, Body SurfaceModel Geometry, Body Tessellation Geometry, Body Brep Geometry, Body AdvancedBrep Geometry, Body CSG Geometry, Mapped Geometry
- IfcBuildingElement: Product Assignment, Surface 3D Geometry
The Object Typing concept applies to this entity as shown in Table 173.
Table 173 — IfcStair Object Typing
Property Sets for Objects
The Property Sets for Objects concept applies to this entity as shown in Table 174.
Table 174 — IfcStair Property Sets for Objects
The Material Single concept applies to this entity.
The material of the IfcStair is defined by the
IfcMaterial and attached by the
IfcRelAssociatesMaterial.RelatingMaterial. It is
accessible by the inverse HasAssociations relationship.
Material information can also be given at the
IfcStairType, defining the common attribute data for all
occurrences of the same type. It is then accessible by the inverse
IsDefinedBy relationship pointing to
IfcStair.HasAssociations and via
IfcMaterial. If both are given, then the material directly
assigned to IfcStair overrides the material assigned to
The Spatial Containment concept applies to this entity as shown in Table 175.
|IfcBuildingStorey||Default spatial container|
|IfcBuilding||Spatial container for the element if it cannot be assigned to a building storey|
|IfcSite||Spatial container for the element in case that it is placed on site (outside of building)|
Table 175 — IfcStair Spatial Containment
The IfcStair, as any subtype of IfcBuildingElement,
may participate alternatively in one of the two different containment relationships:
- the Spatial Containment (defined here), or
- the Element Composition.
The Element Decomposition concept applies to this entity as shown in Table 176.
|IfcStairFlight||Stairs may be decomposed into stair flights.|
|IfcSlab||Stairs may be decomposed into stair landing, represented by IfcSlab.PredefinedType=LANDING|
|IfcRailing||Stairs may be decomposed into railings for zero, one, or both sides.|
Table 176 — IfcStair Element Decomposition
Geometric representation by aggregated elements
If the IfcStair has components (referenced by
SELF\IfcObject.IsDecomposedBy) with own 'Body'
representation, then no 'Body' representation shall defined for the
IfcStair. The IfcStair shape is then represented by
the geometric representation of its components. The components are
Figure 215 illustrates stair placement, where the IfcStair defines the local placement for all components and the common 'Axis' representation, and each component has its own 'Body' representation.
Figure 215 — Stair placement
The Product Placement concept applies to this entity as shown in Table 177.
Table 177 — IfcStair Product Placement
The following restriction may be imposed by view definitions or implementer agreements:
- If the IfcStair establishes an aggregate, then
all contained elements shall be placed relative to the
Axis 2D Geometry
The Axis 2D Geometry concept applies to this entity.
The walking line is represented by a two-dimensional open curve
as the axis. The curve is directed into the upward direction
(direction has to be interpreted as specified at the subtypes of
NOTE The 'Axis' representation of IfcStair
may be provided even if the IfcStair has components with own
Body SweptSolid Geometry
The Body SweptSolid Geometry concept applies to this entity.
XSD Specification: <xs:element name="IfcStair" type="ifc:IfcStair" substitutionGroup="ifc:IfcBuildingElement" nillable="true"/>
<xs:attribute name="PredefinedType" type="ifc:IfcStairTypeEnum" use="optional"/>
|CorrectShapeDecomposition|| : ||(HIINDEX(SELF\IfcObjectDefinition.IsDecomposedBy) = 0)
((HIINDEX(SELF\IfcObjectDefinition.IsDecomposedBy) = 1)
(SIZEOF(QUERY( temp <* SELF\IfcProduct.Representation.Representations |
temp.RepresentationIdentifier = 'Body')) = 0
|CorrectPredefinedType|| : ||NOT(EXISTS(PredefinedType)) OR
(PredefinedType <> IfcStairTypeEnum.USERDEFINED) OR
((PredefinedType = IfcStairTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));|
|CorrectTypeAssigned|| : ||(SIZEOF(IsTypedBy) = 0) OR
('IFCSHAREDBLDGELEMENTS.IFCSTAIRTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy.RelatingType));|
|PredefinedType|| : ||
Predefined generic type for a stair 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 IfcStairType is assigned, providing its own IfcStairType.PredefinedType.
IFC4 CHANGE The attribute has been renamed from ShapeType and changed to be OPTIONAL with upward compatibility for file based exchange.
|CorrectShapeDecomposition|| : ||
Either the IfcStair is not decomposed into its flights and landings, then the IfcStair may have independent geometry. Or the IfcStair is decomposed into parts, then the IfcStair shall not have an own geometric shape representation of RepresentationType = 'Body'.
|CorrectPredefinedType|| : ||
Either the PredefinedType attribute is unset (e.g. because an IfcStairType is associated), or the inherited attribute ObjectType shall be provided, if the PredefinedType is set to USERDEFINED.
|CorrectTypeAssigned|| : ||
Either there is no stair type object associated, i.e. the IsTypedBy inverse relationship is not provided, or the associated type object has to be of type IfcStairType.
Link to this page