autoConstraints: Effortless 2D Constraints for 3D Tools

Hmm that’s interesting… Thanks for including the video, especially the key/operator info!
Unfortunately I can’t seem to replicate this my end, would you mind sending me a copy of that file so I can take a look?

This looks great. Would this add on work axis contraints on tools which use face normals?
For example, the shrink/fatten tool would be so much more useful if i could constrain transformations to a sinlg plane for those selected faces whose normals are not parallel to that plane.

If anyone is considering this addon. I just bought it and
It is totally worth it !!

1 Like

Thanks!
I was dreading the day someone would ask about normal orientation :sweat_smile:

The good news is what you’re asking for is currently possible with the add-on:

  1. Change into ‘Normal’ Orientation
  2. Lock autoConstraints to Z axis. The move tool will now act as you’ve described (if I understood correctly):slight_smile:

What I’d love to get working is automatic 2D constraints in ‘Normal’ orientation…
There doesn’t seem to be a way to access the gizmo/matrix Blender calculates so I’m attempting to reverse engineer it. I can tell you it is not as straight forward as I thought and there are some strange edge cases! I’m hoping I can get this implemented for 1.3 (I’ve shelved it for 1.2)

Hope that helps!

1 Like

Thanks for the reply.
Ive not tried it yet, but i dont think this would constrain the shrink/fatten tool?

Ill give an example of what i mean. despite having over 1000 hours in blender, most of that has been “mess about - find out” XD, so im still effectively a bit of a noob.

It could be theres a built in way to easily do what i want to do, but i havent found it, and searching the internet has lead me to believe that there is a way, but its by no means simple, nor quick.

In this example, i wanted to be able to “grow” certain aspects of the mesh along the XY plane only.
Whilst scaling can be constrained to a single plane, for many shapes, this included, it “grows” the selected mesh “unevenly”.

From my searching, it seems that the shrink/fatten tool cant be constrained with the built in tools, because of something like, it uses scaling along the normals (of faces), or smth, icr XD

Of the four blender tools id love to see made available somehow, of which im not aware exist specifically for my case uses, the ability to be able to apply 2D constraints to any/all of the existing blender 3D tools, especially the shrink/fatten tool (as its the closest thing im aware of that blender has to the “grow/shrink” selector tool GIMP has) would be a god send.

Ahh Ok, sorry I didn’t understand your problem!
Have you tried using the “Push/Pull” tool? (next to “Grow/Shrink”)
image

Looks kind of like what you’re after? This tool does natively allow for axis constraints - I could quite easily support it in autoConstraints for this release if you were interested? Otherwise I’ll still add it to the backlog :wink:

Edit: I’ve been thinking and somewhat related I’d really like a “straight skeleton” 2d expand tool… like Houdini’s PolyExpand2D node. Not sure how it’d work in 3D but I think Blender devs were looking at related techniques for the New Bevel

Edit 2: I’ve been thinking more about your request I quite like the idea of anything you do to a mesh can be constrained based on previous vert positions… It’d have to be implemented in a totally different way and would probably have to be a post-process i.e. you manipulate the mesh as normal then verts “snap” to their plane after. What would you think about this @hrafnblod ?

turns out it’s hotkeys conflict :sweat_smile:
working fine now

1 Like

Update 1.2 Published!

Thanks for all the input here, you’ve all been super helpful :heart:

What’s New?

  • New look! Added new icons for toggle button and planes to help differentiate them
  • Added icon styles to preferences. Options include: grayscale (default), color (to identify axis quickly), or original axis 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
2 Likes

ive been playing around with it, and, no, not really XD
tbh, id forgotten about pull/push as it tends to act more like an inflate/deflate tool.
Whilst it can be used to give a virtually identical effect to a plane constrained shrink/fatten, messing around with this again, has lead me to realise that a constrained shrink/fatten tool didnt actually give the effect i was after, after all.

Giving the problem some more thought, i think the tool im after is possibly diverging from the scope of your tool here.
(What im after is essentially a blender version of what GIMPs grow/shrink select tool can be used to acheive. Basically, smth like blenders inset/outset that transforms selected edges/vertex/faces, instead of cuts only along existing faces, and with all the options that bevel and inset comes with, and is fully constrainable.)

I think ive come up with a (probably way overcomplicated) method for doing this manually…but, ye, i just know that if i dive into trying to script this, ill become even further distracted from my current work XD.

But genuine thanks for taking the time to consider this and replying n stuff

No worries! One final suggestion you might find useful is @Kushiro’s excellent looking “Safe Inset” addon: https://kushiro.gumroad.com/l/iruis?layout=profile its an inset but it seems to handle collisions very neatly :slight_smile: all the best with your troubles!

1 Like

Minor update

1.2.1

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

I’m adding options to do with keymap assignment, I’ll likely expand this in future to have some more granular control.

For this first version I’m including an option to disable the automatic keymap. Disabling means you’ll have to manually assign keymaps for all operators…
To make this easier I’ve included an option to have a sidebar panel with a button for each operator :slight_smile:

image image

I’ve also made sure the add-on works with 4.1 but if anyone finds any strange edge-cases please let me know!

1 Like

1.2.2 is now released :partying_face:

You can vote on upcoming features here: https://forms.gle/S1vNH4WdsuBGZA3i9
If you have time I’d love to get your vote or any feedback in general.

Thanks so much for the support so far!

1 Like

1.3 is here!

Main changes:

  • Support for “Normal” orientation in edit modes. This was no. 2 requested feature in the survey and I found a way that was infinitely less complicated than anticipated :partying_face:
  • Fixed dropdown being disabled in toolbar when in viewport header

This is the version I will finally upload to Blender market :partying_face:

I wanted a new promo with the new icons so there’s that too

If you haven’t voted on new features yet there’s a link in the previous message… It looks like dynamic grids is by far the most requested feature!

2 Likes

I forgot to mention that its now live on Blender Market!

I’m also working on a small fix this week to get autoConstraints working with Drag:Active Tool enabled for transform tools. I need to investigate why the keymaps for this weren’t picked up on my end.

In the meantime if anyone want to get this working locally here’s a short video of manually remapping a hotkey

Sorry if anyone has hit this, I’ll get it in ASAP :slight_smile:

1.3.1 released!

Adds support for 3D tools where Drag: Active Tool/Tweak


Also fixes icons not showing on reboot in rare cases