我正在尝试将某些对象从Blender导出为专有格式。我希望编写的脚本能够从“文件”下拉列表和命令行中的Blender中导出对象。我在Ubuntu 12.04 LTS上使用Blender 2.66。以下是我当前试图运行的文件。
# Required Blender information.
bl_info = {
"name": "My Exporter",
"author": "",
"version": (1, 0),
"blender": (2, 65, 0),
"location": "File > Export > Test (.tst)",
"description": "",
"warning": "",
"wiki_url": "",
"tracker_url": "",
"category": "Import-Export"
}
# Import the Blender required namespaces.
import bpy
from bpy_extras.io_utils import ExportHelper
# The main exporter class.
class MyExporter(bpy.types.Operator, ExportHelper):
bl_idname = "test.tst";
bl_label = "My Exporter";
bl_options = {'PRESET'};
filename_ext = ".tst";
object_count = 0;
def __init__(self):
pass
def execute(self, context):
print("Execute was called.");
# Parse all the objects in the scene.
return {'FINISHED'};
def export_object(self, gameObject):
if (gameObject.type != "MESH"):
print("Object was not of type mesh.");
else:
object_count += 1;
return;
# Define a function to create the menu option for exporting.
def create_menu(self, context):
self.layout.operator(MyExporter.bl_idname,text="test (.tst)");
# Define the Blender required registration functions.
def register():
"""
Handles the registration of the Blender Addon.
"""
bpy.utils.register_module(__name__);
bpy.types.INFO_MT_file_export.append(create_menu);
def unregister():
"""
Handles the unregistering of this Blender Addon.
"""
bpy.utils.unregister_module(__name__);
bpy.types.INFO_MT_file_export.remove(create_menu);
MyExporter类的execute函数似乎从未被调用。我什至尝试直接调用execute函数,但是,如果您阅读该区域上方的注释,那么我似乎也丢失了一些东西。
将脚本作为附加程序添加到Blender时,一切工作正常。它调用完美执行。所以至少我有一半在工作。
预先感谢您能给我的任何帮助。如果我道歉了一个愚蠢的错误,那么在编写此脚本的同时,我正在学习python。
相关分类