[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [4424] trunk/py/scripts/addons: remove use of ob.update_from_editmode() since editmode meshes don' t get access to customdata layers.

Campbell Barton ideasman42 at gmail.com
Sun Mar 24 20:47:31 CET 2013


Revision: 4424
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=4424
Author:   campbellbarton
Date:     2013-03-24 19:47:31 +0000 (Sun, 24 Mar 2013)
Log Message:
-----------
remove use of ob.update_from_editmode() since editmode meshes don't get access to customdata layers. 

Modified Paths:
--------------
    trunk/py/scripts/addons/io_mesh_ply/export_ply.py
    trunk/py/scripts/addons/io_mesh_uv_layout/__init__.py
    trunk/py/scripts/addons/io_scene_3ds/export_3ds.py
    trunk/py/scripts/addons/io_scene_obj/export_obj.py
    trunk/py/scripts/addons/io_scene_vrml2/export_vrml2.py
    trunk/py/scripts/addons/io_scene_x3d/export_x3d.py

Modified: trunk/py/scripts/addons/io_mesh_ply/export_ply.py
===================================================================
--- trunk/py/scripts/addons/io_mesh_ply/export_ply.py	2013-03-24 18:50:21 UTC (rev 4423)
+++ trunk/py/scripts/addons/io_mesh_ply/export_ply.py	2013-03-24 19:47:31 UTC (rev 4424)
@@ -197,7 +197,8 @@
     if not obj:
         raise Exception("Error, Select 1 active object")
 
-    obj.update_from_editmode()
+    if bpy.ops.object.mode_set.poll():
+        bpy.ops.object.mode_set(mode='OBJECT')
 
     if use_mesh_modifiers and obj.modifiers:
         mesh = obj.to_mesh(scene, True, 'PREVIEW')

Modified: trunk/py/scripts/addons/io_mesh_uv_layout/__init__.py
===================================================================
--- trunk/py/scripts/addons/io_mesh_uv_layout/__init__.py	2013-03-24 18:50:21 UTC (rev 4423)
+++ trunk/py/scripts/addons/io_mesh_uv_layout/__init__.py	2013-03-24 19:47:31 UTC (rev 4424)
@@ -172,7 +172,9 @@
     def execute(self, context):
 
         obj = context.active_object
-        obj.update_from_editmode()
+        is_editmode = (obj.mode == 'EDIT')
+        if is_editmode:
+            bpy.ops.object.mode_set(mode='OBJECT', toggle=False)
 
         mode = self.mode
 
@@ -202,6 +204,9 @@
         if self.modified:
             bpy.data.meshes.remove(mesh)
 
+        if is_editmode:
+            bpy.ops.object.mode_set(mode='EDIT', toggle=False)
+
         file.close()
 
         return {'FINISHED'}

Modified: trunk/py/scripts/addons/io_scene_3ds/export_3ds.py
===================================================================
--- trunk/py/scripts/addons/io_scene_3ds/export_3ds.py	2013-03-24 18:50:21 UTC (rev 4423)
+++ trunk/py/scripts/addons/io_scene_3ds/export_3ds.py	2013-03-24 19:47:31 UTC (rev 4424)
@@ -997,6 +997,9 @@
     if global_matrix is None:
         global_matrix = mathutils.Matrix()
 
+    if bpy.ops.object.mode_set.poll():
+        bpy.ops.object.mode_set(mode='OBJECT')
+
     # Initialize the main chunk (primary):
     primary = _3ds_chunk(PRIMARY)
     # Add version chunk:
@@ -1025,8 +1028,6 @@
         objects = (ob for ob in scene.objects if ob.is_visible(scene))
 
     for ob in objects:
-        ob.update_from_editmode()
-
         # get derived objects
         free, derived = create_derived_objects(scene, ob)
 

Modified: trunk/py/scripts/addons/io_scene_obj/export_obj.py
===================================================================
--- trunk/py/scripts/addons/io_scene_obj/export_obj.py	2013-03-24 18:50:21 UTC (rev 4423)
+++ trunk/py/scripts/addons/io_scene_obj/export_obj.py	2013-03-24 19:47:31 UTC (rev 4424)
@@ -678,7 +678,6 @@
     scene = context.scene
 
     # Exit edit mode before exporting, so current object states are exported properly.
-    # use this over obj.update_from_editmode() because of animation export.
     if bpy.ops.object.mode_set.poll():
         bpy.ops.object.mode_set(mode='OBJECT')
 

Modified: trunk/py/scripts/addons/io_scene_vrml2/export_vrml2.py
===================================================================
--- trunk/py/scripts/addons/io_scene_vrml2/export_vrml2.py	2013-03-24 18:50:21 UTC (rev 4423)
+++ trunk/py/scripts/addons/io_scene_vrml2/export_vrml2.py	2013-03-24 19:47:31 UTC (rev 4424)
@@ -177,10 +177,16 @@
     assert(obj.type == 'MESH')
 
     if use_mesh_modifiers:
-        obj.update_from_editmode()
+        is_editmode = (obj.mode == 'EDIT')
+        if is_editmode:
+            bpy.ops.object.editmode_toggle()
+
         me = obj.to_mesh(scene, True, 'PREVIEW', calc_tessface=False)
         bm = bmesh.new()
         bm.from_mesh(me)
+
+        if is_editmode:
+            bpy.ops.object.editmode_toggle()
     else:
         me = obj.data
         if obj.mode == 'EDIT':

Modified: trunk/py/scripts/addons/io_scene_x3d/export_x3d.py
===================================================================
--- trunk/py/scripts/addons/io_scene_x3d/export_x3d.py	2013-03-24 18:50:21 UTC (rev 4423)
+++ trunk/py/scripts/addons/io_scene_x3d/export_x3d.py	2013-03-24 19:47:31 UTC (rev 4424)
@@ -1582,10 +1582,8 @@
 
     bpy.path.ensure_ext(filepath, '.x3dz' if use_compress else '.x3d')
 
-    edit_object = context.edit_object
-    if edit_object:
-        edit_object.update_from_editmode()
-    del edit_object
+    if bpy.ops.object.mode_set.poll():
+        bpy.ops.object.mode_set(mode='OBJECT')
 
     if use_compress:
         file = gzip_open_utf8(filepath, 'w')



More information about the Bf-extensions-cvs mailing list