Filleting leaves naked edges


I am sorry, but I still find filleting a big stress-fest.

I have an object that doesn’t want to take any appreciable fillet, on any filleting mode. It’s not a simple part, but I’ve rebuilt it 4 times, and it’s about as simple as I can make it, and still do the job.

I worked as best as I could to keep parts away from parallel edges, and making sure that edges won’t swallowed up, and makes sure that there are no small edges, and still, either there are naked edges, or the fillet fails, not with cloud-chamber-like curls, but with an incomplete fillet laying almost on the surface.

Could I send the object in to you the fillet-person have a look?
(Thank you)

hi Brenda,

FilletEdge here also is often a hit or a miss and can (even on straightforward cases) leave naked edges. In fact the naked edges are something that started somewhere in Rhino 7 cycle. Anyhow, if FilletEdge fails I prefer to go the all manual route which always works: FilletSrf with Trim=No and Extend=No options for the majority of surfaces to fillet. A while back I made this video.


Hello- please send to to my attention - I’ll take a look. Please include a linbk back here in your comments.


1 Like

I sent the file. Thank you for looking at it, Pascal.

Gijs, thank you. I will watch the video.

What I am working on is a little tricky, as it has a thickness, and it’s not a simple shape, so one wrong move over perhaps 10 fillets, and it will all look like the cherry-blossom fall in Japan.

I remember doing the car-hood-inlet Rhino tutorial. : )

Using a new edge continuity tool, I had not yet noticed, Pascal was able to find a discontinuity in the upper hull, that did not show up as a naked edge. I missed the discontinuity by checking the surface with emap too.

I just now, found where the parent curves could have fewer nodes.
Well, the hard part is: Using Pascal’s criterion values, this is what loft did to the (somewhat) improved poly-surface result:

From these curves:

The resultant poly-surface was quite a few more surfaces than I would like. If the tolerances didn’t need to meet a requirement, the surface might be less-complicated.

I am not sure if this is good enough?
Though, I may try a test to go forward, and see what happens.

I tried to split the curves to make half at once, in hopes of create fewer surfaces and see if the result can be seam match, but the count was the same.

I was able to make a single surface using Sweep 2 Rails, using 2 dummy sufarces, for something to make tangent.

When I do this, I:
Create a straight curve to connect the quads.
Place each diagonal line in a boundingbox.
Use the midpoints on the bounding box for a Control Point Curve (quadradic).
Use Sweep2 to create, using tangents, and setting the cross-sections pretty loose.

It created a single surface, albeit with a lot of nodes. Hmmm.

And this is the rough hull, I am trying to create. The missing panel was made with edge-curves–using the surfaces itself.

And the fillet tool does not like this hull either. : (

I am going try the intermediate one with more surfaces, but still improved over the not shown version.

In the loft process, before we press Ok , it shows us this:

And then we get this:

No setting seems us to allow the preview : P

Part of the culprit is Loft. It splits the curves where there is no split, making a crease at the split in the center.

From these parent curves:

For laughs, I tried rotating the round curves 45 degrees, which looks interesting in Zebra.

I have tried a few different builds of this part, over the last 5 hours. : (

I would make the transition between the one large circle and 2 small circles using loose loft.
In the attached file the blue and green curves are used to make the transition surfaces (shown in black).
looseloft.3dm (297.7 KB)

1 Like

Thank you Jim. Though, the shape is different. I tried something like that, but lofting each side, and adding the center.

I am in the process of trying a hull, using a lofted polysurface that has been expoded and matched. I don’t like over-constaining the surfaces, but the result looks better, albeit more complex. I am sure there are some edge-splits along the disparity indicated by the edge curves.

The Zebra shows where my quad-and-line tangent-only situation blends to a circle situation. At least the stripes line up, and the seam on the top is nice.

Is it good enough for the fillet tool?

I don’t feel I should have to match two surfaces along a seam that the loft-tool inserted to come up with its solution.

And the things I need filleted, still fail. Sigh.

I think I understand what you are trying to do. One reason your solution is producing surfaces that are not tangent is because you are lofting arcs with different arc angles. The arcs are rational curves and different arc angles means they have different control point weights which causes problems with making the lofted surfaces tangent so that fillets that need to cross these boundaries won’t fail.

The way I did it the the lofted arcs all have the same arc angle (180 degrees) and that eliminates the additional complexity of dealing with lofting curves with different arc angles and everything ends up perfectly tangent. If you want to split the curves up like you have it I would first make curves that are not rational and then loft those curves. Rebuilding the arcs is probably the fastest way to do that . I would also still use a loose loft. Something like this:
looseloft2.3dm (99.5 KB)

After making the loose lofted surfaces I used matchSrf with refine option. MatchSrf is a lot more reliable with non-rational surfaces.

1 Like

The loft tool has a bug: when it creates the polysurface, it creates a (polysurface) split that is out of spec. If it needs to put split in the center, it must, but it should do it well.

Naked edges can be extremely frustrating. Not sure if this works for you, but I work in mm, and instead of using an absolute tolerance of 0.001mm I switched to 0.005mm. This makes it way easier to end up with a closed model in Rhino. There’s a lot of information that claims you need 0.001mm to be able to transfer files to other CAD packages, but I have been able to transfer files as solids to other programs such as Solidworks/Inventor/Creo and a variety of CNC programs without any issues.

Been using 0.005mm for years, never going back to 0.001mm. Another benefit is that surfaces generated from trimmed edges end up being less dense because they are trying to match within 0.005, so less control points. Creating fillets on top of cleaner starting surfaces will also result in cleaner fillets.

If there’s a program you need to transfer to, simply model something with 0.005 tolerance, put some fillets on it and export it to the program it needs to go to. If it comes in as a solid you’re good to go with 0.005 as an absolute tolerance.


Well, I seem to have made it. There were a few hurdles:

Problem: The loft tool added non-tangential splits. I am going to report this as a bug/seriously-needs-enhancement. If loft needs to split a surface, then the surface should be of nice quality. I probably should have merged all the split edges from the dummy match before rejoining to the real surfaces. Sigh.
Solution: Use Sweep-2, with the chain option chain to create the problem surface using dummy surface for tangent targets.(image below is the inner, made the same, though.)

Problem. The first half fin would not fillet because the joining surfaces tapered at too narrow of an angle. I’ve seen this kind of thing before.
Solution: For the short fins, make the ends of them more perpendicular to the body of the part, by making them a little stouter.

Possible Problem: The fill area in the belly of the thing, I did not trust the edge-curve created planar surface. Anytime, I join a revolved surface that creates a face at 90-degrees, I stress over it.
Possible Solution: Revolve out the crotch-like surface to include the missing panel–though, this means that the surface cannot be surf-matched, though again, it’s under a fin, so it’s okay. I tried to shrink it, but thinking about it, it’s trimmed, and that’s all there is to it.

Finished part and hull, showing the single-surface 2-1 adapter surface, and trimmed-revolved crotch area. LOL!

Dummy surfaces and profile curves. I set the Sweep2 settings to almost ignore the profile curves by loosening the Refit Cross Sections to a large number.

Victory-lap, or pathetic need for reassurance. Something like this…

It’s strange designing something heat-related like this. I want a large temperature difference between one leg and another–and from one end to another. So, it’s strange, if I put too much fillet on the fins, it works worse because I want the area between to act as a heat-break, as much as possible. It looks like an old power-line insulator, made of metal.

1 Like

Hi Mark, thank you for the suggestions. Yes, indeed, when the accuracy goes up, so does the node-count.

Yes, I agree that the hull should be in good shape before filletting.