1
$\begingroup$

enter image description here

Hi, how can i disable the delete menu that appear when delete a element?, is really annoying because if i am working in face mode then i will be like delete faces and this menu is complety unnecessary, thanks.

$\endgroup$
1
  • 3
    $\begingroup$ "this menu is completely unnecessary" this is false. Different deletion options in different selection modes yield different results $\endgroup$ Commented Nov 16, 2018 at 17:12

4 Answers 4

2
$\begingroup$

There is an option for this in Blender 2.80.

Open "User Preferences" then go to "Keymap" and search for "Delete" and go down to Object Mode -> Delete (object.delete) click the dropdown arrow and check/uncheck 'Confirm'

You can also get there by "Keymap -> 3D View -> Object Mode -> Object Mode (Global) -> "Delete (object.delete)" and check/uncheck confirm

$\endgroup$
1
$\begingroup$

right click on the Faces and assign a shortcut.

all the options in the delete menu are not at all unnecessary, as you may/can work with more than one type of selection concatenated together, thus having a special menu for every single combination is just not worth it.

$\endgroup$
4
  • 1
    $\begingroup$ Peter is right, the delete behaviour could be handled based on selection context. This is how it works in Modo for example, very comfortable when used to. The menu options are legit, but the need to select one in 90% cases is unnecessary, when it could be recognized for you. $\endgroup$ Commented Nov 16, 2018 at 17:00
  • 1
    $\begingroup$ There may be more common options for each selection mode, but each one still yields different results, so they can't be omitted, otherwise they will force you to switch modes to do certain operations which is also undesirable $\endgroup$ Commented Nov 16, 2018 at 17:14
  • 3
    $\begingroup$ I work for years in 3dsmax without this type of menu and never has a problem, this menu stop the normal modeling process and make more slow the modeling task. I think that is very easy add a option in the user settings panel to turn off this delete menu. $\endgroup$ Commented Nov 16, 2018 at 17:23
  • $\begingroup$ @DuarteFarrajotaRamos there was no argument to omit the options, but to make the Del/X button behave based on context. It's easy to invoke all the options when need to and it's faster when it behaves how you expect without extra menu to confirm. $\endgroup$ Commented Nov 16, 2018 at 17:26
1
$\begingroup$

as I understand the point of where the need is coming I would like to provide an other solution. but just to be clear I do think that the default behavior of Blender is more consistent.

bl_info = {
    "name": "Regular delete ",
    "author": "Virgil Sisoe",
    "version": (1, 0),
    "blender": (2, 80, 0),
    "location": "",
    "description": "delete in context",
    "warning": "",
    "wiki_url": "",
    "category": "",
}
import bpy


def main(context):
    for ob in context.scene.objects:
        print(ob)


class SimpleOperator(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "object.delete_regular"
    bl_label = "Simple Object Operator"

    @classmethod
    def poll(cls, context):
        return context.active_object is not None

    def execute(self, context):
        """Check which mode the active object is and then delete.

        selection_mode is a list of the type of selection you are currently in 
        # 0 = VERT
        # 1 = EDGE
        # 3 = FACE
        """
        main(context)
        if bpy.context.object.mode == 'OBJECT':
            bpy.ops.object.delete(use_global=False)
        elif bpy.context.object.mode == 'EDIT': 
            selection_mode = [i for i in tuple(bpy.context.scene.tool_settings.mesh_select_mode)]
            if selection_mode[0] == True: 
                bpy.ops.mesh.delete(type='VERT')
            elif selection_mode[1] == True:
                bpy.ops.mesh.delete(type='EDGE')
            elif selection_mode[2] == True:
                bpy.ops.mesh.delete(type='FACE')
        return {'FINISHED'}


def register():
    bpy.utils.register_class(SimpleOperator)


def unregister():
    bpy.utils.unregister_class(SimpleOperator)


if __name__ == "__main__":
    register()

    # test call
    bpy.ops.object.delete_regular()

by no mean I am a Python expert so if some one would like to add something please be my guest. The scripts DELETES stuff not DISSOLVE as I understood that was the need.

To use this script as Shortcut you need to install it like a regular Addon

enter image description here

once you activated and Save user settings go into the Input tab to add two new entry, one in the 3d View Object Mode and one in the 3D View Mesh (the script does delete in object mode without confirmation, like 3Ds Max, but if that is not what you want just don't add the shortcut there)

enter image description here

once inside just click the + Add new tab and write the name of the operator in this case object.delete_regular and create your own custom shortcut.

enter image description here

https://i.sstatic.net/XQrvw.jpg

$\endgroup$
1
$\begingroup$

I can't Vote on anything but the script by Virgil Sisoe still works in Blender 3.1. To be able to activate it as an add-on, I had to save it as _int_.py that I put in a folder named "Simple Delete" like a typical addon But then it worked just fine.

Also setting it to delete is non-destructive. The same context menu is still available by pressing "X". Further proving it is redundant. This should be the default behavior in Blender. The extra options are nice but could exist just fine in the right-click menu.

I'd package this as a free add-on, but it is not my code, and I am not a thief. Thanks to Virgil Sisoe for this bit.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .