Class Ifc4::IfcStairFlight

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4::IfcStairFlight : public Ifc4::IfcBuildingElement

A stair flight is an assembly of building components in a single “run” of stair steps (not interrupted by a landing). The stair steps and any stringers are included in the stair flight. A winder is also regarded a part of a stair flight. An IfcStairFlight is normally aggregated by an IfcStair through the IfcRelAggregates relationship, the stair flight is then included in the set of IfcRelAggregates.RelatedObjects. An IfcStairFlight normally connects the floor slab of zero to two different storeys (or partial storeys, or landings) within a building. The connection relationship between the IfcStairFlight and the IfcSlab is expressed using the IfcRelConnectsElements relationship.

HISTORY: New Entity in IFC Release 2.0.

Type Use Definition IfcStairFlight defines the occurrence of any stair flight, common information about stair flight types (or styles) is handled by IfcStairFlightType. The IfcStairFlightType (if present) may establish the commontype name, usage (or predefined) type, common material layer set, common set of properties and common shape representations (using IfcRepresentationMap). The IfcStairFlightType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsDefinedBy attribute. Material Use Definition The material of the IfcStairFlight is defined by the IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Property Set Use Definition: The property sets relating to the IfcStairFlight 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 IfcStairFlight are part of this IFC release:

Pset_StairFlightCommon: common property set for all stair flight occurrences

Quantity Use Definition The quantities relating to the IfcStairFlight 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 IfcStairFlightType.

Qto_StairFlightBaseQuantities: base quantities for all stair flight occurrences.

Containment Use Definition The IfcStairFlight, as any subtype of IfcBuildingElement, may participate in two different containment relationships. The first relationship is the hierachical spatial containment, the second relationship is the aggregation within anelement assembly.

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

Geometry Use Definition The geometric representation of IfcStairFlight is given by the IfcProductDefinitionShape, allowing multiple geometric representation. Included are: Local placement The local placement for IfcStairFlight 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 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 IfcStairFlight, however, is used by an IfcStair, and this container class defines its own local placement, then the PlacementRelTo relationship of IfcLocalPlacement shall point to the local placement of the IfcStair.

Geometric Representations Currently, the ‘Axis’, ‘FootPrint’, ‘Body’, and ‘Box’ representations are supported. The ‘Box’ representation includes the representation type ‘BoundingBox’ and is explained at IfcBuildingElement.

Axis: A two-dimensional open curve IfcBoundedCurve defining the walking line for the stair flight. FootPrint: A geometric curve set defining the footing print, including the boundary of the stair flight. Body: A solid representation defining the 3D shape of the stair flight

Axis Representation 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 IfcCurve). The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

RepresentationIdentifier : ‘Axis’ RepresentationType : ‘Curve2D’

Figure 129 illustrates the axis representation which has the following constraints:

In case of straight flights the curve shall be a single item of type IfcPolyline. In case of winding flights the curve shall be a single item of type IfcCompositeCurve. In case of a curved flight or a spiral flight the curve shall be a single item of type IfcTrimmedCurve.

Figure 129 — Stair flight axis

FootPrint Representation The flight foot print, including the flight boundary is represented by a two-dimensional geometric curve set. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

RepresentationIdentifier : ‘FootPrint’ RepresentationType : ‘GeometricCurveSet’

Figure 130 illustrates the footprint representation which has the following constraints:

In case of straight flights the curve set shall consists of a single item of type IfcPolyline. In case of winding flights or curved flights the curve set shall consists of a single item of type IfcCompositeCurve. In case of a spiral flight the curve set shall consists of a single item of type IfcConic or IfcPolyline.

Figure 130 — Stair flight footprint

Body Representation The body representation of IfcStairFlight can be represented using the representation types ‘SweptSolid’, ‘SurfaceModel’, ‘Brep’, and ‘MappedRepresentation’. The general usage of representation is are explained at IfcBuildingElement. No further constraints or provisions on how to use the representation types are defined for IfcStairFlight.

RepresentationIdentifier : ‘Body’ RepresentationType : ‘SweptSolid’, ‘SurfaceModel’, ‘Brep’, ‘MappedRepresentation’

Figure 131 illustrates the body representation.

Figure 131 — Stair flight body

Public Types

typedef IfcTemplatedEntityList<IfcStairFlight> list

Public Functions

bool hasNumberOfRisers() const

Whether the optional attribute NumberOfRisers is defined for this IfcStairFlight.

int NumberOfRisers() const
void setNumberOfRisers(int v)
bool hasNumberOfTreads() const

Whether the optional attribute NumberOfTreads is defined for this IfcStairFlight.

int NumberOfTreads() const

Number of treads included in the stair flight.

IFC2x4 CHANGE The attribute has been deprecated it shall only be exposed with a NIL value. Use Pset_StairFlightCommon.NumberOfTreads instead.

void setNumberOfTreads(int v)
bool hasRiserHeight() const

Whether the optional attribute RiserHeight is defined for this IfcStairFlight.

double RiserHeight() const

Vertical distance from tread to tread. The riser height is supposed to be equal for all stairs in a stair flight.

IFC2x4 CHANGE The attribute has been deprecated it shall only be exposed with a NIL value. Use Pset_StairFlightCommon.RiserHeight instead.

void setRiserHeight(double v)
bool hasTreadLength() const

Whether the optional attribute TreadLength is defined for this IfcStairFlight.

double TreadLength() const

Horizontal distance from the front to the back of the tread. The tread length is supposed to be equal for all steps of the stair flight.

IFC2x4 CHANGE The attribute has been deprecated it shall only be exposed with a NIL value. Use Pset_StairFlightCommon.TreadLength instead.

void setTreadLength(double v)
bool hasPredefinedType() const

Whether the optional attribute PredefinedType is defined for this IfcStairFlight.

::Ifc4::IfcStairFlightTypeEnum::Value PredefinedType() const

Predefined generic type for a stair flight that is specified in an enumeration. There may be a property set given specificly for the predefined types. NOTE The PredefinedType shall only be used, if no type object IfcStairFlightType is assigned, providing its own IfcStairFlightType.PredefinedType.

IFC2x4 CHANGE The attribute has been added at the end of the entity definition.

void setPredefinedType(::Ifc4::IfcStairFlightTypeEnum::Value v)
const IfcParse::entity &declaration() const
IfcStairFlight(IfcEntityInstanceData *e)
IfcStairFlight(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<int> v9_NumberOfRisers, boost::optional<int> v10_NumberOfTreads, boost::optional<double> v11_RiserHeight, boost::optional<double> v12_TreadLength, boost::optional<::Ifc4::IfcStairFlightTypeEnum::Value> v13_PredefinedType)

Public Static Functions

const IfcParse::entity &Class()