Class Ifc4::IfcSpace

Nested Relationships

This class is a nested type of Struct Ifc4.

Inheritance Relationships

Base Type

Class Documentation

class Ifc4::IfcSpace : public Ifc4::IfcSpatialStructureElement

A space represents an area or volume bounded actually or theoretically. Spaces are areas or volumes that provide for certain functions within a building. A space is associated to a building storey (or in case of exterior spaces to a site). A space may span over several connected spaces. Therefore a space group provides for a collection of spaces included in a storey. A space can also be decomposed in parts, where each part defines a partial space. This is defined by the CompositionType attribute of the supertype IfcSpatialStructureElement which is interpreted as follow:

COMPLEX = space group ELEMENT = space PARTIAL = partial space

NOTE View definitions and implementation agreements may restrict spaces with CompositionType=ELEMENT to be non-overlapping. The following guidelines should apply for using the Name, Description, LongName and ObjectType attributes.

Name holds the unique name (or space number) from the plan. Description holds any additional information field the user may have specified, there are no further recommendations. LongName holds the full name of the space, it is often used in addition to the Name, if a number is assigned to the room, then the descriptive name is exchanged as LongName. ObjectType holds the space type, i.e. usually the functional category of the space .

HISTORY New Entity in IFC Release 1.0

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

Pset_SpaceCommon: common property set for all types of spaces

Pset_SpaceParking: specific property set for only those spaces that are used to define parking spaces by PredefinedType: PARKING

Pset_SpaceFireSafetyRequirements: common property set for all types of spaces to capture the fire safety requirements Pset_SpaceLightingRequirements: common property set for all types of spaces to capture the lighting requirements Pset_SpaceOccupancyRequirements: common property set for all types of spaces to capture the occupancy requirements Pset_SpaceThermalRequirements: common property set for all types of spaces to capture the thermal requirements Pset_SpaceThermalDesign: common property set for allall types of spaces to capture building service design values

Quantity Use Definition The quantities relating to the IfcSpace 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_SpaceBaseQuantities: base quantities for all space occurrences.

Spatial Structure Use Definition The IfcSpace 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 IfcSpace references them by its inverse relationships:

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

If there are building elements and/or other elements directly related to the IfcSpace(like most furniture and distribution elements), they are associated with the IfcSpace by using the objectified relationship IfcRelContainedInSpatialStructure. The IfcSpace references them by its inverse relationship:

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

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

Figure 57 — Space composition

Attribute Use Definition

Figure 58 describes the heights and elevations of the IfcSpace.

elevation of the space (top of construction slab) equals elevation of storey: provided by IfcBuildingStorey.Elevation relative to IfcBuilding.ElevationOfRefHeight elevation of the space flooring (top of flooring on top of slab): provided by IfcSpace.ElevationWithFlooring relative to IfcBuilding.ElevationOfRefHeight height of space (top of slab below to bottom of slab above): provided by BaseQuantity with Name=”Height” floor height of space (top of slab below to top of flooring): provided by BaseQuantity with Name=”FinishFloorHeight” net height of space (top of flooring to bottom of suspended ceiling): provided by BaseQuantity with Name=”FinishCeilingHeight”

Figure 58 — Space elevations

Geometry Use Definition The geometric representation of IfcSpace is given by the IfcProductDefinitionShape and IfcLocalPlacement allowing multiple geometric representations. NOTE In cases of inconsistency between the geometric representation of the IfcSpace and the combined geometric representations of the surrounding IfcRelSpaceBoundary, the geometric representation of the space should take priority over the geometric representation of the surrounding space boundaries. Local Placement The local placement for IfcSpace 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 to the local placement of the IfcSpatialStructureElement of type “IfcBuildingStorey”, if relative placement is used, or of type “IfcSpace” (e.g. to position a space relative to a space group, or a partial space to a space). 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 ‘Curve2D’ or ‘GeometricCurveSet’ and a 3D ‘Body’ representation of type ‘SweptSolid, ‘Clipping’ and ‘Brep’ is supported. ‘Foot Print’ Representation The 2D geometric representation of IfcSpace is defined using the ‘Curve2D’ or ‘GeometricCurveSet’ geometry. The following attribute values should be inserted

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

The following constraints apply to the 2D representation:

Profile: IfcBoundedCurve is required, using IfcPolyline for faceted space contours or IfcCompositeCurve for space contours with arc segments. For spaces with inner boundaries, a set of IfcBoundedCurve’s is used, that should be grouped into an IfcGeometricCurveSet.

Figure 59 shows a two-dimensional bounded curve representing the foot print of IfcSpace.

Figure 59 — Space footprint

‘Swept Solid’ Representation The standard geometric representation of IfcSpace is defined using the swept area solid geometry. The following attribute values should be inserted

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

The following constraints apply to the standard representation:

Solid: IfcExtrudedAreaSolid is required, Profile: IfcArbitraryClosedProfileDef is required, IfcArbitraryProfileDefWithVoids shall be supported. Extrusion: The extrusion direction shall be vertically, i.e., along the positive Z Axis of the co-ordinate system of the containing spatial structure element.

Figure 60 shows an extrusion of an arbitrary profile definition with voids into the swept area solid of IfcSpace.

Figure 60 — Space body swept solid

‘Clipping’ representation The advanced geometric representation of IfcSpace is defined using the swept area solid geometry that can be subjected to a Boolean expression. The following attribute values should be inserted.

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

The following additional constraints apply to the advanced representation:

Solid: see standard geometric representation, Profile: see standard geometric representation, Extrusion: see standard geometric representation, Boolean result: The difference operation with the second operand being of type IfcHalfSpaceSolid (or one of its subtypes) shall be supported.

Figure 61 shows an extrusion of an arbitrary profile definition into the swept area solid. The solid and an half space solid are operands of the Boolean result of IfcSpace.

Figure 61 — Space body clipping

‘Brep’ representation The fallback advanced geometric representation of IfcSpace is defined using the Brep solid geometry.may be represented as a single or multiple instances of IfcFacetedBrep or IfcFacetedBrepWithVoids. The Brep representation allows for the representation of complex element shape. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

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

Public Types

typedef IfcTemplatedEntityList<IfcSpace> list

Public Functions

bool hasPredefinedType() const

Whether the optional attribute PredefinedType is defined for this IfcSpace.

::Ifc4::IfcSpaceTypeEnum::Value PredefinedType() const

Predefined generic types for a space that are specified in an enumeration. There might be property sets defined specifically for each predefined type.

Previous use, prior to IFC2x4, had been to indicates whether the IfcSpace is an interior space by value INTERNAL, or an exterior space by value EXTERNAL. This use is now deprecated, the property ‘IsExternal’ at ‘Pset_SpaceCommon’ should be used instead.

IFC2x4 CHANGE The attribute has been renamed from ExteriorOrInteriorSpace with upward compatibility for file based exchange.

void setPredefinedType(::Ifc4::IfcSpaceTypeEnum::Value v)
bool hasElevationWithFlooring() const

Whether the optional attribute ElevationWithFlooring is defined for this IfcSpace.

double ElevationWithFlooring() const

Level of flooring of this space; the average shall be taken, if the space ground surface is sloping or if there are level differences within this space.

void setElevationWithFlooring(double v)
IfcTemplatedEntityList<IfcRelCoversSpaces>::ptr HasCoverings() const
IfcTemplatedEntityList<IfcRelSpaceBoundary>::ptr BoundedBy() const
const IfcParse::entity &declaration() const
IfcSpace(IfcEntityInstanceData *e)
IfcSpace(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_LongName, boost::optional<::Ifc4::IfcElementCompositionEnum::Value> v9_CompositionType, boost::optional<::Ifc4::IfcSpaceTypeEnum::Value> v10_PredefinedType, boost::optional<double> v11_ElevationWithFlooring)

Public Static Functions

const IfcParse::entity &Class()