1 # SPDX-License-Identifier: GPL-2.0-or-later
5 "description": "Edit mode V/E/F Delete Modes",
6 "author": "pitiwazou, meta-androcto",
9 "location": "Mesh Edit Mode",
12 "category": "Edit Delete Pie"
16 from bpy
.types
import Menu
20 class PIE_MT_PieDelete(Menu
):
21 bl_idname
= "PIE_MT_delete"
22 bl_label
= "Pie Delete"
24 def draw(self
, context
):
26 pie
= layout
.menu_pie()
28 box
= pie
.split().column()
29 box
.operator("mesh.dissolve_limited", text
="Limited Dissolve", icon
='STICKY_UVS_LOC')
30 box
.operator("mesh.delete_edgeloop", text
="Delete Edge Loops", icon
='NONE')
31 box
.operator("mesh.edge_collapse", text
="Edge Collapse", icon
='UV_EDGESEL')
33 box
= pie
.split().column()
34 box
.operator("mesh.remove_doubles", text
="Merge By Distance", icon
='NONE')
35 box
.operator("mesh.delete", text
="Only Edge & Faces", icon
='NONE').type = 'EDGE_FACE'
36 box
.operator("mesh.delete", text
="Only Faces", icon
='UV_FACESEL').type = 'ONLY_FACE'
38 pie
.operator("mesh.dissolve_edges", text
="Dissolve Edges", icon
='SNAP_EDGE')
40 pie
.operator("mesh.delete", text
="Delete Edges", icon
='EDGESEL').type = 'EDGE'
42 pie
.operator("mesh.delete", text
="Delete Vertices", icon
='VERTEXSEL').type = 'VERT'
44 pie
.operator("mesh.delete", text
="Delete Faces", icon
='FACESEL').type = 'FACE'
46 pie
.operator("mesh.dissolve_verts", text
="Dissolve Vertices", icon
='SNAP_VERTEX')
48 pie
.operator("mesh.dissolve_faces", text
="Dissolve Faces", icon
='SNAP_FACE')
61 bpy
.utils
.register_class(cls
)
63 wm
= bpy
.context
.window_manager
64 if wm
.keyconfigs
.addon
:
66 km
= wm
.keyconfigs
.addon
.keymaps
.new(name
='Mesh')
67 kmi
= km
.keymap_items
.new('wm.call_menu_pie', 'X', 'PRESS')
68 kmi
.properties
.name
= "PIE_MT_delete"
69 addon_keymaps
.append((km
, kmi
))
74 bpy
.utils
.unregister_class(cls
)
76 wm
= bpy
.context
.window_manager
77 kc
= wm
.keyconfigs
.addon
79 for km
, kmi
in addon_keymaps
:
80 km
.keymap_items
.remove(kmi
)
84 if __name__
== "__main__":