IFC 4.3.x development

5.4.3.4 IfcBuilding

Change log

IFC4X2

modificationssupertypeChanged from IfcSpatialStructureElement to IfcFacility

5.4.3.4.1 Semantic definitions at the entity

A building represents a structure that provides shelter for its occupants or contents and stands in one place. The building is also used to provide a basic element within the spatial structure hierarchy for the components of a building project (together with site, storey, and space).

NOTE  Definition from ISO 6707-1:
Construction work that has the provision of shelter for its occupants or contents as one of its main purpose and is normally designed to stand permanently in one place.

A building is (if specified) associated to a site. A building may span over several connected or disconnected buildings. Therefore building complex provides for a collection of buildings included in a site. A building can also be decomposed in (vertical) parts, where each part defines a building section. This is defined by the composition type attribute of the supertype IfcSpatialStructureElements which is interpreted as follow:

  • COMPLEX: building complex
  • ELEMENT: building
  • PARTIAL: building section

The IfcBuilding 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. Figure 1 shows the IfcBuilding 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.

"<a href=IfcBuildingStorey as part of a spatial structure"' src="../figures/ifcbuilding-spatialstructure.png" title="Figure 1 — Building composition"/>

Systems, such as building service or electrical distribution systems, zonal systems, or structural analysis systems, relate to IfcBuilding by using the objectified relationship IfcRelServicesBuildings.

Figure 2 describes the heights and elevations of the IfcBuilding. It is used to provide the height above sea level of the project height datum for this building, that is, the internal height 0.00. The height 0.00 is often used as a building internal reference height and equal to the floor finish level of the ground floor.

  • base elevation of building provided by: IfcBuilding.ElevationOfRefHeight, it is usually the top of construction slab
  • base elevation of terrain at the perimeter of the building provided by: IfcBuilding.ElevationOfTerrain, it is usually the minimum elevation is sloped terrain
  • total height of building, also referred to as ridge height (top of roof structure, e.g the ridge against terrain): provided by BaseQuantity with Name="TotalHeight"
  • eaves height of building (base of roof structure, e.g the eaves against terrain): provided by BaseQuantity with Name="EavesHeight"
building heights 

Figure 2 — Building elevations

HISTORY  New entity in IFC1.0.

5.4.3.4.1 Attributes

# Attribute Type Description
IfcRoot
1 GlobalId IfcGloballyUniqueId Assignment of a globally unique identifier within the entire software world.
2 OwnerHistory OPTIONAL IfcOwnerHistory Assignment of the information about the current ownership of that object, including owning actor, application, local identification and information captured about the recent changes of the object,

> NOTE  only the last modification in stored - either as addition, deletion or modification.

> IFC4 CHANGE  The attribute has been changed to be OPTIONAL.
3 Name OPTIONAL IfcLabel Optional name for use by the participating software systems or users. For some subtypes of IfcRoot the insertion of the Name attribute may be required. This would be enforced by a where rule.
4 Description OPTIONAL IfcText Optional description, provided for exchanging informative comments.
IfcObjectDefinition
HasAssignments SET [0:?] OF IfcRelAssigns FOR RelatedObjects Reference to the relationship objects, that assign (by an association relationship) other subtypes of IfcObject to this object instance. Examples are the association to products, processes, controls, resources or groups.
Nests SET [0:1] OF IfcRelNests FOR RelatedObjects References to the decomposition relationship being a nesting. It determines that this object definition is a part within an ordered whole/part decomposition relationship. An object occurrence or type can only be part of a single decomposition (to allow hierarchical strutures only).

> IFC4 CHANGE  The inverse attribute datatype has been added and separated from Decomposes defined at IfcObjectDefinition.
IsNestedBy SET [0:?] OF IfcRelNests FOR RelatingObject References to the decomposition relationship being a nesting. It determines that this object definition is the whole within an ordered whole/part decomposition relationship. An object or object type can be nested by several other objects (occurrences or types).

> IFC4 CHANGE  The inverse attribute datatype has been added and separated from IsDecomposedBy defined at IfcObjectDefinition.
HasContext SET [0:1] OF IfcRelDeclares FOR RelatedDefinitions References to the context providing context information such as project unit or representation context. It should only be asserted for the uppermost non-spatial object.

> IFC4 CHANGE  The inverse attribute datatype has been added.
IsDecomposedBy SET [0:?] OF IfcRelAggregates FOR RelatingObject References to the decomposition relationship being an aggregation. It determines that this object definition is whole within an unordered whole/part decomposition relationship. An object definitions can be aggregated by several other objects (occurrences or parts).

> IFC4 CHANGE  The inverse attribute datatype has been changed from the supertype IfcRelDecomposes to subtype IfcRelAggregates.
Decomposes SET [0:1] OF IfcRelAggregates FOR RelatedObjects References to the decomposition relationship being an aggregation. It determines that this object definition is a part within an unordered whole/part decomposition relationship. An object definitions can only be part of a single decomposition (to allow hierarchical strutures only).

> IFC4 CHANGE  The inverse attribute datatype has been changed from the supertype IfcRelDecomposes to subtype IfcRelAggregates.
HasAssociations SET [0:?] OF IfcRelAssociates FOR RelatedObjects Reference to the relationship objects, that associates external references or other resource definitions to the object.. Examples are the association to library, documentation or classification.
IfcObject
5 ObjectType OPTIONAL IfcLabel The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute PredefinedType is set to USERDEFINED.
IsDeclaredBy SET [0:1] OF IfcRelDefinesByObject FOR RelatedObjects Link to the relationship object pointing to the declaring object that provides the object definitions for this object occurrence. The declaring object has to be part of an object type decomposition. The associated IfcObject, or its subtypes, contains the specific information (as part of a type, or style, definition), that is common to all reflected instances of the declaring IfcObject, or its subtypes.

> IFC4 CHANGE  New inverse relationship, change made with upward compatibility for file based exchange.
Declares SET [0:?] OF IfcRelDefinesByObject FOR RelatingObject Link to the relationship object pointing to the reflected object(s) that receives the object definitions. The reflected object has to be part of an object occurrence decomposition. The associated IfcObject, or its subtypes, provides the specific information (as part of a type, or style, definition), that is common to all reflected instances of the declaring IfcObject, or its subtypes.

> IFC4 CHANGE  New inverse relationship, change made with upward compatibility for file based exchange.
IsTypedBy SET [0:1] OF IfcRelDefinesByType FOR RelatedObjects Set of relationships to the object type that provides the type definitions for this object occurrence. The then associated IfcTypeObject, or its subtypes, contains the specific information (or type, or style), that is common to all instances of IfcObject, or its subtypes, referring to the same type.

> IFC4 CHANGE  New inverse relationship, the link to IfcRelDefinesByType had previously be included in the inverse relationship IfcRelDefines. Change made with upward compatibility for file based exchange.
IsDefinedBy SET [0:?] OF IfcRelDefinesByProperties FOR RelatedObjects Set of relationships to property set definitions attached to this object. Those statically or dynamically defined properties contain alphanumeric information content that further defines the object.

> IFC4 CHANGE  The data type has been changed from IfcRelDefines to IfcRelDefinesByProperties with upward compatibility for file based exchange.
IfcProduct
6 ObjectPlacement OPTIONAL IfcObjectPlacement Placement of the product in space, the placement can either be absolute (relative to the world coordinate system), relative (relative to the object placement of another product), or constraint (e.g. relative to grid axes). It is determined by the various subtypes of IfcObjectPlacement, which includes the axis placement information to determine the transformation for the object coordinate system.
7 Representation IfcProductDefinitionShape Reference to the representations of the product, being either a representation (IfcProductRepresentation) or as a special case a shape representations (IfcProductDefinitionShape). The product definition shape provides for multiple geometric representations of the shape property of the object within the same object coordinate system, defined by the object placement.
ReferencedBy SET [0:?] OF IfcRelAssignsToProduct FOR RelatingProduct Reference to the IfcRelAssignsToProduct relationship, by which other products, processes, controls, resources or actors (as subtypes of IfcObjectDefinition) can be related to this product.
PositionedRelativeTo SET [0:1] OF IfcRelPositions FOR RelatedProducts
ReferencedInStructuresSET [0:?] OF IfcRelReferencedInSpatialStructure FOR RelatedElements
IfcSpatialElement
8 LongName OPTIONAL IfcLabel Long name for a spatial structure element, used for informal purposes. It should be used, if available, in conjunction with the inherited Name attribute.

> NOTE  In many scenarios the Name attribute refers to the short name or number of a spacial element, and the LongName refers to the full descriptive name.
ContainsElements SET [0:?] OF IfcRelContainedInSpatialStructure FOR RelatingStructure Set of spatial containment relationships, that holds those elements, which are contained within this element of the project spatial structure.

> NOTE  The spatial containment relationship, established by IfcRelContainedInSpatialStructure, is required to be an hierarchical relationship, where each element can only be assigned to 0 or 1 spatial structure element.
ServicedBySystems SET [0:?] OF IfcRelServicesBuildings FOR RelatedBuildings Set of relationships to systems, that provides a certain service to the spatial element for which it is defined. The relationship is handled by the objectified relationship IfcRelServicesBuildings.

> IFC4 CHANGE  The inverse attribute has been promoted to the new supertype IfcSpatialElement with upward compatibility for file based exchange.
ReferencesElements SET [0:?] OF IfcRelReferencedInSpatialStructure FOR RelatingStructureSet of spatial reference relationships, that holds those elements, which are referenced, but not contained, within this element of the project spatial structure.

> NOTE  The spatial reference relationship, established by IfcRelReferencedInSpatialStructure, is not required to be an hierarchical relationship, i.e. each element can be assigned to 0, 1 or many spatial structure elements.

> EXAMPLE  A curtain wall maybe contained in the ground floor, but maybe referenced in all floors, it reaches.

> IFC2x3 CHANGE  The inverse attribute has been added with upward compatibility for file based exchange.

> Ø\X
IfcSpatialStructureElement
9 CompositionType OPTIONAL IfcElementCompositionEnum Denotes, whether the predefined spatial structure element represents itself, or an aggregate (complex) or a part (part). The interpretation is given separately for each subtype of spatial structure element. If no CompositionType is asserted, the dafault value ''ELEMENT'' applies.\X\0D

\X\0D

> IFC4 CHANGE  Attribute made optional.
IfcFacility
IfcBuilding
10 ElevationOfRefHeight OPTIONAL IfcLengthMeasure Elevation above sea level of the reference height used for all storey elevation measures, equals to height 0.0. It is usually the ground floor level.
11 ElevationOfTerrain OPTIONAL IfcLengthMeasure Elevation above the minimal terrain level around the foot print of the building, given in elevation above sea level.
12 BuildingAddress OPTIONAL IfcPostalAddress

5.4.3.4.2 Entity inheritance

dot_inheritance IfcBuilding IfcBuilding IfcFacility IfcFacility IfcBuilding->IfcFacility IfcFacility_children 4 more... IfcFacility_children->IfcFacility IfcSpatialStructureElement IfcSpatialStructureElement IfcFacility->IfcSpatialStructureElement IfcSpatialStructureElement_children 4 more... IfcSpatialStructureElement_children->IfcSpatialStructureElement IfcSpatialElement IfcSpatialElement IfcSpatialStructureElement->IfcSpatialElement IfcExternalSpatialStructureElement IfcExternalSpatialStructureElement IfcExternalSpatialStructureElement->IfcSpatialElement IfcProduct IfcProduct IfcSpatialElement->IfcProduct IfcSpatialZone IfcSpatialZone IfcSpatialZone->IfcSpatialElement IfcProduct_children 8 more... IfcProduct_children->IfcProduct IfcObject IfcObject IfcProduct->IfcObject IfcObject_children 5 more... IfcObject_children->IfcObject IfcObjectDefinition IfcObjectDefinition IfcObject->IfcObjectDefinition IfcContext IfcContext IfcContext->IfcObjectDefinition IfcRoot IfcRoot IfcObjectDefinition->IfcRoot IfcTypeObject IfcTypeObject IfcTypeObject->IfcObjectDefinition IfcPropertyDefinition IfcPropertyDefinition IfcPropertyDefinition->IfcRoot IfcRelationship IfcRelationship IfcRelationship->IfcRoot

5.4.3.4.3 Definitions applying to General Usage

5.4.3.4.3.1 Body Geometry

The body (or solid model) geometric representation (if the building has an independent geometric representation) of IfcBuilding is defined using faceted B-Rep capabilities (with or without voids), based on the IfcFacetedBrep or on the IfcFacetedBrepWithVoids.

NOTE  Since the building shape is usually described by the exterior building elements, an independent shape representation shall only be given, if the building is exposed independently from its constituting elements and such independent geometric representation may be prohibited in model view definitions.

5.4.3.4.3.2 Classification Association

Any object occurrence or object type can have a reference to a specific classification reference, i.e. to a particular facet within a classification system.

5.4.3.4.3.3 FootPrint GeomSet Geometry

The foot print representation of IfcBuilding 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 has an independent geometric representation.

NOTE  The independent geometric representation of IfcBuilding may not be allowed in certain model view definitions. In those cases only the contained elements and spaces have an independent geometric representation.
Items Identifier Type
'IfcGeometricCurveSet''FootPrint' 'GeometricCurveSet'

5.4.3.4.3.4 Identity

IfcRoot assigns the globally unique ID. In addition it may provide for a name and a description about the concept.

5.4.3.4.3.5 Object Predefined Type

5.4.3.4.3.6 Object Typing

Any object occurrence can be typed by being assigned to a common object type utilizing this concept. A particular rule, restricting the applicable subtypes of IfcTypeObject that can be assigned, is introduced by overriding this concept at the level of subtypes of IfcObject.

5.4.3.4.3.7 Object User Identity

An attribute Name and optionally Description can be used for all subypes of IfcObject. For those subtypes, that have an object type definition, such as ifcBeam - IfcBeamType, the common Name and optionally Description is associated with the object type.

5.4.3.4.3.8 Placement

The local placement for IfcBuilding 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 IfcSite, or of type IfcBuilding (e.g. to position a building relative to a building complex, or a building section to a building).
  • If the relative placement is not used, the absolute placement is defined within the world coordinate system.

5.4.3.4.3.9 Product Geometric Representation

The geometric representation of any IfcProduct is provided by the IfcProductDefinitionShape allowing multiple geometric representations. It uses the Product Placement concept utilizing IfcLocalPlacement to establish an object coordinate system, within all geometric representations are founded.

NOTE  A detailed specification of how to apply the local placement and which shape representaions are applicable is provided at the level of subtypes of IfcProduct and is further determined by the model view definition and implementer agreements.

5.4.3.4.3.10 Product Placement

The Product Placement establishes the object coordinate system and is required, if a geometric shape representation is provided for this product.

5.4.3.4.3.11 Property Sets for Objects

PsetName
'Pset_BuildingCommon'
'Pset_BuildingUse'
'Pset_BuildingUseAdjacent'
'Pset_OutsideDesignCriteria'
'Pset_PropertyAgreement'
'Pset_ThermalLoadAggregate'
'Pset_ThermalLoadDesignCriteria'

5.4.3.4.3.12 Property Sets with Override

Any object occurrence can hold property sets, either directly at the object occurrence as element specific property sets, or at the object type, as type property sets. In this case, the properties that are provided to the object occurrence are the combinations of element specific and type properties. In case, that the same property (within the same property set, is defined both, in occurrence and type properties, the property value of the occurrence property overrides the property value of the type property.

5.4.3.4.3.13 Quantity Sets

QsetName
'Qto_BuildingBaseQuantities'

5.4.3.4.3.14 Revision Control

Ownership, history, and merge state is captured using IfcOwnerHistory.

5.4.3.4.3.15 Spatial Composition

NOTE  By using the inverse relationship IfcBuilding.Decomposes it references IfcProject || IfcSite || IfcBuilding through IfcRelAggregates.RelatingObject. If it refers to another instance of IfcBuilding, the referenced IfcBuilding needs to have a different and higher CompositionType, i.e. COMPLEX (if the other IfcBuilding has ELEMENT), or ELEMENT (if the other IfcBuilding has PARTIAL).

5.4.3.4.3.16 Spatial Container

NOTE  If there are building elements and/or other elements directly related to the IfcBuilding (like a curtain wall spanning several stories), they are associated with the IfcBuilding by using the objectified relationship IfcRelContainedInSpatialStructure. The IfcBuilding references them by its inverse relationship:

5.4.3.4.3.17 Spatial Decomposition

NOTE  By using the inverse relationship IfcBuilding.IsDecomposedBy it references IfcBuilding || IfcBuildingStorey through IfcRelAggregates.RelatedObjects. If it refers to another instance of IfcBuilding, the referenced IfcBuilding needs to have a different and lower CompositionType, i.e. ELEMENT (if the other IfcBuilding has COMPLEX), or PARTIAL (if the other IfcBuilding has ELEMENT).

5.4.3.4.4 Formal representations

ENTITY IfcBuilding
 SUBTYPE OF (IfcFacility);
	ElevationOfRefHeight : OPTIONAL IfcLengthMeasure;
	ElevationOfTerrain : OPTIONAL IfcLengthMeasure;
	BuildingAddress : OPTIONAL IfcPostalAddress;
END_ENTITY;