After RE-23 (#226) every door/window opening chain matches Revit's (138/138), but the opening body is the filling element's bbox on its own placement, not a wall-relative cut, and the export's other 63 openings (42 slab, 20 shading-device, 1 unfilled wall) are not recovered. Do: (1) express the opening in the host wall's local frame using the wall location curve and thickness (the RE-21 bbox gives the extents); (2) find the slab/shading-device penetrations in the element records (the same counted reference list at +0x88 may name the host) and score them against IfcRelVoidsElement pairs whose filling is absent — exact set or nothing; (3) extend the relations surface with IFCRELVOIDSELEMENT pairs once both sides are comparable.
After RE-23 (#226) every door/window opening chain matches Revit's (138/138), but the opening body is the filling element's bbox on its own placement, not a wall-relative cut, and the export's other 63 openings (42 slab, 20 shading-device, 1 unfilled wall) are not recovered. Do: (1) express the opening in the host wall's local frame using the wall location curve and thickness (the RE-21 bbox gives the extents); (2) find the slab/shading-device penetrations in the element records (the same counted reference list at +0x88 may name the host) and score them against IfcRelVoidsElement pairs whose filling is absent — exact set or nothing; (3) extend the relations surface with IFCRELVOIDSELEMENT pairs once both sides are comparable.