Sponsored Links
何もしないオペレータをつくってみたので、まとめました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # BlenderをPythonから操作するのに必要 import bpy class EmptyOperator(bpy.types.Operator): bl_idname = "wm.empty" bl_label = "empty" def execute(self, context): return {"FINISHED"} bpy.utils.register_class(EmptyOperator) bpy.ops.wm.empty() |
目次
Class 【ClassName】(bpy.types.Operator):
オペレータ本体です。この中にオペレータのプロパティやexecute()などを記述します。【ClassName】は任意のクラス名です。
bl_idnameとbl_label
bl_idnameはオペレータをコードから呼び出すときに必要なようです。ここで指定した名前を使ってbpy.opsからオペレータを呼び出すことになります。
bl_labelは省略しても動くかと思ったのですが、外すとエラーになってしまうのでどうも必須のプロパティのようです。ボタンをつくったときは、このプロパティの値がボタンのラベルになるようです。
オペレータのプロパティにはbl_というプレフィックスを付与する必要があるそうです。
def execute(self, context)
selfにはこのオペレータ自身が、contextには現在のコンテキストが渡されます。returnはリザルトコードのようですが、好き勝手な値を返すことは許可されていないっぽいです。ここにオペレータの処理を記述すれば良いようです。オペレータを呼び出すとここの処理が実行されました。
bpy.utils.register_class(【OperatorClass】)
【OperatorClass】には登録するオペレータクラスを渡します。オペレータを使う前に登録するようにします。
bpy.ops.【ID Name】()
任意のオペレータを呼び出します。【ID Name】にはbl_idnameで設定した値の通りに記述します。
Sponsored Links