这里总结用简短的例子,描述一下blender的addon 怎样编写:
bl_info = {
"name": "TEST_tool",#这是在插件面板里显示的名称
"author": "imdjs",
"version": (0, 1,0),
"blender": (2, 78,1),
"location":"View3D > Tool Shelf > TEST_tool",
"description": "为了测试",
"wiki_url": "None yet"
"NA",
"tracker_url": "NA"
"",
"category": "Mesh"}
#category": All User Enabled Disabled 3D View Add Add Curve Add Mesh Animation Compositing Development Game Engine Import-Export Material Mesh Node Nodes Object Outliner Paint Particle Render Rigging Scene Sculpting Sequencer Surface System Text Editor UI UV User Interface Listener#以上是所列的全部分类,可以根据插件类型填写不同分类名 如:Object 或Mesh
import bpy
#////按键///////////////////////////////////////
class 卐按键卐Operator(bpy.types.Operator):
bl_idname = "op.exp_test"#按键id,必须小写而且不能与其它operator的id重复
bl_label = " "#按键显示名称
bl_description = "---"#填写按键功能描述
bl_options = {"REGISTER", "UNDO"};
#----按下按键执行--------------------------
def execute(self,context):
print("EXEC==",);
#这里可以写按下这个键要实际的功能
return {"FINISHED"};
#====下拉菜单====================================
class 卐下拉菜单卐Menu(bpy.types.Menu):
bl_label = "TEST_MENU"
def draw(self, context):
layout = self.layout;
layout.operator(卐按键卐Operator.bl_idname,translate=True,icon="BONE_DATA");#把上面的按键放到下拉菜单里
#////界面///////////////////////////////////////
class 卐界面卐Panel(bpy.types.Panel):
bl_label = "TEST tool" #这是在软件里插件显示的名称
bl_space_type = 'VIEW_3D'
bl_region_type = 'TOOLS'
bl_category = 'Tools'
#bl_category = 'Addons' #自定义标签名为Addons
@classmethod
def poll(self,context):
oA=context.active_object;#激活的物体
return (oA and oA.type in["MESH","CURVE","LATTICE"]);#如果激活物体是"MESH","CURVE","LATTICE" 其中一种类型就激活界面
def draw(self, context):
layout = self.layout;
layout.operator(卐按键卐Operator.bl_idname,translate=True, icon = "PMARKER_ACT");#画出按键
layout.menu("卐下拉菜单卐Menu", icon="OUTLINER_OB_ARMATURE");#画出下拉菜单界面
#////注册插件////////////////////////////////////
def register():
bpy.utils.register_module(__name__);
def unregister():
bpy.utils.unregister_module(__name__);
if (__name__ == "__main__"):
register()
把上面代码复制另存为TEST_tool.py文件放到blender/addons/ 目录下,打开blender 的插件面板勾选激活,

就可以在blender左边属性面板的工具标签里看到 有一个按键和一个下拉菜单,

因为是简单例子所以没有任何功能,下面简单说明一下这个py文件的代码含意:
bl_info后面的{}内容是 标明插件的名称,作者,分类
class 卐按键卐Operator(bpy.types.Operator):是那个按键的类.里面的def execute(self,context): 函数是执行内容.
class 卐下拉菜单卐Menu(bpy.types.Menu):是下拉菜单的类,
class 卐界面卐Panel(bpy.types.Panel):是整个插件的界面,里面包含了一个按键和一个下拉菜单.
def register():与def unregister():分别是注册与注销函数
暂无关于此日志的评论。