モードを取得/変更する

アクティブなエディターの種類を取得する。

area_type = bpy.context.area.type

現在の編集モードを判定する。

if bpy.context.mode == 'OBJECT':
    print('In Object Mode')

オブジェクトモードに切り替える。

if bpy.context.view_layer.objects.active:
    bpy.ops.object.mode_set(mode='OBJECT')

メッシュ編集モードに切り替える。

if bpy.context.view_layer.objects.active:
    bpy.ops.object.mode_set(mode='EDIT_MESH')

参考:

bpy.ops.object.mode_set が context is incorrect で失敗する | ゲーム作りが大好きな人のブログ

bpy.context.area | Blender Python API [Official]

bpy.context.mode | Blender Python API [Official]

bpy.ops.object.mode_set | Blender Python API [Official]

bpy.ops.object.mode_set_with_submode | Blender Python API [Official]

bpy.ops.mesh.select_mode | Blender Python API [Official]

Get current editor toolbar tab via Python? – Blender Stack Exchange

値を操作する

データパスで指定された値を操作する。

こちらのページを参照

参考:

WM Operators | Blender Python API [Official]

about wm.context_toggle confused | Blender Artists Community

How to make a shortcut for this button? – Blender Stack Exchange

カメラを操作する

参考:

Blender のカメラを Python で操作しよう | Rafka の実験室

How to move a camera in Blender 2.61 with Python – Stack Overflow

What is the difference between scene camera and data camera and how to set the FOV? – Blender Stack Exchange

レンダーリージョンを設定する

参考:

How to toggle Render Region between camera bounds and marquee-selection? – Blender Stack Exchange

コンストレイントを付与する

参考:

How do I add a constraint to an object with Python? – Blender Stack Exchange

Can’t figure out how to use correct contexts? – Blender Stack Exchange

Set resting length for a generic spring constraint – Blender Stack Exchange

Child Of コンストレイント

参考:

Why can’t I execute clear/set inverse of CHILD OF constraints with python? – Blender Artists Community

Set inverse Child OF constraints via python – Blender Artists Community

Child Of Constraint Set Inverse with Python – Blender Stack Exchange

Fカーブを扱う

参考:

How to smooth curves in Graph Editor by Script – Blender Stack Exchange

剛体を扱う

参考:

Blender Python で剛体をいっぱい作成 | QCGANIME

カーソル位置を取得/設定する

cursor_location = bpy.context.scene.cursor.location

参考:

3D Cursor location in Blender 2.8 Python API | Interplanety

Scene.cursor | Blender Python API [Official]

View3DCursor | Blender Python API [Official]

How to set cursor location, pivot_point in script? – Blender Stack Exchange

オーバーレイ

参考:

View3DOverlay.show_overlays | Blender Python API [Official]

geometry wireframe shortcut 2.8 – Blender Artists Community

Toggle Overlays shortcut? – Blender Stack Exchange

Change edge information display in Blender 2.80 with python – Blender Stack Exchange

シェーディング

参考:

updating code sample from v. 2.63 (image rendering and saving) – Blender Stack Exchange

Where Is Shadeless Material Option For Blender 2.8? – Blender Stack Exchange

python code to switch shading mode (between wireframe and solid mode) – Blender Stack Exchange

レンダリングを実行する

参考:

Rendering a cube as png file using Blender’s Python API – Blender Stack Exchange

rendering and saving images through Blender python – Stack Overflow

Is it possible to make a sequence of renders and give the user the option to cancel the process through the UI at any given time? – Blender Stack Exchange

bpy.ops.render.render() freezes Blender when used in an addon – Blender Stack Exchange

Crashing Blender using bpy.ops.render.render from a different thread – Blender Artists Community

レンダリング条件を変更する

シーンデータブロック (Scene)
  • renderレンダリングの設定を保持する RenderSettings のインスタンス
    • resolution_x出力画像の幅
    • resolution_y出力画像の高さ
    • resolution_percentage出力解像度の比率 (単位パーセント)
    • fpsフレームレート
    • frame_start開始フレーム
    • frame_end終了フレーム
    • image_settings出力フォーマットの設定を保持する ImageFormatSettings のインスタンス
      • file_format出力ファイルの形式
    • filepath出力ファイルのパス
    • cameraアクティブカメラ

参考:

Python スクリプトでレンダリングを制御 | K-Blender Laboratory

Scene | Blender Python API [Official]

RenderSettings | Blender Python API [Official]

ImageFormatSettings | Blender Python API [Official]

API access for workbench render settings – Blender Stack Exchange

Render specific frames with opengl via python – Blender Stack Exchange

条件に応じてレンダリングする

参考:

Change a Driver based on which Scene is being Rendered – Blender Stack Exchange

アニメーションをレンダリングする

参考:

How can I make an object use it’s animation action at a specific frame in Blender Python script? – Blender Stack Exchange

3D ビューポートを扱う

参考:

How to access properties of the 3d Viewport? – Blender Stack Exchange

ツールを選択する

参考:

bpy.ops.wm.tool_set_by_id | Blender Python API [Official]

エリアを再描画する

参考:

イベントタイマーを設定して1秒間に60回画面を更新する – Qiita (archive)

Area.tag_redraw | Blender Python API [Official]

How to force View3D update in the middle of Python script – Blender.org (archive)

Python performance with Blender operators – Blender Stack Exchange

マテリアルを変更する

参考:

Changing Viewport Color to Surface Color in Cycles – Blender Artists Community

Rendered object color different from viewport color, set in Python – Blender Stack Exchange

コレクションを扱う

参考:

Blender 2.8 の Python API ドキュメントを少しずつ読み解く クイックスタート その2 | MR が楽しい

Collection | Blender Python API [Official]

bpy.types.Collection.children | Blender Python API [Official]

CollectionChildren | Blender Python API [Official]

bpy.types.CollectionChildren.link | Blender Python API [Official]

bpy.types.CollectionChildren.unlink | Blender Python API [Official]

New python snippets Blender 2.8x (alchem0x2A) – GitHub Gist

Help adding new scene, collection, objects in 2.8 – Blender Artists Community

Batch exporting scene collections or selected objects using glTF-Blender-IO – Blender Stack Exchange

How to move collection into another collection? – Blender Stack Exchange

What is the Python API for moving a collection? – Blender Stack Exchange

Delete Collection or clear the intial scene in scripting mode – Blender Stack Exchange

How to obtain the parent of a collection using Python – Blender Stack Exchange

How to get all collections of the current scene? – Blender Stack Exchange

disable render of all collections with python in blender 2.8 – Blender Stack Exchange

Sorting Collections Alphabetically in the Outliner – Blender Stack Exchange

アーマチュア/ボーンを扱う

こちらのページを参照

参考:

ボーンアクセスチートシート | dskjal

Blender で Bone の姿勢計算が合わないときの金の針 – Qiita

Blender でスクリプトからボーンにキーフレームを打つ – GitHub Gist

Converting armatures to mesh objects… – Blender Artists Community

How to copy position, size from one armature to another? – Blender Stack Exchange

Convert bones to meshes – Blender Stack Exchange

How to get an armature by name in Python and get access to its bones? – Blender Stack Exchange

Select pose bone in pose mode – Blender Artists Community

How to make a bone active? – Blender Stack Exchange

Set active bone in pose mode from Python script – Blender Stack Exchange

頂点グループを扱う

こちらのページを参照

参考:

特定の Vertex Group に対して、Python で色を塗る。- Qiita

how to rename vertex group? – Blender Artists Community

How to batch rename bones and their corresponding vertex groups? – Blender Stack Exchange

How to modify vertex groups through script – Blender Stack Exchange

Applying per-vertex colors to new Bmesh – Blender Stack Exchange

Finding vertices in a Vertex Group using Blender’s Python API – Blender Stack Exchange

頂点カラーを扱う

こちらのページを参照

参考:

頂点カラーを調べる | Hajime Saito

Paint Operators | Blender Python API [Official]

How to paint vertices in different object using python scripts? – Blender Stack Exchange

When I paint in vertex paint mode, can I paint per vertex with python script? – Blender Stack Exchange

Changing vertex colors through python – Blender Stack Exchange

set a specified vertex color to black via python – Blender Stack Exchange

Applying per-vertex colors to new Bmesh – Blender Stack Exchange

キーフレームを挿入する

こちらのページを参照

参考:

Blender で音に合わせてキーフレームを打つ | Toshusai blog

Set keyframes using Python script – Blender Artists Community

BPy set keyframe by active object only? – Blender Stack Exchange

アクションを扱う

こちらのページを参照

参考:

Get bones associated with specific action in python – Blender Stack Exchange

ノードを操作する

参考:

Python からマテリアルのノードへアクセス | ぬの部屋 (仮)

ノードグループの作成 | MR が楽しい

Set active image node with python – Blender Stack Exchange

How can I get the dimensions of a newly-created material node via Python? – Blender Stack Exchange

ドライバーを操作する

参考:

スクリプトからドライバーをつける & IK/FK 切り替えスイッチの自動セットアップ | dskjal

change the target object of a variable Driver – Blender Artists Community

How Can I modify drivers properties via python in blender? – Blender Stack Exchange

How to put together a driver with python – Blender Stack Exchange

How to access driver f-curve data with python? – Blender Stack Exchange

カスタムプロファイルを操作する

参考:

T72422 Bevel Custom Profile: no way to Copy To Selected | Blender Developer [Official]

How do you add custom profile prop to operator (like in bevel operator) – Blender Developer Talk

custom curve – Blender Stack Exchange

カーブマップを操作する

参考:

bpy.types.CurveMap | Blender Python API [Official]

bpy.types.CurveMapPoint | Blender Python API [Official]

bpy.types.CurveMapPoints | Blender Python API [Official]

bpy.types.CurveMapping | Blender Python API [Official]

Add a custom curve mapping property for an add-on? – Blender Stack Exchange

フレーム/フレームレート (Frame / FPS)

参考:

コマ数を画面に表示する | MITSUDA Tetsuo

Get/Set Frames per second in blender – Blender Artists Community

物理シミュレーションを実行する

参考:

Blender 2.8 の物理シミュレーションを Python から操作する | Takashi Q. Hanamura Photography

フォントを扱う

フォントディレクトリ

font_dir = bpy.context.preferences.filepaths.font_directory

参考:

bpy.types.PreferencesFilePaths.font_directory | Blender Python API [Official]

How to open all fonts at once? – Blender Stack Exchange

How to change font for text objects? – Blender Stack Exchange

別のスクリプトを呼び出す

参考:

Blender の Python スクリプト実行で別ファイルの関数を利用する | MR が楽しい

How to programmatically load a python script in Text Editor and launch it – Blender Stack Exchange

実行中のスクリプト名を取得する

参考:

How to get the active script name? – Blender Artists Community

ファイルのパスを取得する

参考:

How to get the directory of open blend file? (from Python) – Blender Stack Exchange

ショートカットキーをカスタマイズする (Keymap)

参考:

スクリプト内部で自作の機能にショートカットキーを割り当てる – Qiita

ショートカット (ホットキー) の割り当て方 | Blender.jp フォーラム

custom_key_config.py at master · delorenj/Blender-Stuff – GitHub

Keymap Customization | Blender Manual [Official]

How to make a shortcut for this button? – Blender Stack Exchange

How do you make a shortcut for the Unwrap popup menu? – Blender Stack Exchange

Is it possible to create a modal operator with a modal keymap in Python? – Blender Stack Exchange

Add toggle hotkey to custom checkbox – Blender Stack Exchange

How to register keymaps for all editor types? – Blender Stack Exchange

How can I call a specific keymap to draw within my Addon Preferences? – Blender Stack Exchange

Shortcut to execute a Macro or Script – Blender Stack Exchange

How can I look up or create a shortcut? – Blender Stack Exchange

テーマ/配色を変更する

参考:

How to change a ui color from within the console? – Blender Stack Exchange

初期設定を読み込む

参考:

bpy.ops.wm.read_factory_settings | Blender Python API [Official]

How to completely remove all loaded data from Blender? – Blender Stack Exchange

アドオン一覧を取得する

print(bpy.context.preferences.addons.keys())

参考:

bpy.types.Preferences.addons | Blender Python API [Official]

アドオンの有効/無効を切り替える

参考:

特定アドオンの有効/無効化 | MR が楽しい

Preferences Operators | Blender Python API [Official]

How can I permanently enable an addon in the userpref through Python? – Blender Stack Exchange

Reset all add-ons – Blender Stack Exchange

Cancel addon registering – Blender Stack Exchange

bps.ops.transform

参考:

bpy.ops.transform による変換 | 環耀の備忘録

operator_menu_enum

参考:

calling “Add Modifier” popup – Blender Artists Community

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です