Blender Python相关操作指令(bpy)
bpy语句 | 实现效果 |
---|---|
bpy.context | 当前环境的所有选择内容的 |
bpy.context.object | 当前活项物体,只能选择一个 |
mesh = bpy.data.objects[“mesh”] | Mesh变量存储物体网格数据 |
bpy.ops.object.select_all(action=‘SELECT’) | 全选命令 |
bpy.ops.object.select_all(action=‘DESELECT’) | 全不选命令 |
bpy.context.view_layer.objects.active | 大纲所选中物体 |
bpy.context.object.location | 当前选择物体轴心点的世界坐标 |
bpy.context.object.location.z | 拿到选中物体的世界坐标中的Z坐标数值 |
bpy.context.object.location[[2]] | 拿到选中物体的世界坐标中的Z坐标数值 |
bpy.context.object.location.z += random() | 选中物体的世界坐标中的Z坐标数值随机加一个数 |
bpy.context.object.name | 查看选中物体的名字 |
bpy.context.object.name=“新字符串” | 对物体重命名 |
bpy.ops.object.duplicate(linked=False,mode=‘TRANSLATION’) | 复制模型 |
bpy.ops.object.modifier_add(type=‘DECIMATE’) | 添加编辑器 |
bpy.context.object.modifiers[“Decimate”].ratio = 0.1 | 设置编辑器参数 |
bpy.ops.object.modifier_apply(apply_as=‘DATA’, modifier=“Decimate”) | 应用编辑器 |
bpy.ops.mesh.primitive_cube_add() | 创建box |
bpy.context.object.active_material | 返回当前选择物体的材质球 |
bpy.data.materials.get(材质球名称字符串) | 拿到当前场景的某个材质 |
bpy.context.view_layer.objects.active.material_slots.data.active_material= 材质 | 给当前激活的物体材质球插槽赋予某个材质 |
bpy.ops.wm.save_mainfile(filepath=“E:Test estsave.blend”) | 存储当前文件 |
bpy.ops.wm.open_mainfile(filepath=BlendFilePath) | 打开文件 |
#得到当前版本的blender文件夹路径
import sys
argv = sys.argv
print(argv)
#遍历列表选中物体:
import bpy #载入bpy
for i in bpy.context.visible_objects:#迭代所有可见物体
if i.name == “要选物体的名字”:
i.select_set(state=True)
for i in bpy.context.visible_objects:
if i.type == “MESH”:#判断物体类型是模型
bpy.context.view_layer.objects.active = i #当前激活物体定义为i
bpy.ops.object.mode_set(mode=‘EDIT’) #编辑模式
bpy.context.tool_settings.mesh_select_mode = (False, True, False)#编辑模式的(点线面)
bpy.ops.mesh.select_all(action=‘SELECT’)#全选命令
bpy.ops.object.mode_set(mode=‘OBJECT’)#关闭编辑模式