diff options
author | Matt Ebb <matt@mke3.net> | 2010-04-05 10:45:44 +0400 |
---|---|---|
committer | Matt Ebb <matt@mke3.net> | 2010-04-05 10:45:44 +0400 |
commit | 547838476109b909259a7608e4c092214da91387 (patch) | |
tree | a22de19a48c255710ced448978cf0f77fa984331 /release | |
parent | 75df05b83fa2b54893fcd7016cb468d9d9a7ac08 (diff) |
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".
Diffstat (limited to 'release')
-rw-r--r-- | release/scripts/io/export_3ds.py | 2 | ||||
-rw-r--r-- | release/scripts/io/export_fbx.py | 5 | ||||
-rw-r--r-- | release/scripts/io/export_obj.py | 13 | ||||
-rw-r--r-- | release/scripts/io/export_ply.py | 3 | ||||
-rw-r--r-- | release/scripts/io/export_x3d.py | 3 | ||||
-rw-r--r-- | release/scripts/ui/space_info.py | 2 |
6 files changed, 17 insertions, 11 deletions
diff --git a/release/scripts/io/export_3ds.py b/release/scripts/io/export_3ds.py index b65332c931f..d46cc712e9a 100644 --- a/release/scripts/io/export_3ds.py +++ b/release/scripts/io/export_3ds.py @@ -942,6 +942,8 @@ def save_3ds(filename, context): 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: diff --git a/release/scripts/io/export_fbx.py b/release/scripts/io/export_fbx.py index a69addf72f5..9dd3a68f4da 100644 --- a/release/scripts/io/export_fbx.py +++ b/release/scripts/io/export_fbx.py @@ -344,6 +344,8 @@ def write(filename, batch_objects = None, \ 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 @@ def write(filename, batch_objects = None, \ 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 @@ def write(filename, batch_objects = None, \ }''' % (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 diff --git a/release/scripts/io/export_obj.py b/release/scripts/io/export_obj.py index 6ea00a74435..c10a698c9d3 100644 --- a/release/scripts/io/export_obj.py +++ b/release/scripts/io/export_obj.py @@ -88,7 +88,7 @@ def write_mtl(scene, filename, copy_images, mtl_dict): 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 @@ def write(filename, objects, scene, 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 @@ def do_export(filename, context, 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: diff --git a/release/scripts/io/export_ply.py b/release/scripts/io/export_ply.py index f3c6541f476..23a3eb8b9ee 100644 --- a/release/scripts/io/export_ply.py +++ b/release/scripts/io/export_ply.py @@ -99,6 +99,7 @@ def write(filename, scene, ob, \ 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 @@ def write(filename, scene, ob, \ 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)) diff --git a/release/scripts/io/export_x3d.py b/release/scripts/io/export_x3d.py index f1ab8cd3de7..dccc5808bc5 100644 --- a/release/scripts/io/export_x3d.py +++ b/release/scripts/io/export_x3d.py @@ -1155,8 +1155,9 @@ def x3d_export(filename, 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 diff --git a/release/scripts/ui/space_info.py b/release/scripts/ui/space_info.py index e1dccc0c9f0..0683a3cb763 100644 --- a/release/scripts/ui/space_info.py +++ b/release/scripts/ui/space_info.py @@ -349,7 +349,7 @@ class HELP_OT_blender_eshop(HelpOperator): '''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): |