[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