From 33b1cbf06d2c822c68676390b1775eb5d78de6e6 Mon Sep 17 00:00:00 2001 From: Martin Poirier Date: Fri, 12 Feb 2010 22:13:47 +0000 Subject: Smart Extrude (hotkeys are tentative) Ekey: Extrude Region Based on selection totals: Extrude region along normal if at least one face selected Extrude vertex along normal if only one vertex selected (experimental) Extrude edge on its plane if only one edge selected (experimental) Extrude with no constraint axis otherwise Shift-Ekey: Extrude Individual Based on selection modes and selection totals Individual Faces if face select and some faces are selected Individual Edges if edge select and some edges are selected Individual Vertice otherwise Alt-Ekey: Extrude Menu (only shows valid options for selection mode and selection totals) --- source/blender/editors/mesh/mesh_ops.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'source/blender/editors') diff --git a/source/blender/editors/mesh/mesh_ops.c b/source/blender/editors/mesh/mesh_ops.c index 2788469a23e..87fe9948a37 100644 --- a/source/blender/editors/mesh/mesh_ops.c +++ b/source/blender/editors/mesh/mesh_ops.c @@ -172,7 +172,6 @@ void ED_operatormacros_mesh(void) { wmOperatorType *ot; wmOperatorTypeMacro *otmacro; - int constraint_axis[3] = {0, 0, 1}; ot= WM_operatortype_append_macro("MESH_OT_loopcut_slide", "Loop Cut and Slide", OPTYPE_UNDO|OPTYPE_REGISTER); WM_operatortype_macro_define(ot, "MESH_OT_loopcut"); @@ -193,8 +192,6 @@ void ED_operatormacros_mesh(void) RNA_enum_set(otmacro->ptr, "type", 1); otmacro= WM_operatortype_macro_define(ot, "TRANSFORM_OT_translate"); RNA_enum_set(otmacro->ptr, "proportional", 0); - RNA_enum_set(otmacro->ptr, "constraint_orientation", V3D_MANIP_NORMAL); - RNA_boolean_set_array(otmacro->ptr, "constraint_axis", constraint_axis); ot= WM_operatortype_append_macro("MESH_OT_extrude_faces_move", "Extrude Individual Faces and Move", OPTYPE_UNDO|OPTYPE_REGISTER); otmacro= WM_operatortype_macro_define(ot, "MESH_OT_extrude"); @@ -264,7 +261,9 @@ void ED_keymap_mesh(wmKeyConfig *keyconf) WM_keymap_add_item(keymap, "MESH_OT_normals_make_consistent", NKEY, KM_PRESS, KM_CTRL, 0); RNA_boolean_set(WM_keymap_add_item(keymap, "MESH_OT_normals_make_consistent", NKEY, KM_PRESS, KM_SHIFT|KM_CTRL, 0)->ptr, "inside", 1); - WM_keymap_add_menu(keymap, "VIEW3D_MT_edit_mesh_extrude", EKEY, KM_PRESS, 0, 0); + WM_keymap_add_item(keymap, "VIEW3D_OT_edit_mesh_extrude_move", EKEY, KM_PRESS, 0, 0); + WM_keymap_add_item(keymap, "VIEW3D_OT_edit_mesh_extrude_individual_move", EKEY, KM_PRESS, KM_SHIFT, 0); + WM_keymap_add_menu(keymap, "VIEW3D_MT_edit_mesh_extrude", EKEY, KM_PRESS, KM_ALT, 0); WM_keymap_add_item(keymap, "MESH_OT_spin", RKEY, KM_PRESS, KM_ALT, 0); -- cgit v1.2.3