Alosaur-Lite + Deno Deploy で Markdown をあれこれする

アドオン作成の手引っぽいもの:とりあえず



ぬっち氏の「Blenderプラグインの作り方」 (1) 注釈テスト(文中) の出来が良すぎて、これの2.8対応版 (2) 注釈テスト(文中) 時代は3.0だよ・・・ があればそれで十分な感じはある (3) 注釈テスト(文末・長文) ぬっち氏の「Blenderプラグインの作り方」の出来が良すぎて、これの2.8対応版があればそれで十分な感じはある


脚注
  1. 注釈テスト(文中)
  2. 注釈テスト(文中) 時代は3.0だよ・・・
  3. 注釈テスト(文末・長文) ぬっち氏の「Blenderプラグインの作り方」の出来が良すぎて、これの2.8対応版があればそれで十分な感じはある




◇ メニューの追加登録候補について(本体はまとめに移動)





オペレーターやクラスのプロパティの情報を取得したい

bpy.types.SubsurfModifierboundary_smoothPRESERVE_CORNERSの説明文や、bpy.ops.object.data_transfervert_mappingEDGEINTERP_NEARESTの説明文を流用したいが、いちいち API Document をコピペするのはちょっと... というとき

types.Hogeがある場合

1 struct = bpy.types.SubsurfModifier.bl_rna #.bl_rna で bpy_struct を取得
2 prop = struct.properties['boundary_smooth'] # properties["名前"] でプロパティを取得
3 text = prop.enum_items['PRESERVE_CORNERS'].description #Enum の場合はこんな感じ

types.Hogeがない場合(オペレーター)

1 struct = bpy.ops.object.data_transfer.get_rna_type() #.get_rna_type() で bpy_struct を取得
2 prop = struct.properties['vert_mapping'] # あとは types.Hoge と同じ
3 text = prop.enum_items['EDGEINTERP_NEAREST'].description

参考:How can I access view3d.select_circle radius value?

同様にしてstruct.functionsでメソッドが取れた はず



コピペでは駄目な理由:「同じテキスト(のはず)なのに、なぜか違う訳になる」という現象

例(2.91で発生、2.92は未確認) ```python: 適当なアドオンの中 class AddonPreferences(bpy.types.AddonPreferences): bl_idname = name

1 def draw(self, context):
2 txt_solid=bpy.types.UILayout.enum_item_name(context.active_object, 'display_type', 'SOLID')
3 self.layout.label(text=txt_solid) #これは「ソリッド」と翻訳される
4 self.layout.label(text="Solid") #これも「ソリッド」と翻訳される
5 self.layout.operator("何かのオペレーター", text=txt_solid) #これは「ソリッド」と翻訳される
6 self.layout.operator("何かのオペレーター", text="Solid") #これは「立体」と翻訳される

``` 翻訳 context のパラメータ設定が違うのかな?





◇ Blender のスクリーンショット作成機能とか



Blender のスクリーンショット作成機能では、UIは映らないっぽい 勘違いだった



これに限らず、「invoke でポップアップ出す → 処理を自動で実行する」のはどうすればいいんだろ