From 4632c73bbfd51bd5124ce8b1b51cd2500cbb6de6 Mon Sep 17 00:00:00 2001 From: Eugenio Pignataro Date: Wed, 4 Oct 2017 12:12:04 -0300 Subject: Add multiSelection to Overlap Uvs --- oscurart_tools/oscurart_meshes.py | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/oscurart_tools/oscurart_meshes.py b/oscurart_tools/oscurart_meshes.py index 9b1314b3..55181446 100644 --- a/oscurart_tools/oscurart_meshes.py +++ b/oscurart_tools/oscurart_meshes.py @@ -582,18 +582,28 @@ def defCopyUvsIsland(self, context): def defPasteUvsIsland(self, context): bpy.ops.object.mode_set(mode="OBJECT") - TobLoop = [] - TislandFaces = [] - for poly in bpy.context.object.data.polygons: - if poly.select: - TislandFaces.append(poly.index) - for li in poly.loop_indices: - TobLoop.append(li) - - for source,target in zip(range(min(obLoop),max(obLoop)+1),range(min(TobLoop),max(TobLoop)+1)): - bpy.context.object.data.uv_layers.active.data[target].uv = bpy.context.object.data.uv_layers.active.data[source].uv - - bpy.ops.object.mode_set(mode="EDIT") + selPolys = [poly.index for poly in bpy.context.object.data.polygons if poly.select] + + for island in selPolys: + bpy.ops.object.mode_set(mode="EDIT") + bpy.ops.mesh.select_all(action="DESELECT") + bpy.ops.object.mode_set(mode="OBJECT") + bpy.context.object.data.polygons[island].select = True + bpy.ops.object.mode_set(mode="EDIT") + bpy.ops.mesh.select_linked() + bpy.ops.object.mode_set(mode="OBJECT") + TobLoop = [] + TislandFaces = [] + for poly in bpy.context.object.data.polygons: + if poly.select: + TislandFaces.append(poly.index) + for li in poly.loop_indices: + TobLoop.append(li) + + for source,target in zip(range(min(obLoop),max(obLoop)+1),range(min(TobLoop),max(TobLoop)+1)): + bpy.context.object.data.uv_layers.active.data[target].uv = bpy.context.object.data.uv_layers.active.data[source].uv + + bpy.ops.object.mode_set(mode="EDIT") -- cgit v1.2.3