Rhino 8: Line Tangent From Curve command not working here

I’m trying to draw a line tangentially from a curve to a point but the End of Line point stays locked to the curve that the Start of Line point is on. The Point option for End of Line makes no difference. Replacing the edge I’m coming from with a circle makes no difference. Rhino 8.5.24051.15001, 2024-02-20.

LineTangentFromCurveFail.3dm (99.9 KB)

i am not sure why, but it seems the option generally does not like tangencies not being on a cplane. it works when you activate the autocplane

Hi @encephalon,

I think you are on Mac? Autocplane does not make it work here on Windows.

Regards
Jeremy

Edit: and these objects, although skew to the world, are on the current cplane.
Edit Edit: hmm, maybe not.

yes… despite that, the option should work either way without having to meddle with tricks… it works on v7 for mac at least somehow without this, so something is going on there.

Yeah, it looks like it wants the tangent plane to be in the CPlane… CPlane to the cap on rthe cylinder or the parallel box face… I don’t know if it can be made to detect a planar input curve and just use that. I’ll ask.

-Pascal

Hi @pascal,

I just tried setting the cplane to the face of the cylinder. I set my start point then dragged the line out. Looking good… …then as I got close to the end of the box’s edge, the line vanished and the second point snapped back onto the circle.

Weird.

Not sure if I completely understand what has been described here, but one thing seemed to jump out to me that you may be overlooking:

If you want a line to be tangent to a circle by definition it MUST lie in the same plane that the circle defines. If you try to snap the other end of your tangent line to something that’s not in that same plane it can’t work because the line is then merely intersecting the circle but not tangent to it…

Quite possibly because you are starting on a cylinder you are expecting to be able to draw a line that is tangent to the SURFACE of the cylinder when the command is designed to work from the curve that is one end of the cylinder?

By extension the same argument applies to any part of a line that is curved.

No, thank you for the thought, but I’m only interested in a tangent to the circle that is the edge of the cylinder. And as I said above, replacing the edge in this with a circle doesn’t solve it.

And the corner of the box should be nicely in the plane of the edge/circle because the box was derived from the cplane bounding box of the cylinder. But your post got me thinking, “What if it isn’t?” And then I remembered that there is a recent thread about the bounding box being inaccurate in R8 (ERROR Bounding box is off in one direction - doesn’t seem to have been picked up by McNeel yet, @pascal ). So I checked and the box is indeed inaccurate (and a Near snap is obviously not an acceptable snap here).

That made me wonder how close to the plane of the circle a snap needs to be to work. In this case a snap up to 0.004mm from the plane works, 0.005mm doesn’t (I haven’t tried intermediate points). That is in the context of a model tolerance of 0.001mm.

@Pascal: Given the tangent is held so rigidly to the plane of the circle, I suggest there is a case for allowing its second point to snap to a curve’s Near snap point that lies in that plane, as connecting to that curve is the likely intent of the user.

In the meantime, the solution is to create the plane and put a point on it where it intersects the curve. You can then snap the second point of the tangent to that point.

Thanks for jump starting my brain @AlW!

Glad I could help.