Snap Vertex

The interface, modeling, 3d editing tools, import/export, feature requests, etc

Moderators: jesterKing, stiv

Post Reply
Karim
Posts: 0
Joined: Mon Jun 30, 2003 7:15 pm

Snap Vertex

Post by Karim » Tue Aug 12, 2003 3:16 pm

I'm doing a lot of vertex-matching work, and I'm a little frustrated that to snap vertecies together, I have to:

1) RMB select vertex
2) Shift-S Cursor-to-Selection
3) RMB select other vertex
4) Shift-S Selection-to-Cursor
5) A to deselect
6)repeat with next vertex pair

Now, I know people are going to say "Script it in Python!" but I'm not a Python programmer, and I don't want to learn yet another language and a new API (I'm already using a computer 10 hours a day).

There ought to be a two-stage snap tool:

Snap-selected-to...

which would work like this:

1) Select vertex (or object) to move
2) Ctrl-Shift-S
3) Select vertex (or object) to snap to

stiv
Posts: 0
Joined: Tue Aug 05, 2003 7:58 am
Location: 45N 86W

Post by stiv » Tue Aug 12, 2003 10:31 pm

Interesting idea. I can see how it would be useful.

Normally, "Script it in python" is a good answer, but in this case I don't think it is possible (yet). If I understood Ton's SIGGRAPH lecture on The Inner Beauty Of Blender, when you go into edit mode, an editable copy with some additional data members is made of the object of interest. When you exit edit mode, the copy data replaces the original object. Right now the python interface does not provide access to the edit copy. ( someone correct me if this is wrong )

In blender, when you select a set of objects, the last one becomes the active object. If I were me, I would implement this feature like this:

1) LMB to select SnapMe vertices.
2) last LMB to select SnapTo vertex
3) SnapToSelected hotkey

dittohead
Posts: 122
Joined: Mon Oct 14, 2002 2:49 am

Post by dittohead » Wed Aug 13, 2003 1:30 am

alt+m in editmode.

merge.
dittohead

matt_e
Posts: 410
Joined: Mon Oct 14, 2002 4:32 am
Location: Sydney, Australia
Contact:

Post by matt_e » Wed Aug 13, 2003 2:26 am

If you don't want to merge, you can speed up the process slightly by pressing . (full stop) first, to make transformations pivot around the cursor. Then you can select one vertex, snap Curs->sel, then select the other point as well and scale down to zero (can help to be exact by holding Ctrl).

ton
Site Admin
Posts: 350
Joined: Wed Oct 16, 2002 12:13 am
Contact:

Post by ton » Wed Aug 13, 2003 12:52 pm

Select both vertices, press 'S' (scale), hold CTRL key and scale them back to zero!

Karim
Posts: 0
Joined: Mon Jun 30, 2003 7:15 pm

Post by Karim » Wed Aug 13, 2003 10:40 pm

All decent strategies, but they still involve moving the cursor, which from a strict UI perspective seems an extraneous step, and often will require the user to move the cursor BACK to where it started.

Of course this suggestion is the first sneaky step towards a nice set of CAD-like snaps & trims :wink: (ie: snap vertex to vertex, vertex to edge, extend edge [linear constraint], etc...)

Also, regarding "," & "."... is there a programmatic reason why they do not work within a S/G/R function? I frequently forget which mode I'm in, and have to hit ESC, then go back in.

ilac
Posts: 131
Joined: Mon Oct 14, 2002 8:24 am

Imput Cursor Position Numerically

Post by ilac » Thu Aug 14, 2003 10:30 am

Given, blender's current snap method, what would be a useful addition would be the ability to imput the position of 3D cursor numerically.

Is it there and I don't know where?

Right now, both SHIFTN and N bring up numeric info for the selected data. Maybe we could change SHIFTN to represent the 3D cursor position, please?

Goofster
Posts: 108
Joined: Mon Oct 14, 2002 12:26 pm

Post by Goofster » Thu Aug 14, 2003 3:09 pm

Bummer that there is no such thing as "last vertex". I already tried to code a " snap to last selected" but was stuck because of this....

Roel

stiv
Posts: 0
Joined: Tue Aug 05, 2003 7:58 am
Location: 45N 86W

Post by stiv » Thu Aug 14, 2003 6:10 pm

Yeah, I was playing with this too. Looks like selected verts are always returned in the order they appear in the object.

Until we have interactive selection routines, probably the easiest thing to do from a workflow perspective is

1) LMB to select vert
2) Shift-S 5 ( curs to sel )
3) Shift-LMB to select additional verts
4) Shift-S 2 ( sel to curs)

You don't need A to deselect when you repeat the process because your next LMB will only select one vert.

If you use the hotkeys this goes fairly quickly. Rather than Shift-S to pop the menu and then choosing item 5 with the mouse, do the Shift-S and then press 5 on the keyboard. Much quicker. After a couple of times, you don't even need to look at the keyboard. Blender was designed to be driven with both hands. The hotkeys are your friends. ( I was about to say that menus are for girly men but that is probably too much of an American late night TV joke, so I won't.)

As for positioning the cursor numerically so you can place an object, why not simply place the object and then position it with N?

ilac
Posts: 131
Joined: Mon Oct 14, 2002 8:24 am

Post by ilac » Thu Aug 14, 2003 8:16 pm

stiv wrote: As for positioning the cursor numerically so you can place an object, why not simply place the object and then position it with N?
Honestly, right now, i do not remember! :oops:
It was a feature I know I had needed several times when i was working on some big project and made a mental note to propose the idea at a later date. For what ever reason I could not just use n normally and directly.

hmmm: quite possibly it might not have been specifically just for snapping. example using scale to align some vertices. You can place the cursor at the correct position and then scale to the cursor. To do this at the moment you have to first move a vertex to the required position, snap cursor to that vertex, AND THEN scale to the cursor! ( :idea: a-ha! I knew snap had something to do with it!! :D )

Also for rotating about a specific point etc. Right now you have to use N on an object to place the object at a required point, snap to the object and then rotate relative to the cursor!

In conclusion (now that I do seem to have remembered! 8) ) the cursor is an important tool in blender as it is often used as a pivot point for rotating or relative-to-point for scaling. Being able to position it directly avoids the intermediary step of first numerically placing a dummy object just to use as a snap to point for the 3D cursor!


ironic that its relation to snap is specifically to avoid having the need to use snap!

stiv
Posts: 0
Joined: Tue Aug 05, 2003 7:58 am
Location: 45N 86W

Post by stiv » Fri Aug 15, 2003 3:21 am

Doh! I completely forgot about rotation and scaling around the cursor.

In a pitiful attempt to look less stupid, I will suggest that if the rot/scale point is going to be reused for multiple objects you might as well place an Empty there.

Post Reply