なつねこメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ

書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。

2022/12/19

Blender アドオンの Operator に定義したメソッドを、プロパティを設定して呼び出したい

カテゴリー:BlenderPython

Blender アドオン作るときの小ネタ。
Blender アドオンを作っていて、何らかの処理をさせたい場合、通常は Operator を使用します。

import bpy
from bpy.types import Context, Event, Operator
from bpy.props import StringProperty

class SomeOperator(Operator):
  bl_idname = "object.some_operator"
  bl_label = "Some Action"

  text: StringProperty()

  def invoke(self, context: Context, event: Event):
    return {'FINISHED'}


このとき、例えばどこかのタイミングでこのオペレーターの invoke を、 text を設定した上で呼び出したい、ということがあったとします。
そういった場合、以下のようにして呼び出すことで、 text プロパティを設定した状態で呼び出すことが出来ます。

bpy.ops.object.some_operator("INVOKE_DEFAULT", text="Hello")

名前付き引数として、 property=value といった感じに渡せばオーケーです。
ということで、メモでした!