This is useful to have as a script, I wrote one back in 2011. It uses the 3d cursor but restores its original position.
A link to this script is here
(includes all addon boilerplate) Once installed the script can be run from 3d view
> space bar
> Origin Move to Selected
This is the juicy bit:
def execute(self, context):
saved_location = bpy.context.scene.cursor_location.copy()
bpy.ops.view3d.snap_cursor_to_selected()
bpy.ops.object.mode_set(mode = 'OBJECT')
bpy.ops.object.origin_set(type='ORIGIN_CURSOR')
bpy.context.scene.cursor_location = saved_location
bpy.ops.object.mode_set(mode = 'EDIT')
return {'FINISHED'}
To bind this to a key combo:
User Preferences
> Input
> 3D View
> 3D View (Global)
> New
.
- Then fill in the text field with
object.origin_to_selected
and Blender will name the short-cut correctly. Then pick your short-cut keys:
More work up front, but convenient when used hourly.