这里总结用简短的例子,描述一下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():分别是注册与注销函数
暂无关于此日志的评论。