【Blender2.8 Python】何もしないオペレータとコードからオペレータを実行する

Sponsored Links

Pocket

何もしないオペレータをつくってみたので、まとめました。

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で設定した値の通りに記述します。

 

Pocket

Sponsored Links

コメントを残す

メールアドレスが公開されることはありません。