2D apartment subdivision drawings (as IfcZone) in ifcopenshell.draw
See my post here [0] on a project here in the Netherlands for legal drawings of apartment indices aimed at notaries for which I extended IfcOpenShell to generate a planar arrangement of the IfcZones in a building model.
[0] http://blog.ifcopenshell.org/2025/10/bim-legal-2d-notorial-drawings-directly.html
I'm mostly curious if:
- There are other use cases we can adapt this to. In particular fire safety
- If it needs to be integrated into Bonsai
Let me know,







Comments
Nice idea
I think Bonsai already includes the ability to filter what should be in a drawing and specify custom CSS files. The bit that's missing is the unioning of the zone-grouped spaces.
The bit that looks super cool is the merged no-gaps boundaries. Is that only a 2D thing or is it possible in 3D? Even if only possible in 2D, that would still be super useful for analysis or to write a utility that snapped spaces.
Non-watertight spaces / spatialzones are super useful in energy analysis, automated spatial containment, etc
One possible italian use case would could be to calculate the cadastral surfaces to determine the theoretical income (on which the property taxes are payed).

An example: you have a condominium. Each real estate unit would be identified (each apartment and each garages gets a number). Then a plan of each unit should be drawn, exactly according to notorial drawings subdivision. Then each room should be classified (A to F) and poligons should be drawn removing wall gaps. Each classified poligon should remember how many rooms and their total net floor area...
Here an example of a real estate unit with "poligon surfaces classification"
I think other cases could be functional plans (MEP, Access control, etc) and Facility Management
Yes that was also the aspect I was referring to.
Theoretically the same approach is possible in 3D. The intermediate spaces is then filled with tetras instead of tris. And when you connect edges on opposing ends you get tris instead of edges. Super interesting to attempt, but I also have other tools that try to do this in 3D, also experimental.
But the approach has quite some artefacts, which you can see below. The triangulation is nice, simple to understand and robust, but in cases where multiple 'walls' join of varying width, the triangulation is also somewhat 'arbitrary' and results in some visual artefacts. Probably with some minimisation algo this noise can also be eliminated as a post processing step.
@carlopav @steverugi exactly these are the things I was talking about and with our SVG approach we can make them interactive and add semantics to trace them back to the original IFC input.
Anyway, if you ever need this in your work you can think of this.