autoConstraints: Effortless 2D Constraints for 3D Tools

What is autoConstraints?

autoConstraints is a Blender add-on designed to make working in 3D easier, faster and more intuitive.

It reduces the guesswork of working in the 3D viewport by automatically applying axis-constraints to a variety of 3D tools.

  • No need to manually apply constraints to every operation
  • No switching in and out of orthographic views
  • No clicking small parts of gizmos

cube_16_9_small

Get the add-on

Constraints

Tools will be constrained to the most appropriate plane based on the viewing angle, or you can specify one.
Constraints can be still be overridden or cancelled interactively using default Blender methods, i.e. pressing axis keys, pressing ‘C’, or middle mouse dragging.

Easy to Learn

One toggle is all you need to use autoConstraints.
There are no complicated hotkeys or menus to learn.
An options dropdown gives you full control over constraints in a minimal, easy-to-understand interface.

Customizable UI

Choose between a compact or expanded toolbar and whether it appears in the viewport header, the tool header, or not at all. The add-on sidebar is optional


Choose which icon style to use between grayscale planes, color planes, or original axis icons

Features

Supported Tools

  • Move/Tweak
  • Rotate
  • Scale
  • Duplicate
  • Extrude

Supported Modes

  • Object
  • Mesh Edit
  • Curve Edit
  • Grease Pencil Edit
  • Lattice Edit
  • Metaball Edit
  • Armature Edit
  • Pose

Supported Transform Orientations:

  • Global
  • Local
  • Normal
  • View
  • Parent
  • Custom

Compatibility

Compatible with Blender 3.3, 3.6, 4.0, 4.1
Other versions will likely work but are not tested as part of development.

Changelog

1.3.0

  • Added support for “Normal” orientation for edit modes, handy for many things especially when used with axis overrides.
  • Fixed dropdown being disabled in toolbar when in viewport header

1.2.2

  • Added option to disable automatic keymap assignment (each operator will have to be assigned manually)
  • Added option for a sidebar with a button for every operator to make remapping a bit easier

1.2.1

  • Fixed “Shift+RightMouse-Drag” Cursor shortcut not working
  • Added catch for rare toolbar hotkey bug

1.2.0

  • New look! Added custom icons for autoConstraints toggle and planes to better tell them apart
  • Added preferences to use colored variants of plane icons or use the original icons
  • Changing autoConstraint options will no longer add undo steps (they will still be restored per .blend file though)
  • Context specific naming for extrude vert/edge option
  • Re-naming custom orientation used for multiple objects in local orientation to “Last Multi-Local”
  • Added support for Grease Pencil extrude

1.1.0

  • Added support for Edit Armature and Pose modes
    • Move Rotate Scale supported for both modes
    • Extrude and Duplicate supported in edit mode
    • Bone transforms supported (‘Normal’ in edit mode, ‘Local’ in pose mode)
  • Option to toggle Sidebar Panel in add-on preferences, off by default. Avoids unnecessary clutter
5 Likes

This looks very handy!

1 Like

Thanks Matt :slight_smile: Its been something I’ve wanted to make ever since I started switching to Blender 5 years ago!

Coming from other 3D software I missed the accuracy of gizmos but was falling in love with Blender’s gestural hotkey movement. This is my take on the best of both worlds

Update: I’ve released a free version of the add-on!

Before I got carried away and spent months adding features, tweaking options and polishing… I had planned to release this as a free add-on.

The free version contains all that was originally planned when development started (with the added stability of going through the process of making the paid version):

  • Move/tweak and rotate objects with automatic constraints
  • Constraints are based on the most appropriate plane based on the viewing angle
  • Constraints can be overridden/cancelled with the default constraint methods
  • Constraints can be toggled with an icon in the viewport tool header

Thanks for the interest so far :heart:

4 Likes

Any plans to support Armature in the future?

Its literally the next thing I have planned! :slight_smile:
More specifically:

  • Armature edit mode:
    • Move
    • Rotate
    • Duplicate
    • Extrude
  • Pose mode:
    • Move
    • Rotate

Am I forgetting a tool that you’d want to constraint in those contexts? I have done next to zero rigging or animation in Blender :sweat_smile:
Once I’ve implemented I think they are the last contexts that this add-on makes sense for (that I can think of anyway)

Actually I use kekit’s constraints but it misses constraint option for graph editor, so maybe adding this option to your addon makes sense…

Graph editor is a great idea, thanks!

1 Like

Scale to for both mode if possible, and i think that’s everything :grin:

ahh yes of course!

btw i can already constraints Move and Rotate on Armature for both mode.
using PME i could bring the constraints options of the tool header on it :smile:

1 Like

I’m really glad you got them to work! I think scale should work too? They’re all the same operators between modes which helps a lot!
I should have time in the next few days to finish up the first update with full hotkey support and duplicate/extrude :slight_smile:

1 Like

yup scale works too

Update version 1.1

What’s New?

  • Added support for Edit Armature and Pose modes (thanks @mcjamall07!)
    • Move, Rotate, Scale supported for both modes
    • Extrude and Duplicate supported in edit mode
    • Bone transforms supported (‘Normal’ in edit mode, ‘Local’ in pose mode)
  • Option to toggle sidebar panel in add-on preferences, off by default. Avoids unnecessary clutter

Thanks for all the input here :slight_smile:

1 Like

I’ve been playing around with custom icons for the next release.
image
Here they are in context, what do you guys think?
image

2 Likes

looks great and what do you think of adding colored axis for these 3 icons?
i often forgot which one constraint XZ or YZ :sweat_smile:

1 Like

I’ll agree it is awkward telling those planes apart!
Colored icons might clash with the rest of Blender’s design and I want my add-ons to feel as native as possible…

I’ve come up with the following icons to try and help distinguish between planes, what do you think? (It’s harder than I expected making tiny icons like this! :sweat_smile:)


(AUTO, XY-Top/Bottom, XZ-Front/Back, YZ-Left/Right)

Edit: after testing at multiple DPIs I’ve landed on this look for now

I’m also updating the “compact” toolbar to show the icon on the dropdown like snapping or soft select
image

1 Like

That looks great!

1 Like

Progress has been a little slower than I’d like this month… But I do have a release candidate for 1.2 after some pretty big refactors. Headline features are:

  1. New Icons, now with options after user feedback
    image
  2. Changing options in the UI will no longer add to undo steps. Options are still be saved and loaded with .blend files
  3. Added support for grease pencil extrude tool
  4. UI now uses context specific naming for “extrude vert/edge” for curves and armatures.
  5. Multiple small QOL updates and minor bugfixes

Before publishing I’ve still got some testing to do and I’m going to update all the marketing materials/videos because of the new icons.

Let me know if you’d like to test this new release or have any feature requests you’d like to sneak in! :slight_smile:

3 Likes

Thank you for the icon options :slight_smile:

i’m not sure if it’s a bug on Poly spline types for curve, on 00:39 - 00:50 i can’t constraint when moving a single point but scaling and rotating it can be constrained.
so i’ll need minimum of 2 point for the constraint to be active when moving it.