1.先选中骨骼
2.再运行代码
代码:
import bpy import pandas as pd def print_bone_properties_to_csv(armature_obj): """ 打印骨骼的所有属性并将它们输出到一个CSV文件。 :param armature_obj: Armature对象。 """ if armature_obj.type != 'ARMATURE': print("请选择一个Armature对象。") return # 存储骨骼属性的字典列表 bones_data = [] # 遍历骨骼对象中的所有骨骼 for bone in armature_obj.data.bones: bone_data = {} bone_data['Bone Name'] = bone.name # 遍历骨骼的属性并添加到字典中 for prop_name in dir(bone): if not prop_name.startswith('__'): prop_value = getattr(bone, prop_name) bone_data[prop_name] = prop_value bones_data.append(bone_data) # 创建DataFrame df = pd.DataFrame(bones_data) # 弹出保存文件对话框,让用户选择保存路径 csv_file_path = bpy.path.abspath("//bones_properties.csv") # 使用双斜杠作为Blender的跨平台路径分隔符 bpy.ops.wm.save_as_mainfile(filepath=csv_file_path) # 导出DataFrame到CSV文件 df.to_csv(csv_file_path, index=False) print(f"骨骼属性已导出到CSV文件: {csv_file_path}") # 使用示例 # 确保在对象模式下 bpy.ops.object.mode_set(mode='OBJECT') armature_obj = bpy.context.view_layer.objects.active # 假设活动对象是Armature if armature_obj and armature_obj.type == 'ARMATURE': print_bone_properties_to_csv(armature_obj) else: print("请选择一个Armature对象。")
浙公网安备 33010602011771号