Discussions for "Better snapping and precision modeling"

This option (Cursor Normal) on my CAD Node moves the cursor to the point on the line normal to the other selected point, you could call it “Cursor Perpendicular” also:

Selection order is Point 1 on line, Point 2 on line (in any order), Other point - the “Line” points need not be on an edge BTW, so this is also a valid method:


The three points need not lie on a Global Plane either, like X-Y, or X-Z planes.

Cheers, Tick-Tock :cocktail:

PS. Anybody got any other requests for Cursor Location?


This is also a valid method:


1 Like

the work you are doing is commendable and interesting, but what I wonder, observing that you are building systems through nodes, how can your work be useful? are these just case studies?

The discussion started by @mano-wii i belive refers to possible implementations on an improved snapping, directly in the core blender code, through a coherent UI design, through official improvements of existing blender functionalities …

so… wouldn’t it be better to take a look at the blender source code and see how to implement these features directly on the source code by developing good patches?


Absolutely! But to start with I am just exploring the possibilities and maths involved to see what is possible and how to do it. Next will come mods to Blender code, but I may leave that to others as I have no experience here…

Cheers, Clock.

1 Like

now everything makes more sense.
thank you for clarifying my doubts.
good research. :dizzy:

1 Like

Thank you! :smile:

So three more options for the Cursor:

Cursor from selected Vertex by Delta XYZ:


Cursor to absolute XYZ:


Cursor from selected Vertex by Delta@Angle (0.5 @ 32 Degrees):

Does any brainy dev :brain: want to work these into Blender Core Code and UI? Or are there any other options for these?

Cheers, Clock. :grin:


Which language is the Blender Core Code written in? Daft question signifying a complete lack of knowledge here on my behalf.

1 Like

C,C++ and Python

Eeeeek! I have never programmed with either and only been working with Python for maybe 2 years, so does someone else want to run with this to work it into Blender core, this is beyond my skills.

1 Like

This is by far the most important and most missed snapping feature for me, especially in Object Mode.

Better support for snapping to curve objects would also me nice, namely proper snapping to bezier points/handles on curve objects with constructive modifiers, like mirror or arrays. (This has been implemented recently but due to current limitations doesn’t really work as well as it could)

One neat little request that I have dreamed of would be to allow/restrict snapping on a per object basis, perhaps controlled from the outliner restrictions columns. This would allow disabling snapping to particular objects where it is undesirable, like very high poly meshes, helper objects, objects with certain modifiers, among others.



@mano-wii I have just read the official Blender tweet, you and Jesteking are part of the official development team, this is great news for what I’ve always hoped for …
I also saw that jesterking is of the old guard when blender 2.5 was developed and is also a rhino developer … these are fantastic news!
I can’t wait to see the first results in action! :heart_eyes:


First and foremost congrats on the grant!

Mechanical Blender is indeed the most advanced and - what’s equally important - the most userfriendly in terms of snapping.

Do you or would you use it as any kind of reference in your work?
Holding on a vertex or edge in object mode(!) and moving it by snapping that to another object’s component is something extremely useful.
I know it’s 2D - but in Illustrator if you edit on object level but want to snap with a bezier point of it, you have to hold Ctrl and then you have access to grabbing a point and moving the whole object with it.

Something similar in Blender would be from the heavens.


Hi, you should know that the snapping options I put on my experimental CAD node will work in object mode with a few minor changes, as the selected vertices persist when you switch modes. I am away in Sweden this week, but may be able to show how that works on my mate’s machine, or I can do that when I get back.

I’ll say it again, this node was only to prove possibilities and work out methods, if anyone wants to try writing a patch for Blender, let me know and I will share the code and techniques.

Cheers, Clock.


@mano-wii does this mean you can write these options into Blender now? :grin:


what about snapping by percentage ,would that be possible!


Snap Targets and Mouse Motion

The snap target is picked by moving the cursor over it, so based on absolute mouse position. When moving without snapping (or when using increment snapping) it uses relative mouse movement. This means that depending if you intend to snap or not, you need to do a different kind of mouse motion. Things also flicker a lot between the two states while moving the mouse as it finds a snap target or not.

It’s something that trips me up every time I use the snapping tools, but that I haven’t seen talked about. So I’m wondering if there is a discussion about this somewhere, or if others are just not encountering this problem?

Would it make sense to use the pivot point (or base point) position to pick the snap target instead of the mouse position? It would effectively make snapping use relative mouse motion too. I can imagine some downsides. Maybe it’s inconvenient when the base point or pivot is off screen or far away, or it might be less efficient than moving the mouse cursor over the target in some cases.


Only situation where I have found slightly inconsistent or “flickering” snapping behavior is after the mouse wraps around when Continuous Grab is enabled.

Once the cursor goes over the viewport border, if one tries to do geometry snapping like vertex or edge to any visible object, after the mouse wrapped around a 3D View, Blender can no longer detect hovered geometry, even if the transformed object is still in view. “Wrapping it back” restores normal behavior.



Would this project include a Python API component like the experimental snap module or is that not being considered for this project?

Also… congradulations @mano-wii ! :slight_smile:

Too early to say, but probably :slight_smile:

1 Like

I think it will be difficult to have a consensus on this because moving an object off the screen can be useful even with the snap option enabled.

It would be a simple change that can actually help new users.
But old users are already accustomed to the current behavior so they may bother a bit with this change.
So I think it would be difficult to reach a consensus.

Good idea, the middle point could be configurable and snap to percentages of an edge.
I’ll consider this idea :wink:


It would be nice to see pictures and more details of your proposal :wink:

1 Like