[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [3980] contrib/py/scripts/addons/ presets/keyconfig/blender_2012_experimental.py: Work on transform keys, edit mode, and viewport drawing.
Nathan Vegdahl
cessen at cessen.com
Sun Nov 18 21:29:43 CET 2012
Revision: 3980
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=3980
Author: cessen
Date: 2012-11-18 20:29:42 +0000 (Sun, 18 Nov 2012)
Log Message:
-----------
Work on transform keys, edit mode, and viewport drawing.
- Changed the transform keys to the home row:
f = translate
d = rotate
s = scale
- Viewport draw mode switching now works slightly differently. Pressing
z will toggle between solid and wireframe as usual, but alt-z now brings
up a menu with all the draw modes.
- Spruced up edit mode. Should be mostly usable for modeling work now.
I encourage modelers to start giving it a try. Below is an overview.
Sub-mode switching:
1: vertex mode
2: edge mode
3: face mode
Selection:
LMB-click: basic select
LMB-drag: box select
alt-LMB-drag: lasso select
LMB-double-click: edge loop select
alt-LMB-double-click: edge ring select
alt-LMB: shortest path select
(For all of the above, adding shift is "add to selection" and
adding ctrl is "remove from selection".)
Major tool menus:
shift-a: add primitive menu
q: specials menu
alt-1: vertex menu
alt-2: edge menu
alt-3: face menu
Tool shortcuts:
x: delete (context sensitive, no menu)
shift-x: dissolve
alt-x: delete/dissolve menu
shift-d: duplicate
c: create edge/face
shift-c: connect verts
b: bevel
m: collapse
alt-m: merge menu
k: knife
w: subdivide
shift-w: smooth
e: extrude
alt-e: extrude menu
ctrl-RMB: click to extrude
ctrl-shift-RMB: click to extrude (no auto-rotate)
r: rip
t: loop cut
y: split
shift-y: separate
i: inset
shift-i: outset
Misc:
-/=: decrease/increase the subdiv level of the mesh
Modified Paths:
--------------
contrib/py/scripts/addons/presets/keyconfig/blender_2012_experimental.py
Modified: contrib/py/scripts/addons/presets/keyconfig/blender_2012_experimental.py
===================================================================
--- contrib/py/scripts/addons/presets/keyconfig/blender_2012_experimental.py 2012-11-18 17:16:29 UTC (rev 3979)
+++ contrib/py/scripts/addons/presets/keyconfig/blender_2012_experimental.py 2012-11-18 20:29:42 UTC (rev 3980)
@@ -14,12 +14,12 @@
bpy.context.user_preferences.inputs.select_mouse = 'LEFT'
# Basic transform keys
-TRANSLATE_KEY = 'R'
-ROTATE_KEY = 'E'
-SCALE_KEY = 'W'
+TRANSLATE_KEY = 'F'
+ROTATE_KEY = 'D'
+SCALE_KEY = 'S'
# Specials Menu Key
-SPECIALS_MENU_KEY = 'ACCENT_GRAVE'
+SPECIALS_MENU_KEY = 'Q'
################################
@@ -69,6 +69,7 @@
layout.operator_enum("object.mode_set", "mode")
bpy.utils.register_class(ModeSwitchMenu)
+
# Temporary work around: Blender does not properly limit the mode switch menu
# items until the first mode switch (e.g. mesh objects will show pose mode as
# an option).
@@ -168,6 +169,34 @@
bpy.utils.register_class(SetEditMeshSelectMode)
+class MeshDeleteContextual(bpy.types.Operator):
+ """ Deletes mesh elements based on context instead
+ of forcing the user to select from a menu what
+ it should delete.
+ """
+ bl_idname = "mesh.delete_contextual"
+ bl_label = "Mesh Delete Contextual"
+ bl_options = {'UNDO'}
+
+ @classmethod
+ def poll(cls, context):
+ return (context.active_object is not None) and (context.mode == "EDIT_MESH")
+
+ def execute(self, context):
+ select_mode = context.tool_settings.mesh_select_mode
+
+ if select_mode[0]:
+ bpy.ops.mesh.delete(type='VERT')
+ elif select_mode[1] and not select_mode[2]:
+ bpy.ops.mesh.delete(type='EDGE')
+ elif select_mode[2] and not select_mode[1]:
+ bpy.ops.mesh.delete(type='FACE')
+ else:
+ bpy.ops.mesh.delete(type='VERT')
+
+ return {'FINISHED'}
+bpy.utils.register_class(MeshDeleteContextual)
+
###########
# Keymaps
###########
@@ -674,7 +703,7 @@
kmi.properties.align_active = True
# Fly mode
- kmi = km.keymap_items.new('view3d.fly', 'F', 'CLICK', shift=True)
+ #kmi = km.keymap_items.new('view3d.fly', 'F', 'CLICK', shift=True)
# Misc
kmi = km.keymap_items.new('view3d.view_selected', 'NUMPAD_PERIOD', 'CLICK')
@@ -777,16 +806,16 @@
#-----------------------
# Grab, rotate scale
- kmi = km.keymap_items.new('transform.translate', TRANSLATE_KEY, 'CLICK')
+ kmi = km.keymap_items.new('transform.translate', TRANSLATE_KEY, 'PRESS')
#kmi = km.keymap_items.new('transform.translate', 'EVT_TWEAK_S', 'ANY')
- kmi = km.keymap_items.new('transform.rotate', ROTATE_KEY, 'CLICK')
- kmi = km.keymap_items.new('transform.resize', SCALE_KEY, 'CLICK')
+ kmi = km.keymap_items.new('transform.rotate', ROTATE_KEY, 'PRESS')
+ kmi = km.keymap_items.new('transform.resize', SCALE_KEY, 'PRESS')
# Mirror, shear, warp, to-sphere
- kmi = km.keymap_items.new('transform.mirror', 'M', 'CLICK', ctrl=True)
- kmi = km.keymap_items.new('transform.shear', 'S', 'CLICK', shift=True, ctrl=True, alt=True)
- kmi = km.keymap_items.new('transform.warp', 'W', 'CLICK', shift=True)
- kmi = km.keymap_items.new('transform.tosphere', 'S', 'CLICK', shift=True, alt=True)
+ #kmi = km.keymap_items.new('transform.mirror', 'M', 'CLICK', ctrl=True)
+ #kmi = km.keymap_items.new('transform.shear', 'S', 'CLICK', shift=True, ctrl=True, alt=True)
+ #kmi = km.keymap_items.new('transform.warp', 'W', 'CLICK', shift=True)
+ #kmi = km.keymap_items.new('transform.tosphere', 'S', 'CLICK', shift=True, alt=True)
#-------------------------
# Transform texture space
@@ -829,6 +858,7 @@
#--------
# Layers
#--------
+ """
kmi = km.keymap_items.new('view3d.layers', 'ACCENT_GRAVE', 'CLICK')
kmi.properties.nr = 0
kmi = km.keymap_items.new('view3d.layers', 'ONE', 'CLICK', any=True)
@@ -851,19 +881,19 @@
kmi.properties.nr = 9
kmi = km.keymap_items.new('view3d.layers', 'ZERO', 'CLICK', any=True)
kmi.properties.nr = 10
+ """
#------------------
# Viewport drawing
#------------------
- kmi = km.keymap_items.new('wm.context_toggle_enum', 'Z', 'CLICK')
+ kmi = km.keymap_items.new('wm.context_toggle_enum', 'Z', 'PRESS')
kmi.properties.data_path = 'space_data.viewport_shade'
kmi.properties.value_1 = 'SOLID'
kmi.properties.value_2 = 'WIREFRAME'
- kmi = km.keymap_items.new('wm.context_toggle_enum', 'Z', 'CLICK', alt=True)
+
+ kmi = km.keymap_items.new('wm.context_menu_enum', 'Z', 'PRESS', alt=True)
kmi.properties.data_path = 'space_data.viewport_shade'
- kmi.properties.value_1 = 'TEXTURED'
- kmi.properties.value_2 = 'SOLID'
-
+
#-------------
# Pivot point
#-------------
@@ -1014,18 +1044,18 @@
kmi.properties.name = 'VIEW3D_MT_object_specials'
# Subdivision surface shortcuts
- kmi = km.keymap_items.new('object.subdivision_set', 'ZERO', 'PRESS', ctrl=True)
- kmi.properties.level = 0
- kmi = km.keymap_items.new('object.subdivision_set', 'ONE', 'PRESS', ctrl=True)
- kmi.properties.level = 1
- kmi = km.keymap_items.new('object.subdivision_set', 'TWO', 'PRESS', ctrl=True)
- kmi.properties.level = 2
- kmi = km.keymap_items.new('object.subdivision_set', 'THREE', 'PRESS', ctrl=True)
- kmi.properties.level = 3
- kmi = km.keymap_items.new('object.subdivision_set', 'FOUR', 'PRESS', ctrl=True)
- kmi.properties.level = 4
- kmi = km.keymap_items.new('object.subdivision_set', 'FIVE', 'PRESS', ctrl=True)
- kmi.properties.level = 5
+ #kmi = km.keymap_items.new('object.subdivision_set', 'ZERO', 'PRESS', ctrl=True)
+ #kmi.properties.level = 0
+ #kmi = km.keymap_items.new('object.subdivision_set', 'ONE', 'PRESS', ctrl=True)
+ #kmi.properties.level = 1
+ #kmi = km.keymap_items.new('object.subdivision_set', 'TWO', 'PRESS', ctrl=True)
+ #kmi.properties.level = 2
+ #kmi = km.keymap_items.new('object.subdivision_set', 'THREE', 'PRESS', ctrl=True)
+ #kmi.properties.level = 3
+ #kmi = km.keymap_items.new('object.subdivision_set', 'FOUR', 'PRESS', ctrl=True)
+ #kmi.properties.level = 4
+ #kmi = km.keymap_items.new('object.subdivision_set', 'FIVE', 'PRESS', ctrl=True)
+ #kmi.properties.level = 5
def MapAdd_View3D_MeshEditMode(kc):
@@ -1061,7 +1091,7 @@
#-----------
# Shortest path
- #kmi = km.keymap_items.new('mesh.select_shortest_path', 'RIGHTMOUSE', 'CLICK')
+ kmi = km.keymap_items.new('mesh.select_shortest_path', 'LEFTMOUSE', 'CLICK', alt=True)
# Edge loop
kmi = km.keymap_items.new('mesh.loop_select', 'LEFTMOUSE', 'DOUBLE_CLICK') # Replace
@@ -1076,10 +1106,8 @@
kmi = km.keymap_items.new('mesh.edgering_select', 'LEFTMOUSE', 'DOUBLE_CLICK', alt=True, shift=True) # Extend (TODO: Add)
kmi.properties.extend = True
# TODO: Remove
-
-
- kmi = km.keymap_items.new('mesh.select_all', 'A', 'CLICK')
+ kmi = km.keymap_items.new('mesh.select_all', 'A', 'PRESS')
kmi.properties.action = 'TOGGLE'
kmi = km.keymap_items.new('mesh.select_all', 'I', 'CLICK', ctrl=True)
kmi.properties.action = 'INVERT'
@@ -1113,56 +1141,114 @@
kmi.properties.unselected = True
kmi = km.keymap_items.new('mesh.reveal', 'H', 'CLICK', alt=True)
- # Create
- kmi = km.keymap_items.new('mesh.loopcut_slide', 'R', 'CLICK', ctrl=True)
- kmi = km.keymap_items.new('mesh.knifetool', 'K', 'CLICK')
- #kmi = km.keymap_items.new('view3d.edit_mesh_extrude_move_normal', 'E', 'CLICK')
- #kmi = km.keymap_items.new('wm.call_menu', 'E', 'CLICK', alt=True)
- #kmi.properties.name = 'VIEW3D_MT_edit_mesh_extrude'
- kmi = km.keymap_items.new('mesh.edge_face_add', 'F', 'CLICK')
- kmi = km.keymap_items.new('mesh.vert_connect', 'J', 'CLICK')
- kmi = km.keymap_items.new('mesh.spin', 'R', 'CLICK', alt=True)
- kmi = km.keymap_items.new('mesh.fill', 'F', 'CLICK', alt=True)
- kmi = km.keymap_items.new('mesh.beautify_fill', 'F', 'CLICK', shift=True, alt=True)
- kmi = km.keymap_items.new('mesh.duplicate_move', 'D', 'CLICK', shift=True)
- kmi = km.keymap_items.new('wm.call_menu', 'A', 'CLICK', shift=True)
+ #-----------------
+ # Create Geometry
+ #-----------------
+
+ # Add Primitive
+ kmi = km.keymap_items.new('wm.call_menu', 'A', 'PRESS', shift=True)
kmi.properties.name = 'INFO_MT_mesh_add'
+
+ # Add edge and face / vertex connect
+ kmi = km.keymap_items.new('mesh.edge_face_add', 'C', 'CLICK')
+ kmi = kmi = km.keymap_items.new('mesh.vert_connect', 'C', 'CLICK', shift=True)
+
+ kmi = km.keymap_items.new('mesh.fill', 'C', 'CLICK', alt=True)
+ kmi = km.keymap_items.new('mesh.beautify_fill', 'C', 'CLICK', alt=True, shift=True)
+
+ # Subdivide
+ kmi = km.keymap_items.new('mesh.subdivide', 'W', 'CLICK')
+
+ # Loop cut
+ kmi = km.keymap_items.new('mesh.loopcut_slide', 'T', 'CLICK')
+
+ # Knife
+ kmi = km.keymap_items.new('mesh.knife_tool', 'K', 'CLICK')
+
+ # Extrude
+ kmi = km.keymap_items.new('view3d.edit_mesh_extrude_move_normal', 'E', 'CLICK')
+ kmi = km.keymap_items.new('wm.call_menu', 'E', 'CLICK', alt=True)
+ kmi.properties.name = 'VIEW3D_MT_edit_mesh_extrude'
+
kmi = km.keymap_items.new('mesh.dupli_extrude_cursor', 'ACTIONMOUSE', 'CLICK', ctrl=True)
kmi.properties.rotate_source = True
kmi = km.keymap_items.new('mesh.dupli_extrude_cursor', 'ACTIONMOUSE', 'CLICK', shift=True, ctrl=True)
kmi.properties.rotate_source = False
+
+ # Inset/Outset
+ kmi = km.keymap_items.new('mesh.inset', 'I', 'CLICK')
+ kmi.properties.use_outset = False
+ kmi = km.keymap_items.new('mesh.inset', 'I', 'CLICK', shift=True)
+ kmi.properties.use_outset = True
+
+ # Bevel
+ kmi = km.keymap_items.new('mesh.bevel', 'B', 'CLICK')
- # Delete
- kmi = km.keymap_items.new('wm.call_menu', 'X', 'CLICK')
+ # Duplicate
+ kmi = km.keymap_items.new('mesh.duplicate_move', 'D', 'CLICK', shift=True)
+
+ # Rip
+ kmi = km.keymap_items.new('mesh.rip_move', 'R', 'CLICK')
+
+ # Split / Separate
+ kmi = km.keymap_items.new('mesh.split', 'Y', 'CLICK')
+ kmi = km.keymap_items.new('mesh.separate', 'Y', 'CLICK', shift=True)
+
+
+ #-----------------
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-extensions-cvs
mailing list