FilletEdge- Problem with a Sword handle

I am making a charm, so this object is little.

I’m having a problem with the Fillet Edge, as it’s shown in the picture, I managed to do FilletEdge on one side but not the other, that is where the problem is… I can’t figure out how to solve this…
Please help :scream:

In the file, the layers are like this:
Guidelines (This shows 2 lines that I will use to trim the object AFTER I have succesfully made the FilletEdge)
SwordHandle: Is where I have the object that I work on
Spiral: There I have my Spiral that i projected on the surface (just so you know, if needed)
SwordHandle2Forum.3dm (564.1 KB)

I had no problem. Simple filletedge, rad .05, chain edges…

SwordHandle2Forumck.3dm (756.0 KB)

@ChrisK thanks for taking a look :slight_smile:
But I can see that edge is not smooth as the other one, I did use rad.05 and it said FilletEdge failed

I have marked the Fillet edge, it looked liked this when I opened your file.
This handle is a little tricky :sweat_smile:

Hi Lana
here, a little clumsy but maybe it will do, unless someone more experienced will suggest a cleaner ways to do this
SwordHandle2Forum1.3dm (1.0 MB)

  1. pipe 0.05
  2. blend Srf with a few added shapes to taste.
  3. some manual headache to do the gaps in the ends, i did Network Srf mostly i think:slight_smile: [this i should have done better]



1 Like

Hi Lana - the tolerance in this file is .01 units - too close to the fillet radius of .05. I would model this starting with a .001 or possibly .0001 tolerance and things will work a little better.

If I Explode your object and RebuildEdges then look at how things join up I see this:

It is not a large gap in numbers, but you can see it is proportionally pretty large. More on tolerances here:

@Lana1 - there is one more aspect to this - yes, starting from your primitive input objects and the file tolerance at .001 before you Boolean/trim etc, , things work better BUT, the pipe has a seam in the long direction and as is, that seam dives in and out of the football shape, which means that when you BooleanDifference it from the football, there are skinny little slivers of surface where the seam approches the larger surface, like so (red/blue):

The upshot is that FilletEdge cannot properly trim in these areas - FilletEdge does not know how to jump across the red surface where it is skinny and trim the blue one instead. I do not see yet how to adjust the surface seam, SrfSeam command, on the pipe so that it stays outside the football all the way around. The workaround is to accept what FilletEdge goves you and then ‘Explode’ or ‘ExtractSrf’ the fillets and neighboring surfaces, and use the fillet edges to trim the surfaces that `FilletEdge’ missed.

@Lana1 - here’s a way to model this so that the seam in the pipe is forced to stay on the outside - the key is to use ‘Sweep1’ of a circle oriented around the path curve and inside the sweep process, choose Roadlike Front and when the UI asks you to place the seam, make sure it is outside the football. The Roadlike option will ensure that it stays there (outside)

SwordHandle2Forum_PG.3dm (422.9 KB)


1 Like

Thank you very much to take a look, so nice :smiley:

Hi Lana - does my explanation about the surface seam make sense ?


Hi @pascal
I just read your explanation for an approach for this problem, and it was so helpful and I’m very happy that you put time to help me out, I properly have to read it again because I’m still new at Rhino- and with your explanation, I will go through my file and follow your approach on this so I really get it :smile:

If I have any more questions, can I write to you? :smiley:

That is what the forum is for!


Did you try cleaning out the corners with a pipe and then blendsurfing them back together?

I have had problems with fillets on parts I created in Grasshopper for 3D printing. One solution I found that seems to work quite well is to use the Rhino _DivideAlongCreases command to change the way Rhino identifies curved surface edges. I just do a Select All and apply the command to the entire model.