diff --git a/mesh_looptools.py b/mesh_looptools.py index 11b234ac0d40c1cf34e4d5ca169b1a5a61c27714..62d3b9bed1b364d6f7084ae67b4bc147c025babe 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)