なつねこメモ

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

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

2022/12/19

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

カテゴリー:

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 といった感じに渡せばオーケーです。
ということで、メモでした!

Copyright (c) 2015 - 2023 Natsuneko <me@natsuneko.cat>