Why are fillets so bad?

Hello @baileydw

Any possibility to have same for multiple Fillet Surface?

Probably. Can you expand on what exactly you mean?

Sure.
Let’s say we have a bunch of intersecting (or close edges) surfaces. I would like to see a dynamic result of fillets between them, preferably with trims.
Then we can switch to Wireframe and preview result in GH preview mode.
This will allow us to have “history” in real time with point modifying the input surfaces.

That’s a nice and ‘easy’ example. My issue with fillets in my GH guitar model was that as soon as you went a bit too far with rounding the body edge curves, fillet would stop working.

So what I ended up trying using the mid z plane, along the body contour shape, make 3 point curves from the middle z of the body (and same for bottom). Revolve around the body line and it did the magic I wanted. Twisted solution but gives you lots more options too. Not finished because I want to explore more ‘custom curves’ along the body with attractors to make those knee pockets…

I only work on GH to model, so sorry if this doesn’t give any options in the draw mode of things…

I can make a sample GH file later…

1 Like

Nice, sound like a similar approach to this method I shared a little while back;

2 Likes

Just a basic R0.4 fillet…
tower.stp (36.0 KB)

Meanwhile in other cad:

Yes, Rhino can’t recognize old filleted edges and do these errors all the time.

So you either have to do the second set of fillet edges with a slightly lower value (within your tolerance) or do them all in one go:

6 Likes

Since the surfaces you are trying to fillet are all tangent you can use this script: Filsrf_JoinV2.py

All it takes is two mouse clicks on any two of the surfaces that you want connected by the .4mm fillets. The script will make the rest of the fillets.

The explanation on how to use the script can be found here.

4 Likes

It’s an extremely powerful script!

4 Likes

You can say it’s bad or do like me:

take couple months off and take a solid works university course, e- book is like 100 euros

I was like “wooooaaaaahhwww rhino can’t do that I wish rhino was like that this makes my life easier Boolean works like magical and fillets much wow much smooth whaaaat I can change the fillets valuesssssss?! wowiwewa”

Rhino just can’t do it all but shines in other areas

1 Like

There is a pipe,split and blend method which I find works better than fillets but it’s more work but results are fantastic

Bobi, have you tried the newer version of the script I linked to above?

It will be faster on the original fillet examples shown in your first video.
fillsrf_examples.3dm (1.0 MB)

It should also be faster for what you are doing in your second video, but there will need to be some manual trimming and joining where you are leaving sharp corners.
OTOH, if you leave no sharp edges and fillet the whole thing you should be able to turn it into a rounded solid without doing any manual trimming and joining.
See file: FilSrfJoin.3dm (406.4 KB)

1 Like

Yes, in fact, I have 4 versions of that script, but most often I use the first one called “FilsrfEX.py”. I had the same script you posted above since 14th June 2024. Currently, I have the following scripts:
FilsrfEX.py (40.1 KB)
Filsrf_crvs2.py (41.2 KB)
Filsrf_Join.py (69.1 KB)
Filsrf_JoinV2.py (75.1 KB)

2 Likes

I also mostly use the first one. That’s the one that just makes the raw fillets. The extra time it takes to do the trimming and joining manually is usually minimal and doing that part yourself gives you more control.

But, I am sometimes confronted with crappy geometry created by someone else and that’s where the most recent version can make a big difference.
Here is an example :fillet_problem.3dm (741.2 KB)

This is a file someone posted. Because the geometry has poor tangent continuity the fillet loop has small gaps that make the trimming and joining process difficult. The biggest advantage of the latest version is that it can fix the gaps.

2 Likes

I just tried that. I also had plenty of situations where I had to deal with poor fillets from imported models.

I just got some interesting result while trying to apply a 0,4 mm radius between the two surfaces you see in the attached file. Do you encounter the same bug like me?
fillet_problem 0,4 mm radius.3dm (974.4 KB)

1 Like

I’m not seeing anything unusual. This is the .4mm fillet I got:
fillet_problem 0,4 mm radiusx.3dm (63.2 KB)

You probably should not use the Extend option on that.

1 Like

It’s the Filsrf_JoinV2.py script that produces the bad surface which I mentioned above. :slight_smile: Happens when the default “Extend” option is used (it always resets as default for this script). Here is the resulting “art”.
fillet_problem 0,4 mm radiusx pure art.3dm (19.9 MB)

1 Like

Ok I see that in Rhino7. Rhino8 makes an ugly surface but it doesn’t send control points off into outer space.

Anyway, this is not really something the script can control. Rhino makes the fillets. The script just tells Rhino the input parameters for each fillet.
If you use FilletSrf with Extend option you will get a very similar wild result when you pick the red surface first. Its not quite as crazy when you pick the blue first. You are correct this is a bug but it looks like it was fixed in Rhino8.

The extend option is on by default because it is often needed to make the trimming and joining work. Sometimes it makes sense to turn it off, but usually it should be on.
There is a limit to how far Rhino can extend a fillet.

An example where the extention works would be in your second video above where you had to manually extend the fillets to get the trimming and joining to work. Here is another example:
Extend.3dm (40.7 KB)

2 Likes

The most expensive button in CAD:

Cheers

DK

2 Likes

I don’t agree with several of the key points of that man. I avoid to be “that bad guy commenting under his videos”, so I will write here instead. :upside_down_face:

For example, this suggestion is totally wrong:
“Avoid creating pocket were the floor fillets match the vertical corner fillets”

In fact, making pockets whose floor fillets match the vertical corner fillets saves a lot of cost, because the tools will work less time due to the vertical walls. On the contrary, sloped side walls require a lot more machine time to be made smoothly with a 3-axis machine (or require an expensive 5-axis milling machine whose head can follow the same angle as the sloped walls, which also takes more time).


Another of his suggestion is also not valid:
“Design with fillets that can be cut with either inch or metric tooling”

Actually, making pockets whose vertical fillets have a radius larger than the radius of the milling tool is the better option, because this way the final pass of the milling could be done more smoothly around the rounded corners. For example, a pocket with vertical radii of 13 mm (or greater) and horizontal radius of 12 mm is made better with a 24 mm round tip tool, because the floor fillets will be made with a single pass, whereas the vertical fillets will be made more smooth (the tool will not make a sudden change of the direction in the corner, because it does not consist a 12 mm radius) and the last pass will carve a lesser amount of material from the side walls, which also makes the wall smoother and generates less heating to the carved surface.


I also don’t agree with a third of his suggestions:
“Don’t force fillet scenarios where multiple tools need blended together”
In fact, mixing different tools depending on the shape is what saves machine time and cost! He clearly made a mistake around the 10th minute of his video where he shows a flat pocket carved by a round end mill tool for a huge amount of time. Round end mill tools have poor performance when it comes to carving large flat areas. The middle of the tip spins around its own center of rotation, generating heat and even could melt softer materials. Not to mention the unwanted markings that the round tip will leave on the flat surface (which can never be flat if using a round tip, even if the milling step is 0,1 mm). A flat end mill tool must be used in those flat areas, which also reduces the machine time by at least 10-20 times. Also, round end mill tools are more expensive, and since they need to work more, the generated wear and temperature lead to a higher failure rate.
At the 12:28 minute he shows a better way to use a semi-round tool combining radius with flat tip in the middle, which is a more appropriate method, but still inferior compared to a standard flat tool. His example shows a tiny pocket, but larger pockets will show a lot bigger difference in favor of the flat tool (up to 4 times less machine time).
Another advantage of the flat tool is that its outer edge rotates at a much higher speed than the rounded tip of the tool he showed at the 12:28 minute. Faster speed of cutting also allows for a smoother finish and less vibrations.


At the 14:46 minute he does not explain that this particular shape is easy to CNC-mill with a 5-axis machine with the flat tool’s tip being normal to the horizontal fillet, or an indexed head of a basic 3-axis machine, in order to mill that area horizontally with a flat tip tool. I have done such details in the past with a manually rotated milling head of a 3-axis CNC-machine.

6 Likes