From c5f25405a2243f9e30e96a08651b253484df408f Mon Sep 17 00:00:00 2001 From: Petru Conduraru Date: Thu, 16 Jul 2026 16:14:25 +0300 Subject: [PATCH] ifc5d: wire up GrossFootprintArea/NetFootprintArea for IfcWall QTO Root cause: the IfcOpenShell-geometry-engine calculator ruleset (IFC4QtoBaseQuantities.json and IFC4X3QtoBaseQuantities.json) left IfcWall's GrossFootprintArea/NetFootprintArea mapped to null, so these two quantities were silently omitted from Qto_WallBaseQuantities whenever that ruleset was used. The generic gross_get_footprint_area and net_get_footprint_area formulas already exist and are already wired up for IfcSlab in the same files, so this was a missing mapping, not a missing implementation. Fixes #7029. Generated with the assistance of an AI coding tool. (cherry picked from commit f3cb7aea6115576fdad12787916c816c3998fb0c) --- src/ifc5d/ifc5d/IFC4QtoBaseQuantities.json | 4 ++-- src/ifc5d/ifc5d/IFC4X3QtoBaseQuantities.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ifc5d/ifc5d/IFC4QtoBaseQuantities.json b/src/ifc5d/ifc5d/IFC4QtoBaseQuantities.json index 7d35e64b9a..bd28c7df47 100644 --- a/src/ifc5d/ifc5d/IFC4QtoBaseQuantities.json +++ b/src/ifc5d/ifc5d/IFC4QtoBaseQuantities.json @@ -606,13 +606,13 @@ }, "IfcWall": { "Qto_WallBaseQuantities": { - "GrossFootprintArea": null, + "GrossFootprintArea": "gross_get_footprint_area", "GrossSideArea": "gross_get_side_area", "GrossVolume": "gross_get_volume", "GrossWeight": "gross_get_weight", "Height": "net_get_z", "Length": "net_get_x", - "NetFootprintArea": null, + "NetFootprintArea": "net_get_footprint_area", "NetSideArea": "net_get_side_area", "NetVolume": "net_get_volume", "NetWeight": "net_get_weight", diff --git a/src/ifc5d/ifc5d/IFC4X3QtoBaseQuantities.json b/src/ifc5d/ifc5d/IFC4X3QtoBaseQuantities.json index 44806c2ccf..425a7e468e 100644 --- a/src/ifc5d/ifc5d/IFC4X3QtoBaseQuantities.json +++ b/src/ifc5d/ifc5d/IFC4X3QtoBaseQuantities.json @@ -769,13 +769,13 @@ }, "IfcWall + IfcWallType": { "Qto_WallBaseQuantities": { - "GrossFootPrintArea": null, + "GrossFootPrintArea": "gross_get_footprint_area", "GrossSideArea": "gross_get_side_area", "GrossVolume": "gross_get_volume", "GrossWeight": "gross_get_weight", "Height": "net_get_z", "Length": "net_get_x", - "NetFootPrintArea": null, + "NetFootPrintArea": "net_get_footprint_area", "NetSideArea": "net_get_side_area", "NetVolume": "net_get_volume", "NetWeight": "net_get_weight",