From 47612b6e007ece4a5b0982d33462ec1e94efe7a4 Mon Sep 17 00:00:00 2001 From: "Spivak Vladimir (cwolf3d)" Date: Tue, 7 Jan 2020 22:16:35 +0200 Subject: Fix T72951: LoopTools Curve : "Boundaries" checkbox not working when in closed loop --- mesh_looptools.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/mesh_looptools.py b/mesh_looptools.py index 11b234ac..62d3b9be 100644 --- a/mesh_looptools.py +++ b/mesh_looptools.py @@ -23,7 +23,7 @@ bl_info = { "name": "LoopTools", "author": "Bart Crouch, Vladimir Spivak (cwolf3d)", - "version": (4, 7, 0), + "version": (4, 7, 1), "blender": (2, 80, 0), "location": "View3D > Sidebar > Edit Tab / Edit Mode Context Menu", "warning": "", @@ -2324,8 +2324,16 @@ def curve_cut_boundaries(bm_mod, loops): cut_loops = [] for loop, circular in loops: if circular: - # don't cut - cut_loops.append([loop, circular]) + selected = [bm_mod.verts[v].select for v in loop] + first = selected.index(True) + selected.reverse() + last = -selected.index(True) + if last == 0: + if len(loop[first:]) < len(loop)/2: + cut_loops.append([loop[first:], False]) + else: + if len(loop[first:last]) < len(loop)/2: + cut_loops.append([loop[first:last], False]) continue selected = [bm_mod.verts[v].select for v in loop] first = selected.index(True) -- cgit v1.2.3