Blender addon that simplifies access to useful operators and adds missing functionality

Overview

image

Quick Menu is a Blender addon that simplifies common tasks

Compatible with Blender 3.x.x

Install through Edit -> Preferences -> Addons -> Install... -> Select quick_menu.py.

Press D to open the menu.

Every operator is described in the manual.

Join our DISCORD for discussion.

The addon was initially made only with personal use in mind and therefore is not customizable. However, it adds some new operators that some people may find useful. It also simplifies access to some operators and settings. Blender is already very hotkey-friendly, but:

  1. Some useful operators are hard to reach, some take several mouse clicks. Some things you can't even fix with editing the keymap (snapping options for example). Quick Menu is optimized for accelerator keys, meaning all of the operators are accessible with just your left hand. All of them follow the pattern d + {key near d} + {key near d} . I took into consideration how easy it is to press them as well, combinations that are used frequently have some rolling finger motion in them.

  2. Blender doesn't really offer anything that would automate repeating tasks, like macros or whatever. Some of the operators do multiple things at once if it makes sense. Which effectively adds new functionality to Blender.

  3. Blender's defaults don't always make sense for my workflow, and a lot of the operators could be context-dependent. A lot of operators address this by calling existing Blender operators with proper settings. For example, I believe that "Shade Smooth", "Origin To (whatever)", operators that add modifiers and booleans should work regardless of what mode you're in. I believe that Separate/Join should be one button. The same is true for Region To Loop/Loop To Region, Add Mirror/Apply Mirror, etc. I believe that some operators (like mirror) should take into consideration your camera orientation when initially setting the axis. The list goes on. The addon is very opinionated.

This addon is the result of over a year of brainstorming on the effectiveness of modeling/texturing workflow and testing tools on small projects. I'm trying to keep it lightweight. If something seems missing from it, there's a high chance that the reason for it is that Blender already has built-in tools that allow to do it easily, or the use-case for it is very rare.

This addon is designed to be as unintrusive and minimalistic as possible. All of the operators are in just one menu. There's no UI other than that, which makes it easy to use. It also only takes one hotkey. It can be changed in the addon's preferences, but I recommend D.

This addon is a single-file addon for now, and it will probably stay that way because it simplifies development (reloading addons consisting of multiple files is not as straightforward as just pressing Alt+R, Alt+P in Blender's text editor).

Some tools

Here are some examples of tools that Quick Menu has. Keep in mind that this is not a complete list of operators, but rather a small showcase of what kind of things the addon is capable of. Only some modeling tools are listed, but the addon also has some operators for UVs, textures, export, etc. Check out the manual for the complete list.

Convert To Curve d41

Allows to create tubes out of selected edges with either round or square cross-section. Can be used without leaving edit mode. Usage: d+4+1

curve.mp4

Add geometry d34

Creates a circle or a square aligned to the selected face. Usage: d+3+5. Press shift to make a square

addgeometry.mp4

Loop/Region d23

Like some other Quick Menu operators (for example Separate/Join) it unifies multiple existing Blender operators into one. So instead of having to remember two separate hotkeys for Select Loop Inner Region and Select Boundary Loop, you can now just press d+2+3, and the addon will decide what to do depending on what mode you're in

loopregion.mp4

Bbox around selection d33

Creates a bounding box around selected elements in edit mode. Can also create a bounding plane/line, depending on the selection. Usage: d+3+3

bbox.mp4

Booleans de1, de2, de3

Context-dependent boolean, works in both object and edit mode. This operator will pre-scale selection by a small margin before applying boolean to avoid problems with coplanar faces. Works well with Blender's existing Add Cube tool (dd1). Usage: d+e+1 for union, d+e+2 for difference, d+e+3 for intersection

boolean.mp4

Connect d3c

Connects selected isolated islands with an edge. Will make a face if more than 2 islands are selected. Usage: d+3+c

connect.mp4

Flatten d3f

A faster way to flatten compared to s+{axis}+0+enter. This operator is view-dependent. Usage: d+3+f

flatten.mp4

Randomize d3r

Randomize operator that works in both object and edit mode (on separate islands). Usage: d+3+r

randomize.mp4

Spin d32

Effectively presets for the existing spin operator. Usage: d+3+2

spin.mp4

Plane Intersect Island deq

A view-dependent operator that cuts an island with a plane that goes through the center of the active element and is oriented towards the viewport camera (Snapped to 90 degrees by default). Convenient for cutting through complex meshes with ngons. Usage: d+e+q

planeintersectisland.mp4

Projection Intersect der

Projects selected elements to unselected. Just like the previous one, this operator is view-dependent. Flattens selection before projecting. Usage: d+e+r

projectionintersect.mp4

Knife Intersect dee

Similar to Blender's Intersect (Knife) (Ctrl+F+K), but removes the original geometry. Usage: d+e+e

knifeintersect.mp4
Comments
  • Array count issue

    Array count issue

    Issue: addon for arrays work incorrect. When you press counts more, it adds new array modifier with more counts in addition to previous one. When you press less counts, it add new array modifier with less counts in addition to previous one. 1 - 2 - 3 - 4 - 3 - 2 - 1 - 1, and in total: 7 array modifiers.

    Version: Blender 3.3.0 LTS (Steam version)

    How to recreate:

    1. In EDIT mode select mesh or part.
    2. To see the bug: open modifiers property menu.
    3. D-4-A to set array.
    4. in pop-up menu (same as F9) set count 2 or more by pressing arrows. 4.1) I check init.py, and there count number is 3 by default but in blender it is 1 (so, maybe, v3.3.0 is the reason)
    5. pressing opposite arrows to decrease numbers.

    Result: new array modifier is adding to modifiers' stack and affect on mesh.

    https://user-images.githubusercontent.com/60898828/189495750-d34d7c14-9e1e-4511-b61e-933a20b9dbeb.mp4

    opened by DesLandysh 0
  • I'm getting an error on create curves feature

    I'm getting an error on create curves feature

    When I try to create a curve I get an error.

    Python: Traceback (most recent call last): File "/Users/user/Library/Application Support/Blender/3.1/scripts/addons/quickmenu-main/init.py", line 789, in invoke return self.execute(context) File "/Users/user/Library/Application Support/Blender/3.1/scripts/addons/quickmenu-main/init.py", line 810, in execute self.resolution = max(1, (calculate_number_of_vertices_by_radius(self.depth, subsurf) / 2 - 3)) File "/Applications/Blender.app/Contents/Resources/3.1/scripts/modules/bpy_types.py", line 778, in setattr return setattr(properties, attr, value) TypeError: bpy_struct: item.attr = val: QM_OT_convert.resolution expected an int type, not float

    location: :-1

    opened by Nestlium 0
  • D-3-4 scale down (mouse to the left) throws error

    D-3-4 scale down (mouse to the left) throws error

    Blender 3.0.1

    Error: Python: Traceback (most recent call last):
      File "D:\Blender Assets\addons\quickmenu-main\__init__.py", line 645, in modal
        return modal_run(self, context, event, True)
      File "D:\Blender Assets\addons\quickmenu-main\__init__.py", line 184, in modal_run
        if hasattr(operator, 'on_modal_run'): operator.on_modal_run(context, event)
      File "D:\Blender Assets\addons\quickmenu-main\__init__.py", line 624, in on_modal_run
        self.execute(context)
      File "D:\Blender Assets\addons\quickmenu-main\__init__.py", line 661, in execute
        self.add_geometry()
      File "D:\Blender Assets\addons\quickmenu-main\__init__.py", line 656, in add_geometry
        self.vertices = calculate_number_of_vertices_by_radius(self.radius)
      File "D:\Blender Assets\addons\quickmenu-main\__init__.py", line 104, in calculate_number_of_vertices_by_radius
        return max(6, grid_snap(2, math.log(1 + 0.03 + 0.4 * radius) * RADIUS_TO_VERTICES))
    ValueError: math domain error
    
    opened by iperson 0
  • Error handling

    Error handling

    Having trouble reproducing this one. I think it was D-4-3, but could not repeat.

    location: <unknown location>:-1
    Error: Python: Traceback (most recent call last):
      File "D:\Blender Assets\addons\quickmenu-main\__init__.py", line 881, in execute
        execute_in_mode('OBJECT', fn)
      File "D:\Blender Assets\addons\quickmenu-main\__init__.py", line 92, in execute_in_mode
        result = callback()
      File "D:\Blender Assets\addons\quickmenu-main\__init__.py", line 880, in fn
        bpy.ops.object.convert(target='MESH')
      File "C:\Program Files\Blender Foundation\Blender 3.0\3.0\scripts\modules\bpy\ops.py", line 132, in __call__
        ret = _op_call(self.idname_py(), None, kw)
    RuntimeError: Operator bpy.ops.object.convert.poll() failed, context is incorrect
    
    opened by iperson 0
  • Addon does not show up after install

    Addon does not show up after install

    I'm on an M1 Max Mac running the Blender 3.1 beta on MacOS Monterrey. I downloaded the latest version and Installed it as per the documentation. The addon does not show up after restarting blender, nor in the Addon list in the preferences.

    I've tried selecting a cube, pressing D 4 5 ( and other combinations ) but no menu shows up.

    opened by SkelegonDK 3
Releases(v2.4.3)
Owner
passivestar
passivestar
Irrigation Component V4 providing support for a custom card

Irrigation Component V4 This release sees the delivery of a custom card https://github.com/petergridge/irrigation_card to render the program options s

12 Oct 28, 2022
データサイエンスチャレンジ2021 サンプル

データサイエンスチャレンジ2021 サンプル 概要 線形補間と Catmull–Rom Spline 補間のサンプル Python スクリプトです。 データサイエンスチャレンジ2021の出題意図としましては、訓練用データ(train.csv)から機械学習モデルを作成して、そのモデルに推論させてモーシ

Bandai Namco Research Inc. 5 Oct 17, 2022
Python MQTT v5.0 async client

gmqtt: Python async MQTT client implementation. Installation The latest stable version is available in the Python Package Index (PyPi) and can be inst

Gurtam 306 Jan 03, 2023
App to decide weekly winners in H2H 1 Win (9 Cat)

Fantasy Weekly Winner for H2H 1 Win (9 Cat) Yahoo Fantasy API Read

Sai Atmakuri 1 Dec 31, 2021
🛠️ Learn a technology X by doing a project - Search engine of project-based learning

Learn X by doing Y 🛠️ Learn a technology X by doing a project Y Website You can contribute by adding projects to the CSV file.

William 408 Dec 20, 2022
Q-Tracker is originally a High School Project created by Admins of Cirus Lab.

Q-Tracker is originally a High School Project created by Admins of Cirus Lab. It's completly coded in python along with mysql.(Tkinter For GUI)

Adithya Krishnan 2 Nov 14, 2022
My Solutions to 120 commonly asked data science interview questions.

Data_Science_Interview_Questions Introduction 👋 Here are the answers to 120 Data Science Interview Questions The above answer some is modified based

Milaan Parmar / Милан пармар / _米兰 帕尔马 181 Dec 31, 2022
Implementation of the Angular Spectrum method in Python to simulate Diffraction Patterns

Diffraction Simulations - Angular Spectrum Method Implementation of the Angular Spectrum method in Python to simulate Diffraction Patterns with arbitr

Rafael de la Fuente 276 Dec 30, 2022
A Snakemake workflow for standardised sc/snRNAseq analysis

single_snake_sequencing - sc/snRNAseq Snakemake Workflow A Snakemake workflow for standardised sc/snRNAseq analysis. Every single cell analysis is sli

IMS Bio2Core Facility 1 Nov 02, 2021
Aoc 2021 kedro playground with python

AOC 2021 Overview This is your new Kedro project, which was generated using Kedro 0.17.5. Take a look at the Kedro documentation to get started. Rules

1 Dec 20, 2021
a simple thing that i made for fun :trollface:

we-do-a-little-trolling about a simple thing that i made for fun. requirements and instructions first you need to install obs , then start the virtual

ranon rat 6 Jul 15, 2022
Small Arrow Vortex clipboard processing library

Description Small Arrow Vortex clipboard processing library. Install You can install this library from PyPI with pip install av-clipboard-lib or compi

Delta Epsilon 1 Dec 18, 2021
This is the core of the program which takes 5k SYMBOLS and looks back N years to pull in the daily OHLC data of those symbols and saves them to disc.

This is the core of the program which takes 5k SYMBOLS and looks back N years to pull in the daily OHLC data of those symbols and saves them to disc.

Daniel Caine 1 Jan 31, 2022
Repository to store sample python programs for python learning

py Repository to store sample Python programs. This repository is meant for beginners to assist them in their learning of Python. The repository cover

codebasics 5.8k Dec 30, 2022
A small project of two newbies, who wanted to learn something about Python language programming, via fun way.

HaveFun A small project of two newbies, who wanted to learn something about Python language programming, via fun way. What's this project about? Well.

Patryk Sobczak 2 Nov 24, 2021
Spooky Castle Project

Spooky Castle Project Here is a repository where I have placed a few workflow scripts that could be used to automate the blender to godot sprite pipel

3 Jan 17, 2022
Powering up Apache JMeter with Streamlit and opening the door for machine learning.

Powering up Apache JMeter with Streamlit Overview Apache JMeter is an open source load testing tool written in 100% pure Java. JMeter supports umpteen

NaveenKumar Namachivayam ⚡ 16 Aug 24, 2022
Meliodas Official 1.4 BombSquad Server Scripts

Noxious-Official-1.4-BombSquad-Server-Scripts Scripts Are Provided By Sparxtn Somewhat Edited By Me Scripts are Working Fine Just Download & Use It Be

Meliodas♡ 2 Oct 16, 2022
Free version of Okuru selfbot, okuru.xyz

Indigo Selfbot Free OpenSource selfbot, Premium version can be found at https://okuru.xyz (5$.) Usage python[3] main.py Installation To install you ca

Dimitri Demarkus 31 Aug 07, 2022
Simple tools for the Horse Reality webgame

Realtools (Web Tools for Horse Reality) These tools were made on request from a close friend of mine who plays this game. A live instance can be found

shay 0 Sep 06, 2022