【Blender×Python】ワークスペースデータを全て取得する方法について徹底解説

Blender

「bpy」とは、PythonからBlenderの機能を呼び出すことができるBlender Python APIのことです。Blenderはオープンソースの3Dアニメーションソフトウェアであり、「bpy」を使うことでBlenderの様々な機能をPythonスクリプトから呼び出して利用することができます。本記事では、「bpy」を用いたワークスペースデータを全て取得する方法を紹介します。

# workspacesプロパティによるワークスペースデータの一括取得
bpy.data.workspaces

下記の様な内容で悩んでいる/困っている場合に使える方法を参考までにご共有させて頂きます。

・Blender上で、どの様にPythonを使うの?
・Blender上のPythonで、どの様にワークスペースデータを全て取得するの?

また、「bpy」を使用する上で基礎的な情報は下記の記事で紹介しております。
他の「bpy」のクラスや関数について気になる方はこちらの記事をご覧ください。

workspacesプロパティによるワークスペースデータの一括取得

bpy.data.workspacesプロパティの基本構文

bpy.data.workspaces
→ BlendDataWorkSpaces: bpy_prop_collection

bpy.data.workspacesプロパティの使い方

import bpy

DataWorkspaces = bpy.data.workspaces
print(f"Data Workspaces:\n{DataWorkspaces} {type(DataWorkspaces)}")
for key, value in DataWorkspaces.items():
    print(f"[{key}] {value}")

DataWorkspaceList = [DataWorkspace for DataWorkspace in DataWorkspaces]
print(f"Data Workspace List:\n{DataWorkspaceList}")
Data Workspaces:
<bpy_collection[10], BlendDataWorkSpaces> <class 'bpy_prop_collection'>
[Animation] <bpy_struct, WorkSpace("Animation") at 0x0000018001C11088>
[Camera] <bpy_struct, WorkSpace("Camera") at 0x0000018001C111C8>
[Compositing] <bpy_struct, WorkSpace("Compositing") at 0x0000018001C11308>
[HyperShade] <bpy_struct, WorkSpace("HyperShade") at 0x0000018001C11448>
[Modeling] <bpy_struct, WorkSpace("Modeling") at 0x0000018001C11588>
[Rendering] <bpy_struct, WorkSpace("Rendering") at 0x0000018001C116C8>
[Scripting] <bpy_struct, WorkSpace("Scripting") at 0x0000018001C11808>
[Sculpting] <bpy_struct, WorkSpace("Sculpting") at 0x0000018001C11948>
[Texture Paint] <bpy_struct, WorkSpace("Texture Paint") at 0x0000018001C11A88>
[UV Editing] <bpy_struct, WorkSpace("UV Editing") at 0x0000018001C11BC8>
Data Workspace List:
[   bpy.data.workspaces['Animation'], 
    bpy.data.workspaces['Camera'], 
    bpy.data.workspaces['Compositing'],
    bpy.data.workspaces['HyperShade'], 
    bpy.data.workspaces['Modeling'], 
    bpy.data.workspaces['Rendering'], 
    bpy.data.workspaces['Scripting'], 
    bpy.data.workspaces['Sculpting'], 
    bpy.data.workspaces['Texture Paint'], 
    bpy.data.workspaces['UV Editing']]

まとめ

「bpy」(Blender Python API)は、Pythonを使ったBlenderの開発に非常に役立ちます。この記事では、ワークスペースデータを全て取得する方法を紹介しました。ぜひ活用してみてください。

関連検索ワード

How to get all workspace data?

関連キーワード

blender, python, get, workspace, 取得, ワークスペース