[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [3930] trunk/py/scripts/addons/ io_scene_obj/export_obj.py: fix [#33086] Empty vertex group causes list index out of range error on export OBJ

Campbell Barton ideasman42 at gmail.com
Mon Nov 5 06:59:38 CET 2012


Revision: 3930
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=3930
Author:   campbellbarton
Date:     2012-11-05 05:59:33 +0000 (Mon, 05 Nov 2012)
Log Message:
-----------
fix [#33086] Empty vertex group causes list index out of range error on export OBJ

Modified Paths:
--------------
    trunk/py/scripts/addons/io_scene_obj/export_obj.py

Modified: trunk/py/scripts/addons/io_scene_obj/export_obj.py
===================================================================
--- trunk/py/scripts/addons/io_scene_obj/export_obj.py	2012-11-04 11:46:03 UTC (rev 3929)
+++ trunk/py/scripts/addons/io_scene_obj/export_obj.py	2012-11-05 05:59:33 UTC (rev 3930)
@@ -457,13 +457,13 @@
             if EXPORT_POLYGROUPS:
                 # Retrieve the list of vertex groups
                 vertGroupNames = ob.vertex_groups.keys()
+                if vertGroupNames:
+                    currentVGroup = ''
+                    # Create a dictionary keyed by face id and listing, for each vertex, the vertex groups it belongs to
+                    vgroupsMap = [[] for _i in range(len(me_verts))]
+                    for v_idx, v_ls in enumerate(vgroupsMap):
+                        v_ls[:] = [(vertGroupNames[g.group], g.weight) for g in me_verts[v_idx].groups]
 
-                currentVGroup = ''
-                # Create a dictionary keyed by face id and listing, for each vertex, the vertex groups it belongs to
-                vgroupsMap = [[] for _i in range(len(me_verts))]
-                for v_idx, v_ls in enumerate(vgroupsMap):
-                    v_ls[:] = [(vertGroupNames[g.group], g.weight) for g in me_verts[v_idx].groups]
-
             for f, f_index in face_index_pairs:
                 f_smooth = f.use_smooth
                 f_mat = min(f.material_index, len(materials) - 1)
@@ -480,7 +480,7 @@
 
                 # Write the vertex group
                 if EXPORT_POLYGROUPS:
-                    if ob.vertex_groups:
+                    if vertGroupNames:
                         # find what vertext group the face belongs to
                         vgroup_of_face = findVertexGroupName(f, vgroupsMap)
                         if vgroup_of_face != currentVGroup:



More information about the Bf-extensions-cvs mailing list