From 94e23455d4ecef546c05d51daf42d744aaf5b79c Mon Sep 17 00:00:00 2001 From: Campbell Barton <ideasman42@gmail.com> Date: Tue, 3 Jul 2012 17:37:40 +0000 Subject: [PATCH] increase margin and remove doubles a little, close verts gave issues with convex hull --- object_fracture_voroni/__init__.py | 5 ++++- object_fracture_voroni/fracture_cell_calc.py | 2 +- object_fracture_voroni/fracture_cell_setup.py | 6 ++++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/object_fracture_voroni/__init__.py b/object_fracture_voroni/__init__.py index 3a6e507a2..611a37ac4 100644 --- a/object_fracture_voroni/__init__.py +++ b/object_fracture_voroni/__init__.py @@ -59,7 +59,10 @@ def main_object(scene, obj, level, **kw): use_island_split = kw_copy.pop("use_island_split") from . import fracture_cell_setup - + + # not essential but selection is visual distraction. + obj.select = False + if kw_copy["use_debug_redraw"]: obj_draw_type_prev = obj.draw_type obj.draw_type = 'WIRE' diff --git a/object_fracture_voroni/fracture_cell_calc.py b/object_fracture_voroni/fracture_cell_calc.py index b7416dd88..3b9e5a16d 100644 --- a/object_fracture_voroni/fracture_cell_calc.py +++ b/object_fracture_voroni/fracture_cell_calc.py @@ -22,7 +22,7 @@ def points_as_bmesh_cells(verts, points, - margin_bounds=0.01, + margin_bounds=0.05, margin_cell=0.0): import mathutils from mathutils import Vector diff --git a/object_fracture_voroni/fracture_cell_setup.py b/object_fracture_voroni/fracture_cell_setup.py index c2661a10a..cf87be263 100644 --- a/object_fracture_voroni/fracture_cell_setup.py +++ b/object_fracture_voroni/fracture_cell_setup.py @@ -216,7 +216,7 @@ def cell_fracture_objects(scene, obj, bm_vert.tag = True import mathutils - bmesh.ops.remove_doubles(bm, verts=bm.verts, dist=0.0001) + bmesh.ops.remove_doubles(bm, verts=bm.verts, dist=0.005) try: bmesh.ops.convex_hull(bm, input=bm.verts) except RuntimeError: @@ -352,7 +352,7 @@ def cell_fracture_boolean(scene, obj, objects, if use_debug_redraw: _redraw_yasiamevil() - if use_island_split: + if apply and use_island_split: # this is ugly and Im not proud of this - campbell objects_islands = [] for obj_cell in objects_boolean: @@ -375,4 +375,6 @@ def cell_fracture_boolean(scene, obj, objects, objects_boolean = objects_islands + scene.update() + return objects_boolean -- GitLab