Fillet between Zylinders / Nodes

Hey Guys

I have nodes with 2 to 5 arms (Zylinders), and need to make a smooth transition between the arms
The radius of the Fillet should be 20mm.

At the moment I only have the the zylinders, and am looking for a way to make this fillet.

Zylinder Fillet.3dm (529.6 KB)

This is how it should look like in the End

on top i need the nodes as one solid closed volume in the end.

I would be thankful for your help.

No one has an idea? Or is this no task for Grasshopper? :confused:


there is the filletedge component (works just like the command). However, Grasshopper lacks surface tools, filleting such shape is even manually a difficult problem. You could also decompose the cylinder into blendable pieces and using the rhinocommon method (no component yet) to blend in between. Still without tricks and workarounds Grasshopper is simply not suited for such a task. Unfortunately! You’ll probably be quicker doing it manually if its just a dozen of them.
As an alternative Rhino 7 offers Sub-D surfaces. You can also create them via Grasshopper.

1 Like

Hi Tom

Thank you very much! Unfortunately it is +4000 nodes that need to be processed in that way.
You think it would be the best to go with Rhino 7 and SubD via Grasshopper?

I tried an approach with Grasshopper constructing it maybe with a loft but I don`t think this is going anywhere.

Hi @jon4

Here’s a definition to make nodes and fillet the joins between cylinders (18.2 KB)

The process here is similar to what I use as the first step in the GH SubD MultiPipe tool (except there there is also a lot of further topological processing to get rid of short edges, turn it into pipes with similar numbers of sides and connect it all up with quads, not just making isolated nodes)

If you’re okay with using SubD you could also use MultiPipe directly, which will be much faster for large numbers of nodes, since it constructs the geometry without having to do these sorts of costly intersections.

For a future release I might also look at having an option for MultiPipe to output these cylinders as NURBS surfaces, since the logic is already in there as an intermediate step.



That is awesome. Thank you so much!
I Could even get it closed! :ok_hand:

1 Like

Have you even tried the _filletEdge command or the FilletEdge component before Daniel gave you this solution? Because thats exactly the same… Chordal fillets will look much better than this however…

@TomTom @DanielPiker
Yes, I had a look at it but found it to be pretty tricky and would never have made it. Especially the parts like this, and that trick with the 3d-Voronoi…

Besides: I made some minor changes, so the script can be used on multiple nodes simultaneously.
I also found that a Solid Difference can work an an Open Brep?!

Here is the file 210127_fillet_cylindernode (25.3 KB)

@TomTom - I think maybe it wasn’t clear the definition I gave @jon4 is using FilletEdge, just showing a way to avoid doing a full all-all solid boolean.

Hi @DanielPiker

Which display mode is that one?

Rendered viewport display mode with all default settings except for increasing curve width to 2, and the material was Plastic with all default settings apart from picking a colour.

1 Like

@DanielPiker, I had a look at the MultiPipe Tool, but it seems to be not precise enough for my needs - All Pipes need an exact diameter of 114mm and the Radius of the Fillet needs to be 20 mm (Rolling Ball diameter)
So the GH-Definition that you sent me is better in my case than the MultiPipe tool I guess.

Could I ask you one more thing?
I noticed that the Rhino Model-units also affect the sript you sent me. - But I don`t find a real logic to when it works and when not. Do you have any suggestion to maximise the succes-rate of your fillet tool? -Thank you!


Rotating the nodes to the top helps with filleting! Otherwise the nodes can disturb and result in failing fillets as in my previous posts…