Surface Filleting across Tangent Faces

@jim @Rhino_Bulgaria this has been added in v9 and in early testing here, it’s sa-weet!!

please beat on it and let us know what you think-

24 Likes

Available in the next wip I guess?

1 Like

yes, this was added by @menno into Rhino WIP yesterday.

3 Likes

For those with no access to the WIP, could someone make a short video overview with a few examples, please?:smiley:

2 Likes

39 Likes

Nice… VERY nice! Good job @menno! :+1: :+1: :+1:

6 Likes

Tangent fillets, Fillsrf, Elmo in V9 are very welcome.

7 Likes

Thanks! It’s so nice to finally have a dynamic preview for more complex fillets! Great job, “McNeel” team! :slight_smile:

13 Likes

if all goes as we are hoping, we will be able to “elmo” surfaces too..

that is a HUGE deal if it happens. fingers crossed.

14 Likes

Excellent. This works quite well for the common case where the base surfaces have good tangency.

As I assume you know, it has problems when it run into a fillet surface with the same size radius. In your video it all works as long as your asked for radius went up to 1.9mm, but if you had pushed it to 2mm it would fail. When the fillet string encounters a same size radius it either fails or when it does make a surface the surface is not tangent to the base surface and also not tangent to the adjoining surfaces.

Another problem is when the base surfaces are not quite tangent. When the base surfaces are not precisely tangent it does not play nice with the extend and trim options. It will make the correct fillets, but turning on the extend option makes a mess. And trimming isn’t going to work without extending the end fillets.
Here is an example file. Try making fillets with radius of .125" :
[Fillet_breaks.3dm|attachment](upload://
Fillet_breaks.3dm (545.2 KB)

In the above file if you turn on the layer named “corrected” you will find .125" fillets with end gaps fixed which will make extending and trimming work.

3 Likes

@Gijs
would be nice to split the topic to separate @jim s great work from @menno s Wip / V9 -Development.

here is a (ugly) - but simple edge case, a simple extrusion, where the filletSrf fails because the in initial picked surface is no longer part of the (expected) result…
I know its a special case… but if it is not fixed now it will become a bug report after V9 is released

:clap: :+1: for @menno

4 Likes

I would think this is not a bug, but you are actually asking to fillet the wrong surfaces…

you asked for the closer surfaces, but you really want the farther surfaces to be filleted…

would you not simply pick those surfaces as your starting inputs instead?

how is the tool supposed to know " I asked for this, but really wanted this instead" ?

not dismissing your comment at all, genuinely asking your thoughts…

2 Likes

I look forward to trying this out!

1 Like


_filletSrf R15 will crash Rhino

see full exercise here:

handle_2022_01B_filletSrf2025_rh9.3dm (993.3 KB)

4 Likes

If I was a fresh-faced person new to Rhino, I’d think that surface contiguity should be handled by adjacency cases. Especially in the cases where the surfaces share both identical edge definitions.

Perhaps this is some form of thing that should be optionally handled by some form of graph-like connectivity definition behind a GUI switch.

2 Likes

i try to mimic the behaviour / expectations of my students and clients - and i would love to get fillets more robust.
And if i combine 2 infos:

  • the slider allows you to search a visually nice Radius
  • filletSrf will “swap over to” tangent neighbours
    i would expect above example to work.
    especially if i search a radius, that is close to some (one or two) surfaces might need to be skipped…

i would expect the new algorithm to figure out the correct portion of a set of joined tangent surfaces - that s the promise.

ok - and - to make it more a buggy special case - and many bug s are special cases:


filletSrf this example with R60
you will need to click the green surfaces.
filletSrf_r60_please.3dm (2.9 MB)
R60 applied

kind regards - tom

3 Likes

gotcha- @menno I’m sure is following this-

we appreciate all of you beating on this and giving feedback.

3 Likes

Will there be a Chordal/Constant width option?

7 Likes

The new tools are more than fine, but they should work not only in simple cases, but in more complex ones, otherwise they remain only half-hearted, “lame” commands. The road is well traced, but still long (for example, a command that works with radius 1, but as soon as you enter 1.1 it no longer works, it has no reason to exist).

1 Like

V9 is already shaping up to be a winner with tools like this. Nice work!

4 Likes