Move Curve Tangent to Circle

I have a bunch of 3d degree curves I would like to make tangent to a close circle.

If I move the end control point and use the tangent snap, most of the time the result is not tangent. Is there any way to do this reliably?

splitting the circle and using the match command will guarantee it, but that leaves you with a split circle… you could make a copy, split it, match it and then delete the split circle and then paste the original back in place.

I’m curious why your ends are not tangent using end and tangent snaps… that does work here.

you have to split the curve to run gcon, but if you do it’s g1 here…

I left out part. After I move the end of the curve to the circle, I will split the circle and join the two.

When I do that split and use GCON I find that in most cases the former circle and the curve are G0.

In a few cases they are G1.

I presume this had something to do with moving the end of a curve, rather than the end of a line.

Well, there is an “after-fix”…
Once the end of the curve is snapped to the circle, turn on the curve’s control points, draw a line tangent from the circle at the intersection and then using Near snap, snap the next to last cp on the curve somewhere along the line. Your tangency is then guaranteed.

1 Like

dear @miano
I think you misunderstood / the tangent snap - which is temping but wrong for your needs.
if you move a controlpoint
→ move from (Point 1)
→ move to (with tangent snap) (point2)
now the (invisible) line from point 1 to point 2 is tangent to the target circle (not the curve you modified the cv)

in the small video I do the movement as i guess or how i interpret your movement.
I copy the new line, undo
Now draw (the former invisible line:) a red line with the same point snaps (endpoint, tangent)
now this line red line is tangent to the circle
finally i paste the modified line (it has the same endpoint as the red line, but is not tangent)

hope this makes sense.

… ok here is the workflow I would try:

draw the target point
select the last 2 CV s of the curve
_orient (copy=No)
pick target point
for the 2nd point use _TangentFrom
pick curve, target point again, tangent direction

to modify the curve use
_rotate (to change the target point)
_scale (to change the tangent position - you can also use _endBulge)

Hello- Tangent snap should fint it - if not, a trick here is to try the undocumented test command MatchCrv

The test command still thinks it is the Match command and does not let you pick a closed curve as target, but if you type in SubCrv at the target curve selection time, you can then drag the match along to where you want it and adjust the tangent point as well. The SubCrv trick will work with Match as well but you need to end the subcrv on the desired tangent location if that is known.

  • Pascal
1 Like

Pascal must be protected at all costs.

I’ve been doing this 30 years and I STILL learn stuff from this guy…


What is the command syntax. If I do MatchCrv, I get MatchCrvDir. Is this the same thing

type matchcrv specifically. remove the dir at the end of the autofilled command

When I delete the “DIR” Rhino puts it right back. If I try to put a space, Rhino runs MatchCrvDir.

mac thing?

appears that the mac is much more persistent than the pc.

if you turn off fuzzy complete in the advanced options you can override the autocomplete.