blender3.6.17のアドオンの一部の機能を抜き取って使いたいので詳しい方にご教授頂ければと考えております。Maya経験者ならありがたいアドオン「Maya Config Addon For Blender」の「Peimenu」の機能を訳あって抜き取って使いたいと考えております。「Maya Config Addon For Blender」 のバージョンは3.9でblender3.6.17環境で正常動作確認済みです。「Peimenu」の表示に必要なpyファイルを教えて頂けないでしょうか?chatGPTで調べようと思いましたがファイルが多かったのでここで質問する事にしました。また「Peimenu」をカスタマイズ出来るPythonについてご教授頂けると幸いです。何卒よろしくお願いいたします。

1件の回答

回答を書く

1108237

2026-04-06 17:45

+ フォロー

私は使ったことがないのでcopilotを使用して解答を作成しました。

間違っている部分やわかりにくい部分もあるかもしれません。



■ 1. 「Peimenu」が入っているファイルの探し方(最も確実)

Blender のアドオンは bpy.types.Menu を継承したクラスで Pie Menu を定義します。 そのため、アドオンフォルダ内で次の文字列を検索すると、該当ファイルがすぐ見つかります。

class ...(bpy.types.Menu):

または

bl_idname = \u0026quot;VIEW3D_MT_...\u0026quot;

さらに Pie Menu は以下の API を使います:

layout.menu_pie()

この3つのキーワードで検索すると、Pie Menu を定義しているファイルがほぼ確実に見つかります。

■ 2. Maya Config Addon For Blender の構造(一般的な構成)

このアドオンは通常、以下のような構造になっています:

コード

maya_config/

├ pie_menus/

│ ├ pie_menu_view.py

│ ├ pie_menu_select.py

│ ├ pie_menu_modeling.py

│ └ __init__.py

├ keymaps/

├ operators/

├ prefs.py

└ __init__.py

※実際のファイル名はバージョンによって多少違いますが、 Pie Menu は pie_menus フォルダにまとまっていることが多いです。

■ 3. 「Peimenu」に必要なファイル

一般的に Pie Menu を抜き出すには、次の3種類のファイルが必要です。

① Pie Menu 本体

例:

pie_menu_view.py

pie_menu_modeling.py

中身はこんな構造になっています:

class VIEW3D_MT_PIE_SOMETHING(bpy.types.Menu):

bl_label = \u0026quot;Pie Menu\u0026quot;



def draw(self, context):

layout = self.layout.menu_pie()

...

② その Pie Menu を呼び出すオペレーター

例:

operators/pie_menu_call.py

中身はこんな感じ:

class WM_OT_call_pie_menu(bpy.types.Operator):

bl_idname = \u0026quot;wm.call_pie_menu\u0026quot;

bl_label = \u0026quot;Call Pie Menu\u0026quot;



def execute(self, context):

bpy.ops.wm.call_menu_pie(name=\u0026quot;VIEW3D_MT_PIE_SOMETHING\u0026quot;)

return {'FINISHED'}

③ キーマップ登録ファイル

例:

keymaps/pie_keymap.py

Pie Menu をショートカットで呼び出すための設定が入っています。

■ 4. Pie Menu を単体で使う方法(最も簡単な手順)

Pie Menu のファイル(pie_menu_xxx.py)をコピー

呼び出しオペレーター(call_pie_menu.py)をコピー

__init__.py を自作して Pie Menu と Operator を登録

最低限必要な __init__.py の例:

bl_info = {

\u0026quot;name\u0026quot;: \u0026quot;My Pie Menu\u0026quot;,

\u0026quot;blender\u0026quot;: (3, 6, 0),

\u0026quot;category\u0026quot;: \u0026quot;3D View\u0026quot;,

}



import bpy



from .pie_menu_view import VIEW3D_MT_PIE_SOMETHING

from .call_pie_menu import WM_OT_call_pie_menu



classes = (

VIEW3D_MT_PIE_SOMETHING,

WM_OT_call_pie_menu,

)



def register():

for c in classes:

bpy.utils.register_class(c)



def unregister():

for c in reversed(classes):

bpy.utils.unregister_class(c)

これで Pie Menu だけを独立したアドオンとして使えます。

■ 5. Pie Menu のカスタマイズ方法(基本)

Pie Menu の中身は draw() メソッドで定義されています。

例:

def draw(self, context):

layout = self.layout.menu_pie()

pie = layout



pie.operator(\u0026quot;mesh.primitive_cube_add\u0026quot;, text=\u0026quot;Cube\u0026quot;)

pie.operator(\u0026quot;mesh.primitive_uv_sphere_add\u0026quot;, text=\u0026quot;Sphere\u0026quot;)

ここを書き換えるだけで、 好きなオペレーターを配置した Pie Menu を作れます。

うったえる有益だ(0シェアするブックマークする

関連質問

Copyright © 2026 AQ188.com All Rights Reserved.

博識 著作権所有