"""List all objects in a Quaternius .blend file.""" import sys import bpy if __name__ == "__main__": argv = sys.argv args = argv[argv.index("--") + 1:] bpy.ops.wm.open_mainfile(filepath=args[0]) print("\nAll scene objects:") for o in sorted(bpy.context.scene.objects, key=lambda x: x.name): parent_info = f" (parent: {o.parent.name}" + (f", bone: {o.parent_bone}" if o.parent_bone else "") + ")" if o.parent else "" verts = f", {len(o.data.vertices)} verts" if o.type == 'MESH' else "" loc = tuple(round(v, 3) for v in o.matrix_world.translation) print(f" {o.name:30s} type={o.type:10s} loc={loc}{verts}{parent_info}") arm = next((o for o in bpy.context.scene.objects if o.type == 'ARMATURE'), None) if arm: head_bone = arm.data.bones.get('Head') if head_bone: print(f"\nHead bone top: z={round(head_bone.tail_local[2], 4)}")