While I am in mesh edit mode I would like to change bones in the bone edit context.
I have tried to switch context mode and then call the operator three times, which is not great.
- Call once to leave mesh edit and go to object mode, then select mesh, go to mesh edit mode.
- Now in edit bone context, call once to do the operation.
- Now in edit bone context, call again to go to mesh edit mode.
import bpy armature = bpy.data.armatures['Armature'] print(dir(armature)) bone = armature.bones mesh = bpy.data.objects['Cube'] def change_position(): c = bpy.context if c.mode != 'EDIT_MESH': print('you must be in mesh edit mode') return print('armature', armature.name) print('bone', bone.name) print('mesh', mesh.name) # change position of bone import random bone.head = random.uniform(-1,1) change_position()
Best way is to do this at once. Every hack is welcomed.