操作符

操作符是blender中执行代码的主要样式
其通过以blender自己的方式来包裹代码,并注册到当前打开的blender中(所以插件越多打开blender越慢,特别是某些需要联网通信的插件)

注册

必要参数

bl_idname 唯一标识符,也是在blender注册调用的操作符名字
bl_label 显示的名字,可在ui layout 进行覆盖

可选参数

bl_description 操作符提示
bl_option 选项,包括可撤销,重做面板,锁定视窗等

操作符函数

函数都会返回一个集合数据,如{‘FINISHED’}来表示当前操作符的执行状态

必要函数

invoke / execute
两函数必须存在一个

  • invoke可接受键盘或鼠标事件,一般用作捕捉用户输入的函数
  • execute则为普通执行函数,两函数可互相调用,并以返回一个表示状态的set结束可选函数

poll添加操作符的限定使用条件
modal用于持续性获取用户输入或输出的函数,包括handle(计时器,屏幕绘制,部分状态更新)
event(持续的鼠标,按键捕捉函数)

参数传入

注册方法

操作符内参数注册操作符内常用参数 bpy.props

全局参数

注册到context中以方便访问,如context scene文件全局参数 在脚本文件内引用全局参数传入方法用户输入/确认弹窗invoke dialogui面板传入bpy.ops传入注册/全局参数传入