ifc_dxf
One layer per IFC class, drawing role as an entity style. The layer used to encode both the class and the graphic role (IfcWall_Section, IfcWall_View, IfcDoor_Overhead), which needs ~90 template layers to cover the architectural set — so most entities landed on undeclared layers and were drawn with CAD defaults. The two dimensions are now separate: the layer says what it is, the entity style says how it prints (sectioned 7/Continuous/0.30, viewed 1/Continuous/0.09, overhead 2/Dashed/0.09). Blocks stay BYLAYER. The template ships 33 layers; hatch layers are created at export only when a hatch is written, and ensure_layer never restyles a layer a template already declares.
Accurate pipeline
- Edge classification (IfcOpenShell #8608) is read from the drawing's own
EPset_Drawing, exactly as Bonsai does, so the DXF and the SVG of one drawing share their linework. IfcSpaceandIfcSpatialZoneno longer take part in the visibility pass: written into the HLR scene they behaved as opaque solids, hiding 59 of 84 furniture and all 13 sanitary terminals on a real plan. They are outlined from their authored footprint on a no-plot layer.- View linework buried under a hatched cut is dropped (844 → 673 entities on a real ground floor).
- Sections fuse per class by default, with a Fuse by Material option that keys on the whole material assignment rather than the first layer of a layer set.
Annotations in BricsCAD — annotative text is drawn from its context data, not from the TEXT entity: the rotation there is now written in degrees (a text turned 90° came out straight), along with its insertion and alignment points. Fixed-height text styles are marked annotative, so their paper height (1.8 mm, 2.5 mm...) is multiplied by the annotation scale instead of being taken as model metres — texts and dimensions no longer collapse to 1/100 of their size when edited.
dxf_ifc
Panel renamed to Import External Geometry as Representation.
Install
Download bonsai_salad-v0.0.9.zip below and install it via Edit → Preferences → Add-ons → Install. The ZIP GitHub generates automatically has an extra folder level that Blender does not accept.