diff --git a/src/bonsai/bonsai/bim/module/drawing/operator.py b/src/bonsai/bonsai/bim/module/drawing/operator.py index b1c4c69c3b..6391be9474 100644 --- a/src/bonsai/bonsai/bim/module/drawing/operator.py +++ b/src/bonsai/bonsai/bim/module/drawing/operator.py @@ -1443,13 +1443,17 @@ class CreateDrawing(bpy.types.Operator): join_criteria = join_criteria.split(",") else: # Drawing convention states that same objects classes with the same material are merged when cut. + # We compare the resolved list of constituent material names ("materials.Name") rather than + # "material.Name", because for layered walls/slabs the latter resolves to the optional + # IfcMaterialLayerSet.LayerSetName, which is frequently left unset (or set inconsistently) even when + # two elements share the exact same layer composition. That caused mitred/butt-joined walls with + # identical materials to keep a spurious visible seam in the 2D linework. See #6274. join_criteria = [ "class", - "material.Name", + "materials.Name", "/Pset_.*Common/.Status", "EPset_Status.Status", "EPset_Status.UserDefinedStatus", - "Material.Name", ] group = root.find("{http://www.w3.org/2000/svg}g")