Hi all,
A command I miss sometimes from other CAD softwares and it may be very decisive for me, is the tritangent fillet which in rhino already exists for curves (circle tangent to 3 curves).

For example in the image above, the valour of the fillet radius along the path will not be constant, because the angle of the patches are not constant with respect to the base, so doing a fillet in one side and another one on the other side, will overlap each other…
Is that possible to achieve that in Rhino without any aproximation that is not an exact radius ?

A typical example I implement this is in the motorbike area:
-Screen, to make the bead all along its border( the thickness is not constant in that case)

Another way to solve that problem, would be to get the middle curve of the limit base, and be able to create a kind of fillet that is made by a holding curve (also used in other CAD softwares).
In this case, these 2 fillets may not have the same valour of radius, but it would sort it out in some way.

Hi Martin,
Thanks for your approach. But is a surface made from a sweep, so is not an accurate radius what you get(rational geometry), just an aproximation.

I do not know how similar the method below is to Martin’s Grasshopper solution.

Method used to create it:

First step is to create a guide curve the circular cross sections will be normal to:
TweenSrf to create a surface midway between the two outer surfaces.
ExtendSrf the tween surface to ensure it intersects the middle surface.
Intersect the tween surface and the middle surface to create the guide curve.

Second step is to create arcs which will sections of the fillet:
Plane with Aroundcurve option to create a large plane which will intersect the input surfaces.
ArrayCrv the plane along the guide curve,
IntersectTwoSets the arrayed planes with the input surfaces.
Arc with Tangent option using the intersection curves as the input. One arc per section.

Third step create the edge curves of the fillet:
InterpCrvOnSrf on the side surfaces using the ends of the arcs as the interpolation points.

Fourth step create the fillet surface:
Sweep2 using the edge curves as the rails and arcs as the sections.

those sections should be part of sphere that roles along those three surfaces.
So each section is an arc.
the shortest distance of the arc’s center to the 3 surfaces is start, tangent, end on the 3 surfaces.
or in other, rhino words:
if you pull the center (violet) of the arc back to the 3 surfaces you should get start, endpoint of arc, and intersection of arc and surface. (blue)
if the pulled center does not hit the arc (cyan/green points) the section is wrong.

fare from a robust algorithm … some a simple result full-filling above rule

I see a huge potential in some nice new (nurbs) surface Functions.
(@pascal - my chrismas-wish as patch did not make it)
TritangentSurface
Sphere tangent to 4 Surfaces
Fillet with given first rail ( @jordi.rovira “something similar, but with an additional thing”)

Hi Tom,
Very nice explanation about this function.
Also I remeber implementing this for sheetmetal (in automotive area) to create crimps in the gaps of the bodywork:

My definition was not very accurate in words (not my mother language ) but it would be just the testFilletSrfCrv that Pascal Golay did, but assigning a support for the “touching curve”(which may be a patch edge aswell).

I have asked for this a few times over the years. Think of it as a rolling ball fillet that the ball changes radius to be tangent and to 3 surfaces. I had this years ago in I-deas v12, it was great and used it often.

If you do it carefully it will be very close to what you are looking for
If you need more detail let me know, I left out some fine points, was tired of typing