Mesh¶
Quick Reference¶
Detailed Reference¶
Note
Hotkeys marked with the “(default)” prefix are inherited from the default blender keymap
-
Ctrl-A
→ mesh.select_all : KEYBOARD → PRESS¶ (De)select All
bpy.ops.mesh.select_all(action=’TOGGLE’)
Properties: Values: Action TOGGLE
-
Ctrl-Alt-SELECTMOUSE
→ mesh.dupli_extrude_cursor : MOUSE → PRESS¶ Duplicate or Extrude to Cursor
bpy.ops.mesh.dupli_extrude_cursor(rotate_source=True)
Properties: Values: Rotate Source True
-
Ctrl-Shift-Alt-SELECTMOUSE
→ mesh.dupli_extrude_cursor : MOUSE → PRESS¶ Duplicate or Extrude to Cursor
bpy.ops.mesh.dupli_extrude_cursor(rotate_source=True)
Properties: Values: Rotate Source False
-
SELECTMOUSE
→ mesh.select_linked : MOUSE → DOUBLE_CLICK¶ Select Linked All
bpy.ops.mesh.select_linked(delimit={‘SEAM’})
-
Shift-SELECTMOUSE
→ mesh.select_linked : MOUSE → DOUBLE_CLICK¶ Select Linked All
bpy.ops.mesh.select_linked(delimit={‘SEAM’})
-
(default)
Ctrl-R
→ mesh.loopcut_slide : KEYBOARD → PRESS¶ Loop Cut and Slide
bpy.ops.mesh.loopcut_slide(MESH_OT_loopcut={“number_cuts”:1, “smoothness”:0, “falloff”:’INVERSE_SQUARE’, “edge_index”:-1, “mesh_select_mode_init”:(False, False, False)}, TRANSFORM_OT_edge_slide={“value”:0, “single_side”:False, “use_even”:False, “flipped”:False, “use_clamp”:True, “mirror”:False, “snap”:False, “snap_target”:’CLOSEST’, “snap_point”:(0, 0, 0), “snap_align”:False, “snap_normal”:(0, 0, 0), “correct_uv”:False, “release_confirm”:False})
Properties: Values: Loop Cut N/A Edge Slide N/A
-
(default)
Ctrl-Shift-R
→ mesh.offset_edge_loops_slide : KEYBOARD → PRESS¶ Offset Edge Slide
bpy.ops.mesh.offset_edge_loops_slide(MESH_OT_offset_edge_loops={“use_cap_endpoint”:False}, TRANSFORM_OT_edge_slide={“value”:0, “single_side”:False, “use_even”:False, “flipped”:False, “use_clamp”:True, “mirror”:False, “snap”:False, “snap_target”:’CLOSEST’, “snap_point”:(0, 0, 0), “snap_align”:False, “snap_normal”:(0, 0, 0), “correct_uv”:False, “release_confirm”:False})
Properties: Values: Offset Edge Loop N/A Edge Slide N/A
-
(default)
I
→ mesh.inset : KEYBOARD → PRESS¶ Inset Faces
bpy.ops.mesh.inset(use_boundary=True, use_even_offset=True, use_relative_offset=False, use_edge_rail=False, thickness=0.01, depth=0, use_outset=False, use_select_inset=False, use_individual=False, use_interpolate=True)
-
(default)
Alt-P
→ mesh.poke : KEYBOARD → PRESS¶ Poke Faces
bpy.ops.mesh.poke(offset=0, use_relative_offset=False, center_mode=’MEAN_WEIGHTED’)
-
(default)
Ctrl-B
→ mesh.bevel : KEYBOARD → PRESS¶ Bevel
bpy.ops.mesh.bevel(offset_type=’OFFSET’, offset=0, segments=1, profile=0.5, vertex_only=False, clamp_overlap=False, loop_slide=True, material=-1)
Properties: Values: Vertex Only False
-
(default)
Ctrl-Shift-B
→ mesh.bevel : KEYBOARD → PRESS¶ Bevel
bpy.ops.mesh.bevel(offset_type=’OFFSET’, offset=0, segments=1, profile=0.5, vertex_only=False, clamp_overlap=False, loop_slide=True, material=-1)
Properties: Values: Vertex Only True
-
(default)
Alt-SELECTMOUSE
→ mesh.loop_select : MOUSE → PRESS¶ Loop Select
bpy.ops.mesh.loop_select(extend=False, deselect=False, toggle=False, ring=False)
Properties: Values: Extend Select False Deselect False Toggle Select False
-
(default)
Shift-Alt-SELECTMOUSE
→ mesh.loop_select : MOUSE → PRESS¶ Loop Select
bpy.ops.mesh.loop_select(extend=False, deselect=False, toggle=False, ring=False)
Properties: Values: Extend Select False Deselect False Toggle Select True
-
(default)
Ctrl-Alt-SELECTMOUSE
→ mesh.edgering_select : MOUSE → PRESS¶ Edge Ring Select
bpy.ops.mesh.edgering_select(extend=False, deselect=False, toggle=False, ring=True)
Properties: Values: Extend False Deselect False Toggle Select False
-
(default)
Ctrl-Shift-Alt-SELECTMOUSE
→ mesh.edgering_select : MOUSE → PRESS¶ Edge Ring Select
bpy.ops.mesh.edgering_select(extend=False, deselect=False, toggle=False, ring=True)
Properties: Values: Extend False Deselect False Toggle Select True
-
(default)
Ctrl-SELECTMOUSE
→ mesh.shortest_path_pick : MOUSE → PRESS¶ Pick Shortest Path
bpy.ops.mesh.shortest_path_pick(use_face_step=False, use_topology_distance=False, use_fill=False, nth=1, skip=1, offset=0, index=-1)
Properties: Values: Fill Region False
-
(default)
Ctrl-Shift-SELECTMOUSE
→ mesh.shortest_path_pick : MOUSE → PRESS¶ Pick Shortest Path
bpy.ops.mesh.shortest_path_pick(use_face_step=False, use_topology_distance=False, use_fill=False, nth=1, skip=1, offset=0, index=-1)
Properties: Values: Fill Region True
-
(default)
A
→ mesh.select_all : KEYBOARD → PRESS¶ (De)select All
bpy.ops.mesh.select_all(action=’TOGGLE’)
Properties: Values: Action TOGGLE
-
(default)
Ctrl-I
→ mesh.select_all : KEYBOARD → PRESS¶ (De)select All
bpy.ops.mesh.select_all(action=’TOGGLE’)
Properties: Values: Action INVERT
-
(default)
Ctrl-NUMPAD_PLUS
→ mesh.select_more : KEYBOARD → PRESS¶ Select More
bpy.ops.mesh.select_more(use_face_step=True)
-
(default)
Ctrl-NUMPAD_MINUS
→ mesh.select_less : KEYBOARD → PRESS¶ Select Less
bpy.ops.mesh.select_less(use_face_step=True)
-
(default)
Ctrl-Shift-NUMPAD_PLUS
→ mesh.select_next_item : KEYBOARD → PRESS¶ Select Next Element
bpy.ops.mesh.select_next_item()
-
(default)
Ctrl-Shift-NUMPAD_MINUS
→ mesh.select_prev_item : KEYBOARD → PRESS¶ Select Previous Element
bpy.ops.mesh.select_prev_item()
-
(default)
Ctrl-Shift-Alt-M
→ mesh.select_non_manifold : KEYBOARD → PRESS¶ Select Non Manifold
bpy.ops.mesh.select_non_manifold(extend=True, use_wire=True, use_boundary=True, use_multi_face=True, use_non_contiguous=True, use_verts=True)
-
(default)
Ctrl-L
→ mesh.select_linked : KEYBOARD → PRESS¶ Select Linked All
bpy.ops.mesh.select_linked(delimit={‘SEAM’})
-
(default)
L
→ mesh.select_linked_pick : KEYBOARD → PRESS¶ Select Linked
bpy.ops.mesh.select_linked_pick(deselect=False, delimit={‘SEAM’}, index=-1)
Properties: Values: Deselect False
-
(default)
Shift-L
→ mesh.select_linked_pick : KEYBOARD → PRESS¶ Select Linked
bpy.ops.mesh.select_linked_pick(deselect=False, delimit={‘SEAM’}, index=-1)
Properties: Values: Deselect True
-
(default)
Ctrl-Shift-Alt-F
→ mesh.faces_select_linked_flat : KEYBOARD → PRESS¶ Select Linked Flat Faces
bpy.ops.mesh.faces_select_linked_flat(sharpness=0.0174533)
Call Menu
bpy.ops.wm.call_menu(name=””)
Properties: Values: Name VIEW3D_MT_edit_mesh_select_similar
Call Menu
bpy.ops.wm.call_menu(name=””)
Properties: Values: Name VIEW3D_MT_edit_mesh_select_mode
-
(default)
H
→ mesh.hide : KEYBOARD → PRESS¶ Hide Selection
bpy.ops.mesh.hide(unselected=False)
Properties: Values: Unselected False
-
(default)
Shift-H
→ mesh.hide : KEYBOARD → PRESS¶ Hide Selection
bpy.ops.mesh.hide(unselected=False)
Properties: Values: Unselected True
-
(default)
Alt-H
→ mesh.reveal : KEYBOARD → PRESS¶ Reveal Hidden
bpy.ops.mesh.reveal()
-
(default)
Ctrl-N
→ mesh.normals_make_consistent : KEYBOARD → PRESS¶ Make Normals Consistent
bpy.ops.mesh.normals_make_consistent(inside=False)
Properties: Values: Inside False
-
(default)
Ctrl-Shift-N
→ mesh.normals_make_consistent : KEYBOARD → PRESS¶ Make Normals Consistent
bpy.ops.mesh.normals_make_consistent(inside=False)
Properties: Values: Inside True
-
(default)
E
→ view3d.edit_mesh_extrude_move_normal : KEYBOARD → PRESS¶ Extrude and Move on Normals
bpy.ops.view3d.edit_mesh_extrude_move_normal()
Call Menu
bpy.ops.wm.call_menu(name=””)
Properties: Values: Name VIEW3D_MT_edit_mesh_extrude
-
(default)
Shift-E
→ transform.edge_crease : KEYBOARD → PRESS¶ Edge Crease
bpy.ops.transform.edge_crease(value=0, snap=False, snap_target=’CLOSEST’, snap_point=(0, 0, 0), snap_align=False, snap_normal=(0, 0, 0), release_confirm=False)
-
(default)
Alt-R
→ mesh.spin : KEYBOARD → PRESS¶ Spin
bpy.ops.mesh.spin(steps=9, dupli=False, angle=1.5708, center=(0, 0, 0), axis=(0, 0, 0))
-
(default)
Alt-F
→ mesh.fill : KEYBOARD → PRESS¶ Fill
bpy.ops.mesh.fill(use_beauty=True)
-
(default)
Shift-Alt-F
→ mesh.beautify_fill : KEYBOARD → PRESS¶ Beautify Faces
bpy.ops.mesh.beautify_fill(angle_limit=3.14159)
-
(default)
Ctrl-T
→ mesh.quads_convert_to_tris : KEYBOARD → PRESS¶ Triangulate Faces
bpy.ops.mesh.quads_convert_to_tris(quad_method=’BEAUTY’, ngon_method=’BEAUTY’)
Properties: Values: Quad Method BEAUTY Polygon Method BEAUTY
-
(default)
Ctrl-Shift-T
→ mesh.quads_convert_to_tris : KEYBOARD → PRESS¶ Triangulate Faces
bpy.ops.mesh.quads_convert_to_tris(quad_method=’BEAUTY’, ngon_method=’BEAUTY’)
Properties: Values: Quad Method FIXED Polygon Method CLIP
-
(default)
Alt-J
→ mesh.tris_convert_to_quads : KEYBOARD → PRESS¶ Tris to Quads
bpy.ops.mesh.tris_convert_to_quads(face_threshold=0.698132, shape_threshold=0.698132, uvs=False, vcols=False, seam=False, sharp=False, materials=False)
-
(default)
V
→ mesh.rip_move : KEYBOARD → PRESS¶ Rip
bpy.ops.mesh.rip_move(MESH_OT_rip={“mirror”:False, “proportional”:’DISABLED’, “proportional_edit_falloff”:’SMOOTH’, “proportional_size”:1, “release_confirm”:False, “use_fill”:False}, TRANSFORM_OT_translate={“value”:(0, 0, 0), “constraint_axis”:(False, False, False), “constraint_orientation”:’GLOBAL’, “mirror”:False, “proportional”:’DISABLED’, “proportional_edit_falloff”:’SMOOTH’, “proportional_size”:1, “snap”:False, “snap_target”:’CLOSEST’, “snap_point”:(0, 0, 0), “snap_align”:False, “snap_normal”:(0, 0, 0), “gpencil_strokes”:False, “texture_space”:False, “remove_on_cancel”:False, “release_confirm”:False})
Properties: Values: Rip N/A Translate N/A
-
(default)
Alt-V
→ mesh.rip_move_fill : KEYBOARD → PRESS¶ Rip Fill
bpy.ops.mesh.rip_move_fill(MESH_OT_rip={“mirror”:False, “proportional”:’DISABLED’, “proportional_edit_falloff”:’SMOOTH’, “proportional_size”:1, “release_confirm”:False, “use_fill”:False}, TRANSFORM_OT_translate={“value”:(0, 0, 0), “constraint_axis”:(False, False, False), “constraint_orientation”:’GLOBAL’, “mirror”:False, “proportional”:’DISABLED’, “proportional_edit_falloff”:’SMOOTH’, “proportional_size”:1, “snap”:False, “snap_target”:’CLOSEST’, “snap_point”:(0, 0, 0), “snap_align”:False, “snap_normal”:(0, 0, 0), “gpencil_strokes”:False, “texture_space”:False, “remove_on_cancel”:False, “release_confirm”:False})
Properties: Values: Rip N/A Translate N/A
-
(default)
Alt-D
→ mesh.rip_edge_move : KEYBOARD → PRESS¶ Extend Vertices
bpy.ops.mesh.rip_edge_move(MESH_OT_rip_edge={“mirror”:False, “proportional”:’DISABLED’, “proportional_edit_falloff”:’SMOOTH’, “proportional_size”:1, “release_confirm”:False}, TRANSFORM_OT_translate={“value”:(0, 0, 0), “constraint_axis”:(False, False, False), “constraint_orientation”:’GLOBAL’, “mirror”:False, “proportional”:’DISABLED’, “proportional_edit_falloff”:’SMOOTH’, “proportional_size”:1, “snap”:False, “snap_target”:’CLOSEST’, “snap_point”:(0, 0, 0), “snap_align”:False, “snap_normal”:(0, 0, 0), “gpencil_strokes”:False, “texture_space”:False, “remove_on_cancel”:False, “release_confirm”:False})
Properties: Values: Extend Vertices N/A Translate N/A
-
(default)
Alt-M
→ mesh.merge : KEYBOARD → PRESS¶ Merge
bpy.ops.mesh.merge(type=’CENTER’, uvs=False)
-
(default)
Alt-S
→ transform.shrink_fatten : KEYBOARD → PRESS¶ Shrink/Fatten
bpy.ops.transform.shrink_fatten(value=0, use_even_offset=True, mirror=False, proportional=’DISABLED’, proportional_edit_falloff=’SMOOTH’, proportional_size=1, snap=False, snap_target=’CLOSEST’, snap_point=(0, 0, 0), snap_align=False, snap_normal=(0, 0, 0), release_confirm=False)
-
(default)
F
→ mesh.edge_face_add : KEYBOARD → PRESS¶ Make Edge/Face
bpy.ops.mesh.edge_face_add()
-
(default)
Shift-D
→ mesh.duplicate_move : KEYBOARD → PRESS¶ Add Duplicate
bpy.ops.mesh.duplicate_move(MESH_OT_duplicate={“mode”:1}, TRANSFORM_OT_translate={“value”:(0, 0, 0), “constraint_axis”:(False, False, False), “constraint_orientation”:’GLOBAL’, “mirror”:False, “proportional”:’DISABLED’, “proportional_edit_falloff”:’SMOOTH’, “proportional_size”:1, “snap”:False, “snap_target”:’CLOSEST’, “snap_point”:(0, 0, 0), “snap_align”:False, “snap_normal”:(0, 0, 0), “gpencil_strokes”:False, “texture_space”:False, “remove_on_cancel”:False, “release_confirm”:False})
Properties: Values: Duplicate N/A Translate N/A
Call Menu
bpy.ops.wm.call_menu(name=””)
Properties: Values: Name INFO_MT_mesh_add
-
(default)
P
→ mesh.separate : KEYBOARD → PRESS¶ Separate
bpy.ops.mesh.separate(type=’SELECTED’)
-
(default)
Y
→ mesh.split : KEYBOARD → PRESS¶ Split
bpy.ops.mesh.split()
-
(default)
J
→ mesh.vert_connect_path : KEYBOARD → PRESS¶ Vertex Connect Path
bpy.ops.mesh.vert_connect_path()
-
(default)
Shift-V
→ transform.vert_slide : KEYBOARD → PRESS¶ Vertex Slide
bpy.ops.transform.vert_slide(value=0, use_even=False, flipped=False, use_clamp=True, mirror=False, snap=False, snap_target=’CLOSEST’, snap_point=(0, 0, 0), snap_align=False, snap_normal=(0, 0, 0), correct_uv=False, release_confirm=False)
-
(default)
Ctrl-ACTIONMOUSE
→ mesh.dupli_extrude_cursor : MOUSE → CLICK¶ Duplicate or Extrude to Cursor
bpy.ops.mesh.dupli_extrude_cursor(rotate_source=True)
Properties: Values: Rotate Source True
-
(default)
Ctrl-Shift-ACTIONMOUSE
→ mesh.dupli_extrude_cursor : MOUSE → CLICK¶ Duplicate or Extrude to Cursor
bpy.ops.mesh.dupli_extrude_cursor(rotate_source=True)
Properties: Values: Rotate Source False
Call Menu
bpy.ops.wm.call_menu(name=””)
Properties: Values: Name VIEW3D_MT_edit_mesh_delete
Call Menu
bpy.ops.wm.call_menu(name=””)
Properties: Values: Name VIEW3D_MT_edit_mesh_delete
-
(default)
Ctrl-X
→ mesh.dissolve_mode : KEYBOARD → PRESS¶ Dissolve Selection
bpy.ops.mesh.dissolve_mode(use_verts=False, use_face_split=False, use_boundary_tear=False)
-
(default)
Ctrl-DEL
→ mesh.dissolve_mode : KEYBOARD → PRESS¶ Dissolve Selection
bpy.ops.mesh.dissolve_mode(use_verts=False, use_face_split=False, use_boundary_tear=False)
-
(default)
K
→ mesh.knife_tool : KEYBOARD → PRESS¶ Knife Topology Tool
bpy.ops.mesh.knife_tool(use_occlude_geometry=True, only_selected=False)
Properties: Values: Occlude Geometry True Only Selected False
-
(default)
Shift-K
→ mesh.knife_tool : KEYBOARD → PRESS¶ Knife Topology Tool
bpy.ops.mesh.knife_tool(use_occlude_geometry=True, only_selected=False)
Properties: Values: Occlude Geometry False Only Selected True
-
(default)
Ctrl-P
→ object.vertex_parent_set : KEYBOARD → PRESS¶ Make Vertex Parent
bpy.ops.object.vertex_parent_set()
Call Menu
bpy.ops.wm.call_menu(name=””)
Properties: Values: Name VIEW3D_MT_edit_mesh_specials
Call Menu
bpy.ops.wm.call_menu(name=””)
Properties: Values: Name VIEW3D_MT_edit_mesh_faces
Call Menu
bpy.ops.wm.call_menu(name=””)
Properties: Values: Name VIEW3D_MT_edit_mesh_edges
Call Menu
bpy.ops.wm.call_menu(name=””)
Properties: Values: Name VIEW3D_MT_edit_mesh_vertices
Call Menu
bpy.ops.wm.call_menu(name=””)
Properties: Values: Name VIEW3D_MT_hook
Call Menu
bpy.ops.wm.call_menu(name=””)
Properties: Values: Name VIEW3D_MT_uv_map
Call Menu
bpy.ops.wm.call_menu(name=””)
Properties: Values: Name VIEW3D_MT_vertex_group
-
(default)
Ctrl-0
→ object.subdivision_set : KEYBOARD → PRESS¶ Subdivision Set
bpy.ops.object.subdivision_set(level=1, relative=False)
Properties: Values: Level 0
-
(default)
Ctrl-1
→ object.subdivision_set : KEYBOARD → PRESS¶ Subdivision Set
bpy.ops.object.subdivision_set(level=1, relative=False)
Properties: Values: Level 1
-
(default)
Ctrl-2
→ object.subdivision_set : KEYBOARD → PRESS¶ Subdivision Set
bpy.ops.object.subdivision_set(level=1, relative=False)
Properties: Values: Level 2
-
(default)
Ctrl-3
→ object.subdivision_set : KEYBOARD → PRESS¶ Subdivision Set
bpy.ops.object.subdivision_set(level=1, relative=False)
Properties: Values: Level 3
-
(default)
Ctrl-4
→ object.subdivision_set : KEYBOARD → PRESS¶ Subdivision Set
bpy.ops.object.subdivision_set(level=1, relative=False)
Properties: Values: Level 4
-
(default)
Ctrl-5
→ object.subdivision_set : KEYBOARD → PRESS¶ Subdivision Set
bpy.ops.object.subdivision_set(level=1, relative=False)
Properties: Values: Level 5
-
(default)
Shift-O
→ wm.context_cycle_enum : KEYBOARD → PRESS¶ Context Enum Cycle
bpy.ops.wm.context_cycle_enum(data_path=””, reverse=False, wrap=False)
Properties: Values: Context Attributes tool_settings.proportional_edit_falloff Wrap True
-
(default)
O
→ wm.context_toggle_enum : KEYBOARD → PRESS¶ Context Toggle Values
bpy.ops.wm.context_toggle_enum(data_path=””, value_1=””, value_2=””)
Properties: Values: Context Attributes tool_settings.proportional_edit Value DISABLED Value ENABLED
-
(default)
Alt-O
→ wm.context_toggle_enum : KEYBOARD → PRESS¶ Context Toggle Values
bpy.ops.wm.context_toggle_enum(data_path=””, value_1=””, value_2=””)
Properties: Values: Context Attributes tool_settings.proportional_edit Value DISABLED Value CONNECTED