Skip to content

IFC5 Pre-Alpha Spatial Units and SpatialZones

Introduction

As already stated in Spaces, Zones and SpatialZones, the SpatialZone appears to be a perfect candidate to provide the bridge between IFC and the Spatial Unit of LADM and related administrative domains of registering Rights, Responsibilities and Restrictions related to building or infrastructures.

To repeat from The official 4.3.2.0 documentation for "IFC 4.3".:

  • A spatial zone is a non-hierarchical and potentially overlapping decomposition of the project under some functional consideration. A spatial zone might be used to represent a thermal zone, a construction zone, a lighting zone, a usable area zone. A spatial zone might have its independent placement and shape representation.
  • Physical elements that are referenced by this spatial zone are related using the IfcRelReferencedInSpatialStructure relationship as it is a non-hierarchical assignment in addition to the hierarchical spatial containment within a subtype of IfcSpatialStructureElement. Also spaces, that are referenced by this spatial zone are related using the IfcRelReferencedInSpatialStructure relationship. The IfcSpatialZone itself can also be referenced by another spatial element using IfcRelReferencedInSpatialStructure.

A first tentative example

The IfcRelReferencedInSpatialStructure is not yet transposed in IFC5. Hereunder we have liberaly transposed it into the attribute ifc5:spatialStructureReference. This will be changed as soone as there is an IFC5 tranposition.

As for other things,

[
{
    "disclaimer": "The IfcRefReferencedInSpatialStructure is liberaly transposed into the attribute ifc5:spatialStructureReference"
},
{
   "def": "over",
   "name": "My_Storey_class",
   "children": [
     {
      "def": "def",
      "name": "My_Apartment_SpatialZone",
      "inherits": [
          "</My_Apartment_SpatialZone_class>"]
     }
   ]
},
{
   "def": "class",
   "type": "UsdGeom:Xform",
   "name": "My_Apartment_SpatialZone_class"
},
{
  "def": "over",
  "name": "My_Apartment_SpatialZone_class",
  "attributes": {
      "ifc5:class": {
       "code": "IfcSpatialZone",
       "uri": "https://identifier.buildingsmart.org/uri/buildingsmart/ifc/4.3/class/IfcSpatialZone"
      }
  }
},
{
    "def": "over",
    "name": "My_Apartment_SpatialZone_class",
    "attributes": {
        "ifc5:spatialStructureReference": [
            {
                "relatedElement": {
                    "ref": "</My_Space_class>"
                }
            }
        ]
    }
}
]

The Tree provided via the modified render.mjs shows the data for the My_Apartment_SpatialZone.

{
    "def": "over",
    "type": "UsdGeom:Xform",
    "name": "/My_Project/My_Site/My_Building/My_Storey/My_Apartment_SpatialZone",
    "attributes": {
    "ifc5:spatialStructureReference:0": {
        "relatedElement": {
        "ref": "</My_Space_class>"
        }
    },
    "ifc5:class:code": "IfcSpatialZone",
    "ifc5:class:uri": "https://identifier.buildingsmart.org/uri/buildingsmart/ifc/4.3/class/IfcSpatialZone"
    },
    "children": []
}

This is also shown on the viewer (version 'v1' / early january 2025)

Hello Wall tree