[Bf-extensions-cvs] [1d84fe5] master: Import Export Vertex Groups rewritten

Eugenio Pignataro noreply at git.blender.org
Mon Dec 8 17:05:17 CET 2014


Commit: 1d84fe52cad2632602b8d7a094d40fb1a5d6118d
Author: Eugenio Pignataro
Date:   Mon Dec 8 13:05:07 2014 -0300
Branches: master
https://developer.blender.org/rBAC1d84fe52cad2632602b8d7a094d40fb1a5d6118d

Import Export Vertex Groups rewritten

===================================================================

M	oscurart_tools/oscurart_meshes.py

===================================================================

diff --git a/oscurart_tools/oscurart_meshes.py b/oscurart_tools/oscurart_meshes.py
index b3e1186..9594a23 100644
--- a/oscurart_tools/oscurart_meshes.py
+++ b/oscurart_tools/oscurart_meshes.py
@@ -140,15 +140,13 @@ class OscExportVG (bpy.types.Operator):
         
         ob = bpy.context.object
         with open(os.path.join(os.path.dirname(bpy.data.filepath),ob.name+".txt"), mode="w") as file:
-            grs = {group.name for group in ob.vertex_groups}
-            vg = {vert.index : list(map(  lambda x: (ob.vertex_groups[x.group].name, x.weight)  , vert.groups  )) for vert in ob.data.vertices if len(vert.groups) > 0}
-            neworder = {}
-            for indice, data in vg.items():
-                for group, weight in data:
-                    neworder.setdefault(group,[]).append((indice,weight))
-            file.write(str(grs))
-            file.write(str("\n"))
-            file.write(str(neworder))
+            vgindex =  {vg.index : vg.name for vg in ob.vertex_groups[:]}
+            vgdict = {}
+            for vert in ob.data.vertices:
+                for vg in vert.groups:
+                    vgdict.setdefault(vg.group,[]).append((vert.index,vg.weight))
+            file.write(str(vgdict)+"\n")      
+            file.write(str(vgindex))              
 
         return {'FINISHED'}
 
@@ -162,16 +160,18 @@ class OscImportVG (bpy.types.Operator):
         return context.active_object is not None   
     
     def execute(self,context):
-        
-        ob = bpy.context.object    
-        with open(os.path.join(os.path.dirname(bpy.data.filepath),ob.name+".txt"), mode="r") as file:   
-            grs = eval(file.readlines(1)[0] )
-            neworder = eval(file.readlines(2)[0] )
-            for gr in grs:
-                bpy.context.object.vertex_groups.new(name=gr)
-            for group, data in neworder.items():
-                for indice, weight in data:
-                    ob.vertex_groups[group].add([indice],weight,"REPLACE")
+                  
+        ob = bpy.context.object 
+        with open(os.path.join(os.path.dirname(bpy.data.filepath),ob.name+".txt"), mode="r") as file:
+            vgdict = eval(file.readlines(1)[0].replace("\n",""))
+            vgindex = eval(file.readlines(2)[0].replace("\n",""))
+
+        for index,name in vgindex.items():
+            ob.vertex_groups.new(name=name)
+
+        for group, vdata in vgdict.items():
+            for index, weight in vdata:
+                ob.vertex_groups[group].add(index=[index],weight=weight,type="REPLACE")                    
         
         return {'FINISHED'}



More information about the Bf-extensions-cvs mailing list