This is the actual shape I’m looking for, which I arrived at with some simple BooleanDifferences on a polar array. I’d ideally now like every single edge of the resulting model to have a very small fillet, which of course fails disasterously.
Where am I going wrong? Even if I try to step-by-step through a few edges at a time I hit failure rapidly…
You’ve created topology that even the best fillet package will struggle with. You can manually handle this in Rhino with trims and blends. I’d just slightly alter your topology to allow the fillets to flow.
Filletedge is a defective command because it tries to make one fillet for each edge and except in some simple cases that is an algorithm that is guaranteed to fail.
This is not very difficult using Rhino’s FilletSrf command and the other surface modeling tools. All you have to do is make the fillets that loop around one of the triangle surfaces and then use Mirror and PolarArray to complete the model filletsx.3dm (1.1 MB)
BTW I don’t see the point in making Fillets that are this tiny. Standard manufacturing processes will not be able to nandle features this small.
The method proposed by @Stratosfear gives you a more quality finish, because it avoids the usual scenario with fillets that affect the same surface with different width of the fillet despite being the same radius. This happens a lot on automotive surfacing where the primary surfaces are usually rough shapes that look similar to your model and share the same border edge, but then the fillets cause somewhat odd shapes. You can clearly see that issue on the following screenshot. One way to avoid that is to follow what @Stratosfear showed above. Another is to use a larger radius for the fillet on the “taller” surfaces at either end of my screenshot.
@jim It’s really just to help the rendering side, not because I ever expect it to be usable in production. These little fillets make all the difference in the world in Keyshot to pick up highlights exactly how I want them to look.
For small fillets, which are primarily about solving a rendering problem you can often use things like ApplyEdgeSoftening in Rhino - it does what it sounds like, but only on the render level - doesn’t change the model at all. A quick search makes me think there’s an equivalent function inside of Keyshot as well: