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[0]
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[0] = random.uniform(-1,1)
change_position()
Best way is to do this at once. Every hack is welcomed.