Skip to content

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.

IFC Properties

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


BIM-Enabled 3D Digital Urban Land Administration -- New Era in Managing Cities in Rajabifard, A., et al. BIM and Urban Land Administration. 1st ed., CRC Press, 2019.