Blender - 从 python 脚本打开并解析 .blend 文件

Blender - Open and parse a .blend file from python script

我想从 python 脚本打开一个 .blend 文件并解析它(获取对象、动画和材质)。 到目前为止我已经阅读了关于如何从 blender API 执行此操作的文档(运行将脚本作为 blender 附加组件),但我想 运行 这个脚本来自无需打开搅拌机的命令行。

感谢您能给我的所有帮助。

我意识到我不需要打开二进制 blender 文件并解析它来使用这些对象。 Blender 有自己的 python 安装,所以我在文件夹 path_to_blender/version/scripts/addons 里面放了一个 python 脚本,我可以在命令行中执行它,如下所示:

blender.exe --background  --python ./version/scripts/addons/superScript.py

下一步,如果你有一个 .blend 文件你想从你的脚本中读取,把它放在背景参数后面,如下所示:

 blender.exe --background myFile.blend --python ./version/scripts/addons/superScript.py

并在您的 python 脚本中执行以下操作:

import bpy
import os
for ob in bpy.context.scene.objects:
    print("object name:  ", ob.data.name)

在这个例子中,我在 .blend 文件中打印场景中的所有对象

正如您所回答的,最简单的方法是使用 blender,还有一个包含在 blender 安装中的名为 blend_render_info.py 的脚本,它可以在不使用 blender 二进制文件的情况下提取开始和结束帧设置,我我不确定扩展它有多容易,但它确实适用于 python 2.x 和 3.x

要获得更详细的信息,有一个名为 blender-aid that was created to read and alter blend file data, someone recently had luck using it to extract blend file data using python 2.7 as documented in this question

的旧项目