Discussions for "Better snapping and precision modeling"

You can achieve the same transform in stock Blender by adding two snap points to the vert you want it to be closer to. It takes a bit of thinking when you want to move it by a percentage that isn’t easily expressed as a fraction, but it’s serviceable in most situations.

I couldn’t get this to work, but I have Snap Utilities, which I’m very happy with. Are you putting the Modal Map changes under the Press (Cursor) or Release (Transform)? How are your other snap settings set?

Modal maps aren’t unique to the keymap entry; add 'em wherever. In the video, I’ve set my pivot to Cursor, toggled snapping on, set the snap element to Vertex, and the snap target to Center.

What is the proposed behaviour for the case where I have a plane and I am cutting with the knife tool and I am using grid snapping and the plane does not intersect with the grid exactly? Would the vertex be cut so that it superimposes the grid based on view or would the newly created vertex snap to the exact grid point?

1 Like

@Gooney - Welcome to the forum!

I added a new “Set Angle” option whereby you select three vertices, the last one (active vertex) being the centre and the other two being the “legs”:

That then sets the node’s working angle to the angle between these three points, this works in 3D, taking into account all three axes of the vertices. It’s done with Numpy Arrays again so should translate easily to vanilla Blender.

If anyone wants to look at my crap :poop: code, or test the node, let me know and I will upload it to my GitHub, Caveat Emptor of course, this is experimental code!

I have also modified the code so it takes into account the actual position of an object if it is parented to another and moved from its original origin.

I am still working on my spec for CAD functions, this could take some time to get right.

Cheers, Clock. :grin:

3 Likes

On the matter of precision CAD modelling, I have added test function to the node:

The section at the bottom allows me to join free vertices, add a command key-in and execute the command. The shape above was drawn very quickly using this facility.

I started with a vertex placed randomly, then used “Move to Absolute” to move it to a known XYZ coordinate. I then extruded it using the commands, like di=1,35 (distance at angle), dx=0.5,0,0.5 (delta distance), etc until the shape was formed. Then I closed the chain from the first to last vertex using the “V Join” option.

From there onwards its just a case of selecting the edge loop (SHIFT+ALT+Select), then key F to make the chain a face, then extrude in Y axis (E Y 0.2). This method of construction was fast, logical, precise and easy. It will be even easier once these commands can be executed as key-ins in vanilla Blender. I will need to find letters, preferably single ones, that are not already in use, like perhaps; e.g. a=0,0,0 for absolute, e.g. d=0.5,0.0.6 for deltas and e.g. i=0.5,30 for distance at angle, maybe even leave out unrequired items, so; e.g. d=,,0.5 would mean delta 0.5 in Z axis.

I am not 100% sure what letters are not currently being used when you extrude a vertex, maybe the = sign is not required, so a 1,0,2 would work even better. To work in Local units, as opposed to Global, we could adopt dd 0.5,,0.5 to mean delta 0.5 in local X, 0 in local Y and 0.5 in local Z, for example.

Any thoughts on this please?

Cheers, Clock. :cocktail:

EDIT:

I was able to make this part quickly, easily and precisely using the CAD tools, I made the outside shape first, then extruded this, then beveled the corners. I use my cursor tools to place the cursor for adding the holes. Then used the “Join 2 Vertices” to add the “cut” edges to make the three faces on the back:

I have left off the front faces to show the internal detail. This view shows how the “Cursor Normal” tool was used to place the cursor at the correct centre for the lower hole:

19

The two yellow vertices are used to define the “edge” and the white one was used to make the normal offset.

I have added a “Cursor Last” option to put the cursor back to its last known position before it was moved by any of the commands on the node. Before (placed Midpoint):

56

After (its original position before the “Mid Point”):

29

This should definitely be in vanilla Blender, how many times do we accidentally move the cursor, having spent time putting it where we want it? I implemented this with a dictionary, so I can store the cursor location for all scenes, only the last value at the moment, but this can easily be changed to say the last ten positions for example.

Cheers, Clock. :cocktail:

2 Likes

I hope the measure tool gets some love…

along those lines:

7 Likes

Have you considered submitting your suggestion on https://blender.community/c/rightclickselect/ ?

@TheRedWaxPolice your video does not work for me, is there somewhere else I might find it please?

Reviewing my old proposals in RightClickSelect, I found this


that I think can partially fit into this project.

It consists in improving the 3D cursor so that apart from position i the orientation also provides information about a length, an angle and a plane.

Clicking and dragging can generate a line, and splitting a line in half can generate an angle, which defines a plane.
With the current Active Measurement Tool, this can be done exactly, but only provides information that can be used to transform the objects.

As I explain in the RightClickSelect proposal, apart from aligning and distributing, it has other applications.

I hope it can be useful.

5 Likes

My dream would be to have a visual preview that in evanescence follows the radius of the mouse cursor and shows the snapping points, the axes, the midpoints, the tangent points, the perspective points, the measures etc … in some similar to how Moi 3D does …
It would save the need to have a lot of menu changes, and at most a filter would be needed. :orange_heart:

3 Likes

Which web browser? Weird.
Anyway, I uploaded to youtube, which killed the quality a little bit… lol


Or download it if it’s hard to see in this video…

Not sure it’s necessary…

2 Likes

Safari on MacOS - thanks for the YouTube - that works fine.

1 Like

Definitely an idea worth exploring.

At the moment you can look at the 3D cursor as an empty that can be manipulated while editing other objects, without interfering with your selection(s). Building it up into something more complex (even if that complexity is really just a 1-7 vert pseudo-mesh) that can feed more data into gizmos and operators could give us a framework for implementing some of @clockmender’s ideas in a way that fits into 2.8’s active tool system.

The same idea could be applied to the suggestion of implementing object and collection pivots. Instead of having the singular scene cursor, we’d have scene, collection, and object cursors encapsulating various forms of transform data that could be used for aligning and manipulating selections. Access to these cursors could be limited to the cursor active tool, or via right click.

4 Likes

@mano-wii and all others.

I offer my proposal for CAD Functions for destruction by my peers!

You can find my proposal here, as I cannot upload PDFs in this forum.

Let me know what you think, however bad that is… If you want more detail, let me know.

Cheers, Clock. :cocktail:

6 Likes

Please, just make snapping easy to use!

5 Likes

Vertices can slide over the subdivision surface of the current polygon without adding a Subdivision modifier
Can also slide on a polygonal plane
As a complement to the vertex slide tool feature
Because sometimes moving the vertices does not want to change the shape of the polygon

OK, so I looked again at my CAD Functions node and cut it down from 807 lines of code to 546, by making it more efficient and redesigning the functions, etc. I drew this part in under 5 minutes using my node:

Please repeat using traditional Blender techniques and post your timings. If anyone would like to try this node, let me know and I will upload the new version somewhere. You will only need Blender 2.8 and Animation Nodes…

No comments on my proposal yet, I must have stunned everyone into silence. :rofl::joy:

Cheers, Clock. :cocktail:

6 Likes

no one comments … but not because there is no interest, but because I think it is a bit difficult to have to know how to use the animation nodes and then hang out with your node-addon :grin:

6 Likes