Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bl_info = {
- "name": "Rest/Pose Toggle",
- "description": "Re-assignable hotkey for toggling between rest and pose for selected armature.",
- "author": "Ferdinand Joseph Fernandez",
- "version": (1, 0),
- "location": "Shift Q while in 3d View",
- "support": "TESTING",
- "category": "Animation",
- }
- import bpy
- class RestPoseToggle(bpy.types.Operator):
- """Rest/Pose Toggle"""
- bl_idname = "animation.rest_pose_toggle"
- bl_label = "Rest/Pose Toggle"
- bl_options = {'REGISTER', 'UNDO'}
- def execute(self, context):
- ob = context.object
- if ob.type == 'ARMATURE':
- armature = ob.data
- if armature.pose_position == 'POSE':
- armature.pose_position = 'REST'
- else:
- armature.pose_position = 'POSE'
- return {'FINISHED'}
- # store keymaps here to access after registration
- addon_keymaps = []
- def register():
- bpy.utils.register_class(RestPoseToggle)
- # hotkey registration
- wm = bpy.context.window_manager
- km = wm.keyconfigs.addon.keymaps.new(name='Pose', space_type='EMPTY')
- kmi = km.keymap_items.new(RestPoseToggle.bl_idname, 'Q', 'PRESS', shift=True)
- # add to list so we can unregister afterwards
- addon_keymaps.append(km)
- def unregister():
- bpy.utils.unregister_class(RestPoseToggle)
- # unregister hotkey
- wm = bpy.context.window_manager
- for km in addon_keymaps:
- wm.keyconfigs.addon.keymaps.remove(km)
- # clear the list
- addon_keymaps.clear()
- if __name__ == "__main__":
- register()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement