diff options
author | Eugenio Pignataro <info@oscurart.com.ar> | 2017-10-04 18:12:04 +0300 |
---|---|---|
committer | Eugenio Pignataro <info@oscurart.com.ar> | 2017-10-04 18:12:04 +0300 |
commit | 4632c73bbfd51bd5124ce8b1b51cd2500cbb6de6 (patch) | |
tree | ea6a2791c5b4e199eed6de5d995e78e1d043797b /oscurart_tools | |
parent | bbe7d59307469ec2c52273136d4dfab336485ad4 (diff) |
Add multiSelection to Overlap Uvs
Diffstat (limited to 'oscurart_tools')
-rw-r--r-- | oscurart_tools/oscurart_meshes.py | 34 |
1 files 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") |