Filleting multiple surfaces in Rhino

I just began looking into filleting, and boy, what a hornet’s nest it is…

I don’t think I’ve seen Rhino ever be critiqued this fiercely and consistently in any other area…

Anyway… :slight_smile:

I received a file that has a fillet missing in one place:

The weird thing is, if I attempt to do a “fillet edge” on this part, I can’t select anything. That command is apparently prone to failure (as seen in the topics above), but why doesn’t it work at all in this instance?

fillet.3dm (430.7 KB)


that’s an easy one in NX or Alias, but I can’t figure out what is wrong here in Rhino 6. You want G2 or G3 there? Maybe some of the professional Rhino users here can help!

Yes, I know it’s an easy fillet in those applications (or Catia, where the surfaces originate from in this case). I’m hoping it would also be an easy fillet in Rhino, but we’ll see what the professionals have to say.

(Hej förresten.) :slight_smile:

you can’t select edges to fillet because is exploded and also there are some problems around the red surface which it have the normals flipped.

and some surfaces needs a trim.

It is easy in Rhino. Just make the four 6mm fillets using FilletSrf command and then trim and join.

filletx.3dm (245.9 KB)

1 Like

Ah, that was the detail I was missing. I’m glad it wasn’t anything worse, but why didn’t Rhino inform me of this?

A surface can have an edge too, right? So as a beginner, there wasn’t really any indication that I was doing anything wrong.

Ok, but how did you get the largest fillet to align to the left edge, while not wanting to expand across the entire upper surface on the right edge?

Because “fillet surface” for me can only ever select two surfaces, and if I extend, I get this:

And if I don’t extend, I have to manually do it with the surface and then trim, and I think that only works in this case because it’s a pretty linear surface:

FilletEdge works on a single edge which is shared by two joined surfaces, in other words an internal edge in a polysurface.

Fillets in Rhino have circular arc sections which are constant curvature. Continuity between a surface and a fillet is G1. In general G2 or G3 continuity is not possible between a surface and a fillet in Rhino.

1 Like

I was under the impression that “fillet surface” can indeed both be set to G2 and even chordal…

(But ok, that’s outside of this topic, which asks specifically about “multiple surfaces”, which can only be handled by that “fillet edge” tool that’s only circular.)

yes you need to use the extend option and then use splitsrf (split by isocurve v direction) to trim off the excess on the one end that does not need to be extended. The best way is to make all the fillets and then go back and trim that end using split by isocurve snapping (near snap) to the edge of the next fillet.

There are lots that could be done to make filletsrf more user friendly and less tedious to use but McNeel is determined not to improve filletsrf. Filletsrf today is no better than it was 20 years ago., despite the fact that enormous improvements could be made.

And i wouldn’t bother going to the trouble of making it so that you can select an edge for filletedge command. Filletedge command will either fail or produce an inaccurate incorrect result.

Perhaps you were thinking of BlendSrf which has options for Position (G0), Tangency (G1), Curvature (G2), G3 and G4 continuity along each edge.

Sorry, it was “fillet edge” that has the chordal option (RailType=DistBetweenRails), and I perhaps mistakenly thought it also had a G2 option… but now I can’t see it.

So if I understand things correctly now:

  • The only tool in Rhino that can fillet multiple edges/surfaces in one go is the “fillet edge” command, which is prone to failure and can’t do G2, but can do chordal.
  • If you want G2 you must use “blend surface”, but then you can’t get chordal or multiple edges.
  • “Fillet surface” can’t do multiple edges either… and it can’t do G2 or chordal… so I’m not sure what the point of this one is actually…

I hope I’m missing something?

I think the filletsrf tool can be made more user friendly by including;

  1. The ability to fillet multiple edges in one operation;
  2. Various styles, rolling ball, chordial (like in the solid/filletedge command;
  3. Options for continuity, G1, G2
  4. History enabled, like the filletedge has!

Thinking about it, the current ‘blendsrf’ tool does most of this, but doesn’t cut back the surfaces to fillet. Imagine if you could use a slider to set the start and end of the blend, and have the option to input a radius, or just be able to do it by eye.

Could pull together the most useful elements of ‘filletedge’, ‘filletsrf’ and ‘blendsrf’… into a single tool…

How did you get the surface direction to show up fully colored? With the Dir command I only get very faint purple arrows which are difficult to see.

Oh, and ALL of Rhino’s filleting commands seem to want to create a single surface per adjacent surfaces, regardless of complexity or how many spans that fillet will end up having…


In the above image, the top fillet consists of multiple rather clean surfaces generated by Catia, and the bottom, single surface, very complex, rather ugly iso distribution fillet is generated by Rhino.

Under Solid/Fillet Edge there’s Blend Edge which does G2.

You could do with simplify your input surfaces. Rhino will always struggle with Y corners. Even Cad packages that can handle them will always need some manual clean up. When all else fails you can use the Pipe command and manually trim and blend the Fillets.

1 Like

Looks like you are doing steps going down the the swim platform of a yacht. I’ve done dozens of those and the are a PITA. You should probably use “merge edge” to keep those fillets going around the outside radius to keep those from breaking into two sections.

Thanks for pointing out “blend edge” to me. But which options does G2?

Also, it seems to be about as bad at actually constructing fillets as “fillet edge”:


But what you did in your screenshot looks extremely clean. I guess you did it manually as you describe?

Blend edge is G2 by default.

You have created surface topology that Rhino’s automatic fillet tools can’t handle it. You could modify it to allow the fillets flow without termination points.

Try it! It already does :slight_smile: