More on Properties and Quantities
Properties
Properties in IFC are specific attributes or characteristics assigned to elements that describe their physical and functional aspects.
Properties are grouped into property sets (Psets), which are collections of related properties. For example, a property set for a door might include properties like fire rating, material, and manufacturer.
While IFC provides a set of predefined properties and property sets, users can also define custom properties to meet specific project requirements. This flexibility allows for the inclusion of unique attributes that are important for particular use cases.
Additionally, properties combined with types make it possible to extend the class system as illustrated hereunder.
For intance, an IfcSpatialZone may be typed to be descriptive of specific attributes of a Land Administration Spatial Unit such as a Parking, a Private Apartment, Common part in a Condominium.
So we could have:
flowchart TB
spatialZone["object: IfcSpatialZone"]
spatialZoneType["object: IfcSpatialZoneType | Private Parts - Apartment"]
propertySet["propertyset: Pset_B_logBook_PrivateApartment"]
relDefinesByProperties["relationship: IfcRelDefinesByProperties"]
relDefinesByType["relationship: IfcRelDefinedByType"]
relDefinesByType -- relating --o spatialZoneType
relDefinesByType -- related --o spatialZone
relDefinesByProperties -- related --o spatialZone
relDefinesByProperties -- relating --o propertySet
spatialZoneType -- hasProperties --o propertySet
IfcSpatialZoneType
{
"type": "IfcSpatialZoneType",
"globalId": "583ddead-dd04-4173-8a6b-bb8272551f4a",
"name": "Private Parts - Apartment",
"tag": "0003456",
"hasPropertySets": [
{
"type": "IfcPropertySet",
"ref": "36fea888-7a8f-4167-b00e-32dfb69fc9dc"
}
],
"predefinedType": "NOTDEFINED"
}
Propertyset
{
"type": "IfcPropertySet",
"globalId": "36fea888-7a8f-4167-b00e-32dfb69fc9dc",
"name": "Pset_B_logBook_PrivateApartment",
"hasProperties": [
{
"type": "IfcPropertySingleValue",
"name": "NbrSleepingRooms",
"nominalValue": {
"type": "IfcPositiveInteger",
"value": 3
}
}
]
}
Typical types of nominalValue:
- IfcBinary
- IfcBoolean
- IfcDate
- IfcDuration
- IfcIdentifier
- IfcInteger
- IfcLabel
- IfcPositiveInteger
- IfcReal
- IfcText
Quantities
In the context of the Industry Foundation Classes (IFC) schema, IfcQuantities refer to a set of predefined measurable properties that describe the physical characteristics of building elements. These quantities are essential for various purposes, including cost estimation, material takeoff, and construction planning. Common types of quantities include length, area, volume, weight, and count.
An IfcElementQuantity defines a set of derived measures of an element's physical property. Elements could be spatial structure elements (like buildings, storeys, or spaces) or building elements (like walls, slabs, finishes). The IfcElementQuantity gets assigned to the element by using the IfcRelDefinesByProperties relationship.
There is also an IfcQuantitySet but unlike the IfcPropertySet, it is an abstract class.
In the same way as IfcPropertySet, the IfcElementQuantity relates to the elements to which it applies as a relating element in the IfcRelDefinesByProperties
flowchart TB
spatialZone["object: IfcSpatialZone"]
propertySet["propertyset: IfcElementQuantity"]
relDefinesByProperties["relationship: IfcRelDefinesByProperties"]
relDefinesByProperties -- related --o spatialZone
relDefinesByProperties -- relating --o propertySet
Books
Many Land Administration examples in the book chapter hereunder