Reference object snap: between


There used to be a very useful reference object snap, an exact midpoint between two picked points. It is described in the documentation for Rhino 5, but I can’t find it in the newest Rhino. Is that functionality not available in Rhino 6, or am I just looking for it in a wrong place, where it used to be?

It moved in V6. Hold down Shift while hovering over the Osnaps.

1 Like

Thank you.

Hi Michal - FWIW, You can also just type between to use this one-shot Osnap. For easy access, I have it mapped to the letter b in aliases.

1 Like

Hi Wim! Great tip for macros, many thanks!

try this out, drag and drop this into rhino, it will add an alias called OneShots. put the alias in your MMB,
2020-03-06 07_28_12-Window
you have to have this toggled as well for it to show up.
2020-03-06 07_27_34-Window
now when you middle click you will have access to all those obscure snaps ready during a command. :slight_smile:OneShotsPopUp.rvb (1.6 KB)

'Option Explicit
'Script written by Pascal

'Script version Wednesday, June 04, 2008

'Hi Ryan- I guess the problem is going to be that the rmb context menu is not
'available inside a command, which is when one-shots are available. But it is
'easy enough to make a script that will pop up a menu of them, if you are
'willing to activate the menu some other way, like with an alias or even a
'The attached script will register 'OneShots' as an alias for the
'pop-up; I would change this (in Options > Aliases) to something quick and dumb
'like 'mm' or something so you can get it with alias + spacebar really quickly.
'Drag and drop over a V4 window if you want to try it out. You could even put
'the alias on the middle mouse button macro, maybe, in Options > Mouse.

'Script version Wednesday, June 04, 2008
'Near, Midpoint, Center, Intersection, perpendicular, Tangent, Quad, Knot'

Rhino.AddStartupScript Rhino.LastLoadedScriptFile
Rhino.AddAlias "OneShots", "_NoEcho _-Runscript OneShotsPopup"

Sub OneShotsPopup()

	Dim aSnaps(14)
	aSnaps(0) = "Near"
	aSnaps(1) = "Center"
	aSnaps(2) = "Perpendicular"
	aSnaps(3) = "From"
	aSnaps(4) = "PerpendicularFrom"
	aSnaps(5) = "TangentFrom"
	aSnaps(6) = "AlongLine"
	aSnaps(7) = "Alongparallel"
	aSnaps(8) = "Between"
	aSnaps(9) = "OnCurve"
	aSnaps(10) = "OnSurface"
	aSnaps(11) = "OnPolysurface"
	aSnaps(12) = "PercentageSnap"
	aSnaps(13) = "testAddSmartPoint"
	aSnaps(14) = "testAddSmartPoint"

	Dim intSnap: intSnap = Rhino.PopupMenu(aSnaps)

	If isnull(intSnap) Or intSnap = -1 Then Exit Sub

	Dim sSnap: sSnap = aSnaps(intSnap)
	Rhino.SendKeystrokes sSnap

End Sub