bpy.ops.armature.select_more
bpy.ops.armature.select_more()
:扩展当前选择的骨骼,选择邻近的未选中的骨骼。bpy.ops.armature.select_more()
是一个 blnder 内置的操作,用于扩展当前选择的骨骼。此操作会选择未被选中的邻近骨骼(直到家族树中没有未选中的骨骼)。
{'FINISHED'}
:操作成功。{'CANCELLED'}
:所有骨骼都已选中,因此无法扩展选择。import bpy
# 获取当前激活的对象
obj = bpy.context.active_object
# 判断当前对象是不是骨骼
if obj.type == 'ARMATURE':
# 获取骨架
arm = obj.data
# 扩展选择第一个骨骼的邻近骨骼
bpy.ops.armature.select_all(action='DESELECT') # 取消选择所有骨骼
arm.bones[0].select_set(True) # 选择第一个骨骼
bpy.ops.armature.select_more() # 扩展选择邻近骨骼
bpy.context.active_object
才是当前用户选择的对象,而不是鼠标当前所在的对象。使用该对象才能避免潜在的问题。bpy.ops.armature.select_more()
操作只针对选择的骨骼,而不是整个骨骼系统。因此要先将不需要选择的骨骼取消选择。例如,使用 bpy.ops.armature.select_all(action='DESELECT')
取消选择所有骨骼,再选择某些骨骼进行扩展选择。否则,可能会出现无法预料的扩展结果。