From f3f90e0ad58caf23029beabca33ad656e9ec402a Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Fri, 24 Mar 2023 20:53:18 +1100 Subject: [PATCH] Fix bug where mesh analysis during updating meshes as solids (i.e. extrusions) did not remove doubles, causing it to fail on sloppy meshes (and meshes are often sloppy) --- src/blenderbim/blenderbim/bim/module/geometry/helper.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/module/geometry/helper.py b/src/blenderbim/blenderbim/bim/module/geometry/helper.py index 435d008820..d3e9c3b708 100644 --- a/src/blenderbim/blenderbim/bim/module/geometry/helper.py +++ b/src/blenderbim/blenderbim/bim/module/geometry/helper.py @@ -38,6 +38,7 @@ class Helper: bm = bmesh.new() bm.from_mesh(mesh) bmesh.ops.dissolve_limit(bm, angle_limit=pi / 180 * 1, verts=bm.verts, edges=bm.edges) + bmesh.ops.remove_doubles(bm, verts=bm.verts, dist=0.001) bm.faces.ensure_lookup_table() face = None @@ -61,6 +62,7 @@ class Helper: bm = bmesh.new() bm.from_mesh(mesh) bmesh.ops.dissolve_limit(bm, angle_limit=pi / 180 * 1, verts=bm.verts, edges=bm.edges) + bmesh.ops.remove_doubles(bm, verts=bm.verts, dist=0.001) bm.faces.ensure_lookup_table() potential_faces = [] @@ -88,6 +90,7 @@ class Helper: bm = bmesh.new() bm.from_mesh(mesh) bmesh.ops.dissolve_limit(bm, angle_limit=pi / 180 * 1, verts=bm.verts, edges=bm.edges) + bmesh.ops.remove_doubles(bm, verts=bm.verts, dist=0.001) bm.faces.ensure_lookup_table() potential_faces = [] @@ -289,6 +292,7 @@ class Helper: bm = bmesh.new() bm.from_mesh(mesh) bmesh.ops.dissolve_limit(bm, angle_limit=pi / 180 * 1, verts=bm.verts, edges=bm.edges) + bmesh.ops.remove_doubles(bm, verts=bm.verts, dist=0.001) bm.faces.ensure_lookup_table() potential_faces = [] @@ -385,6 +389,7 @@ class Helper: bm = bmesh.new() bm.from_mesh(mesh) bmesh.ops.dissolve_limit(bm, angle_limit=pi / 180 * 1, verts=bm.verts, edges=bm.edges) + bmesh.ops.remove_doubles(bm, verts=bm.verts, dist=0.001) bm.faces.ensure_lookup_table() faces = bm.faces