I think that many Rhino users would benefit if there was an option to build a circle whose diameter fits between two end curves in a tangent manner, and its center lays along the tangent of a third curve. Basically “Circle: tangent, tangent, center along curve”. To better describe it, I will post an example below. Neither “Circle: tangent, tangent, radius” or “Circle tangent to 3 curves” could do that.
I made the icon for “Circle: tangent, tangent, center along curve” by modifying the icon of “Circle: tangent, tangent, radius”:
Circle - tangent, tangent, center along curve.3dm (22.4 KB)
I’ve wished on many, many occasions (but only to myself) for exactly this. Nice job of describing it.
I do not think this requirement is always possible.
In your sketch. It is not just some curve. It is a curve perpendicular to one of the tangents at the point of contact.
In your example start curve tangent to 3 curves. Choose the 2 non parallel lines that don’t intersect then place the 3rd “tangent” snap on the right angle intersection. Rhino will place the center of the circle on the perpendicular line. But this will work only for keeping the center on a perpendicular line, so I would also find this new tool helpful.
Choose Tools-> PythonScript -> Run and then the following file:
CircFromTwoTanCrvsAndCentCrv.py (2.0 KB)
You can also make a button out of it.
That script works wonderfully on straight lines. Thanks! I already made it as a button.
However, it produces some unexpected results when I try to build a circle between degree 3 curves with a free-form shape.
Try this one for lines and non-lines as well.
CircFromTwoTanCrvsAndCentCrv2.py (2.4 KB)
It’s amazing how many new functionality could be achieved by scripts. That new version works just as you said. Thanks again!
Here is an example:
Maybe I didn’t explained it with the proper words in English. I meant that the center of the circle should be placed on the 3rd curve in the same fashion as “Circle tangent to 3 curves” but using the center point as a reference for completion of the command.