[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28001] trunk/blender/release/scripts: Fix [#21886] OBJ export crashes if attempted while in edit mode
Matt Ebb
matt at mke3.net
Mon Apr 5 08:45:47 CEST 2010
Revision: 28001
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28001
Author: broken
Date: 2010-04-05 08:45:44 +0200 (Mon, 05 Apr 2010)
Log Message:
-----------
Fix [#21886] OBJ export crashes if attempted while in edit mode
Didn't crash for me, but did export incorrectly since editmode changes weren't flushed.
Fixed this by setting all exporters to go back to object mode before exporting.
Also cleaned up some naming in exporter creator strings, it's "Blender" not "Blender3D".
Modified Paths:
--------------
trunk/blender/release/scripts/io/export_3ds.py
trunk/blender/release/scripts/io/export_fbx.py
trunk/blender/release/scripts/io/export_obj.py
trunk/blender/release/scripts/io/export_ply.py
trunk/blender/release/scripts/io/export_x3d.py
trunk/blender/release/scripts/ui/space_info.py
Modified: trunk/blender/release/scripts/io/export_3ds.py
===================================================================
--- trunk/blender/release/scripts/io/export_3ds.py 2010-04-05 05:46:39 UTC (rev 28000)
+++ trunk/blender/release/scripts/io/export_3ds.py 2010-04-05 06:45:44 UTC (rev 28001)
@@ -942,6 +942,8 @@
sce = context.scene
# sce= bpy.data.scenes.active
+ bpy.ops.object.mode_set(mode='OBJECT')
+
# Initialize the main chunk (primary):
primary = _3ds_chunk(PRIMARY)
# Add version chunk:
Modified: trunk/blender/release/scripts/io/export_fbx.py
===================================================================
--- trunk/blender/release/scripts/io/export_fbx.py 2010-04-05 05:46:39 UTC (rev 28000)
+++ trunk/blender/release/scripts/io/export_fbx.py 2010-04-05 06:45:44 UTC (rev 28001)
@@ -344,6 +344,8 @@
BATCH_OWN_DIR = False
):
+ bpy.ops.object.mode_set(mode='OBJECT')
+
# ----------------- Batch support!
if BATCH_ENABLE:
if os == None: BATCH_OWN_DIR = False
@@ -388,7 +390,6 @@
orig_sce = context.scene
# orig_sce = bpy.data.scenes.active
-
new_fbxpath = fbxpath # own dir option modifies, we need to keep an original
for data in data_seq: # scene or group
newname = BATCH_FILE_PREFIX + bpy.utils.clean_name(data.name)
@@ -651,7 +652,7 @@
}''' % (curtime))
file.write('\nCreationTime: "%.4i-%.2i-%.2i %.2i:%.2i:%.2i:000"' % curtime)
- file.write('\nCreator: "Blender3D version %s"' % bpy.app.version_string)
+ file.write('\nCreator: "Blender version %s"' % bpy.app.version_string)
pose_items = [] # list of (fbxName, matrix) to write pose data for, easier to collect allong the way
Modified: trunk/blender/release/scripts/io/export_obj.py
===================================================================
--- trunk/blender/release/scripts/io/export_obj.py 2010-04-05 05:46:39 UTC (rev 28000)
+++ trunk/blender/release/scripts/io/export_obj.py 2010-04-05 06:45:44 UTC (rev 28001)
@@ -88,7 +88,7 @@
file = open(filename, "w")
# XXX
-# file.write('# Blender3D MTL File: %s\n' % Blender.Get('filename').split('\\')[-1].split('/')[-1])
+# file.write('# Blender MTL File: %s\n' % Blender.Get('filename').split('\\')[-1].split('/')[-1])
file.write('# Material Count: %i\n' % len(mtl_dict))
# Write material/image combinations we have used.
for key, (mtl_mat_name, mat, img) in mtl_dict.items():
@@ -361,8 +361,8 @@
file = open(filename, "w")
# Write Header
- file.write('# Blender3D v%s OBJ File: %s\n' % (bpy.app.version_string, bpy.data.filename.split('/')[-1].split('\\')[-1] ))
- file.write('# www.blender3d.org\n')
+ file.write('# Blender v%s OBJ File: %s\n' % (bpy.app.version_string, bpy.data.filename.split('/')[-1].split('\\')[-1] ))
+ file.write('# www.blender.org\n')
# Tell the obj file what material file to use.
if EXPORT_MTL:
@@ -816,14 +816,15 @@
EXPORT_KEEP_VERT_ORDER = False,
EXPORT_POLYGROUPS = False,
EXPORT_CURVE_AS_NURBS = True):
- # Window.EditMode(0)
- # Window.WaitCursor(1)
-
+
base_name, ext = splitExt(filename)
context_name = [base_name, '', '', ext] # Base name, scene name, frame number, extension
orig_scene = context.scene
+ # Exit edit mode before exporting, so current object states are exported properly.
+ bpy.ops.object.mode_set(mode='OBJECT')
+
# if EXPORT_ALL_SCENES:
# export_scenes = bpy.data.scenes
# else:
Modified: trunk/blender/release/scripts/io/export_ply.py
===================================================================
--- trunk/blender/release/scripts/io/export_ply.py 2010-04-05 05:46:39 UTC (rev 28000)
+++ trunk/blender/release/scripts/io/export_ply.py 2010-04-05 06:45:44 UTC (rev 28001)
@@ -99,6 +99,7 @@
Window.WaitCursor(1)
"""
+ bpy.ops.object.mode_set(mode='OBJECT')
#mesh = BPyMesh.getMeshFromObject(ob, None, EXPORT_APPLY_MODIFIERS, False, scn) # XXX
if EXPORT_APPLY_MODIFIERS:
@@ -202,7 +203,7 @@
file.write('ply\n')
file.write('format ascii 1.0\n')
- file.write('comment Created by Blender3D %s - www.blender.org, source file: %s\n' % (bpy.app.version_string, bpy.data.filename.split('/')[-1].split('\\')[-1]))
+ file.write('comment Created by Blender %s - www.blender.org, source file: %s\n' % (bpy.app.version_string, bpy.data.filename.split('/')[-1].split('\\')[-1]))
file.write('element vertex %d\n' % len(ply_verts))
Modified: trunk/blender/release/scripts/io/export_x3d.py
===================================================================
--- trunk/blender/release/scripts/io/export_x3d.py 2010-04-05 05:46:39 UTC (rev 28000)
+++ trunk/blender/release/scripts/io/export_x3d.py 2010-04-05 06:45:44 UTC (rev 28001)
@@ -1155,8 +1155,9 @@
scene = context.scene
- # scene = Blender.Scene.GetCurrent()
world = scene.world
+
+ bpy.ops.object.mode_set(mode='OBJECT')
# XXX these are global textures while .Get() returned only scene's?
alltextures = bpy.data.textures
Modified: trunk/blender/release/scripts/ui/space_info.py
===================================================================
--- trunk/blender/release/scripts/ui/space_info.py 2010-04-05 05:46:39 UTC (rev 28000)
+++ trunk/blender/release/scripts/ui/space_info.py 2010-04-05 06:45:44 UTC (rev 28001)
@@ -349,7 +349,7 @@
'''Buy official Blender resources and merchandise online'''
bl_idname = "help.blender_eshop"
bl_label = "Blender e-Shop"
- _url = 'http://www.blender3d.org/e-shop'
+ _url = 'http://www.blender.org/e-shop'
class HELP_OT_developer_community(HelpOperator):
More information about the Bf-blender-cvs
mailing list