Class Ifc4x3_rc1::IfcBuildingStorey

Nested Relationships

This class is a nested type of Struct Ifc4x3_rc1.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4x3_rc1::IfcBuildingStorey : public Ifc4x3_rc1::IfcSpatialStructureElement

The building storey has an elevation and typically represents a (nearly) horizontal aggregation of spaces that are vertically bound. A storey is (if specified) associated to a building. A storey may span over several connected storeys. Therefore storey complex provides for a collection of storeys included in a building. A storey can also be decomposed in (horizontical) parts, where each part defines a partial storey. This is defihned by the composition type attribute of the supertype IfcSpatialStructureElements which is interpreted as follow:

COMPLEX = building storey complex ELEMENT = building storey PARTIAL = partial building storey

EXAMPLE In split level houses, a storey is split into two or more partial storeys, each with a different elevation. It can be handled by defining a storey, which includes two or more partial storeys with the individual elevations. HISTORY New entity in IFC Release 1.0

Property Set Use Definition The property sets relating to the IfcBuildingStorey 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 IfcBuildingStorey are part of this IFC release:

Pset_BuildingStoreyCommon: common property set for all types of building stories

Quantity Use Definition The quantities relating to the IfcBuildingStorey 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, being subjected to local standard of measurement, can be defined with another string value assigned to Name. In this case a valid value for MethodOfMeasurement has to be provided.

Qto_BuildingStoreyBaseQuantities: base quantities for all building storey occurrences.

Spatial Structure Use Definition The IfcBuildingStorey is used to build the spatial structure of a building (that serves as the primary project breakdown and is required to be hierarchical). The spatial structure elements are linked together by using the objectified relationship IfcRelAggregates. The IfcBuildingStoreyreferences them by its inverse relationships:

IfcBuildingStorey.Decomposes referencing (IfcBuilding || IfcBuildingStorey) by IfcRelAggregates.RelatingObject, If it refers to another instance ofIfcBuildingStorey, the referenced IfcBuildingStorey needs to have a different and higher CompositionType, i.e. COMPLEX (if the other IfcBuildingStorey has ELEMENT), or ELEMENT (if the other IfcBuildingStorey has PARTIAL). IfcBuildingStorey.IsDecomposedBy referencing (IfcBuildingStorey || IfcSpace) by IfcRelAggregates.RelatedObjects. If it refers to another instance ofIfcBuildingStorey, the referenced IfcBuildingStorey needs to have a different and lower CompositionType, i.e. ELEMENT (if the other IfcBuildingStorey has COMPLEX), or PARTIAL (if the other IfcBuildingStorey has ELEMENT).

If there are building elements and/or other elements directly related to the IfcBuildingStorey (like most building elements, such as walls, columns, etc.), they are associated with the IfcBuildingStorey by using the objectified relationship IfcRelContainedInSpatialStructure. The IfcBuildingStorey references them by its inverse relationship:

IfcBuildingStorey.ContainsElements referencing any subtype of IfcProduct (with the exception of other spatial structure element) by IfcRelContainedInSpatialStructure.RelatedElements.

Figure 25 shows the IfcBuildingStorey as part of the spatial structure. It also serves as the spatial container for building and other elements. NOTE Detailed requirements on mandatory element containment and placement structure relationships are given in view definitions and implementer agreements.

Figure 25 — Building storey composition

Elements can also be referenced in an IfcBuildingStorey, for example, if they span through several storeys. This is expressed by using the objectified relationship IfcRelReferencedInSpatialStructure. Systems, such as building service or electrical distribution systems, zonal systems, or structural analysis systems, relate to IfcBuildingStorey by using the objectified relationship IfcRelServicesBuildings.

Attribute Use Definition

Figure 26 describes the heights and elevations of the IfcBuildingStorey.

elevation of storey provided by: IfcBuildingStorey.Elevation as a local height value relative to IfcBuilding.ElevationOfRefHeight, it is usually the top of construction slab net height of storey, also referred to as total height or system height (top of construction slab to top of construction slab above): provided by BaseQuantity with Name=”GrossHeight” net height of storey (top of construction slab to bottom of construction slab above): provided by BaseQuantity with Name=”NetHeight”

Figure 26 — Building storey elevations

Geometry Use Definitions The geometric representation of IfcBuildingStorey is given by the IfcProductDefinitionShape and IfcLocalPlacement, allowing multiple geometric representation. Local Placement The local placement for IfcBuildingStorey 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 relative placement is used) to the IfcSpatialStructureElement of type IfcBuilding, or of type IfcBuildingStorey (e.g. to position a building storey relative to a building storey complex, or a partial building storey to a building storey). If the relative placement is not used, the absolute placement is defined within the world coordinate system.

Geometric Representations Currently, the use of a 2D ‘FootPrint’ representation of type ‘GeometricCurveSet’ and a 3D ‘Body’ representation of type ‘Brep’ is supported.

NOTE The independent geometric representation of IfcBuildingStorey may not be required or allowed in certain view definitions. In those cases only the contained elements and spaces have an independent geometric representation.

Foot Print Representation The foot print representation of IfcBuildingStorey is given by either a single 2D curve (such as IfcPolyline or IfcCompositeCurve), or by a list of 2D curves (in case of inner boundaries), if the building storey has an independent geometric representation. The representation identifier and type of this geometric representation of IfcBuildingStorey is:

IfcShapeRepresentation.RepresentationIdentifier = ‘FootPrint’ IfcShapeRepresentation.RepresentationType = ‘GeometricCurveSet’

Body Representation The body (or solid model) geometric representation (if the building storey has an independent geometric representation) of IfcBuildingStorey is defined using faceted B-Rep capabilities (with or without voids), based on the IfcFacetedBrep or on the IfcFacetedBrepWithVoids. The representation identifier and type of this representation of IfcBuildingStorey is:

IfcShapeRepresentation.RepresentationIdentifier = ‘Body’ IfcShapeRepresentation.RepresentationType = ‘Brep’

Since the building storey shape is usually described by the exterior building elements, an independent shape representation shall only be given, if the building storey is exposed independently from its constituting elements.

Public Types

typedef IfcTemplatedEntityList<IfcBuildingStorey> list

Public Functions

bool hasElevation() const

Whether the optional attribute Elevation is defined for this IfcBuildingStorey.

double Elevation() const

Elevation of the base of this storey, relative to the 0,00 internal reference height of the building. The 0.00 level is given by the absolute above sea level height by the ElevationOfRefHeight attribute given at IfcBuilding.

void setElevation(double v)
const IfcParse::entity &declaration() const
IfcBuildingStorey(IfcEntityInstanceData *e)
IfcBuildingStorey(std::string v1_GlobalId, ::Ifc4x3_rc1::IfcOwnerHistory *v2_OwnerHistory, boost::optional<std::string> v3_Name, boost::optional<std::string> v4_Description, boost::optional<std::string> v5_ObjectType, ::Ifc4x3_rc1::IfcObjectPlacement *v6_ObjectPlacement, ::Ifc4x3_rc1::IfcProductRepresentation *v7_Representation, boost::optional<std::string> v8_LongName, boost::optional<::Ifc4x3_rc1::IfcElementCompositionEnum::Value> v9_CompositionType, boost::optional<double> v10_Elevation)

Public Static Functions

const IfcParse::entity &Class()