broken fillet

About the development of the Part Design module/workbench. PLEASE DO NOT POST HELP REQUESTS HERE!
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
freman
Veteran
Posts: 2214
Joined: Tue Nov 27, 2018 10:30 pm

broken fillet

Post by freman »

Hi,

in adding a fillet to this model I get a missing segment in the fillet.

Having applied 10mm fillet to one side I turn the object and select the three edges at the back of the handle. The initial default 1mm fillet is fine and works up to 8mm. In stepping from 8 to 9mm it breaks leaving a gap in the surface as shown.

The central hole takes 10mm on each side without problems.

Further fiddling reveals even 8.01mm triggers the bug. It seems that this is point when the fillet touches lower edge. This was not an issue on the other side as show in upper image.


OS: Fedora 31 (Thirty One) (LXDE/LXDE)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.19145 (Git)
Build type: Release
Branch: master
Hash: c43315728cc643c6a382af0bba5b596407bbaf26
Python version: 3.7.5
Qt version: 5.12.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/United Kingdom (en_GB)
Attachments
broken-fillet2.png
broken-fillet2.png (23.26 KiB) Viewed 1604 times
broken-fillet.png
broken-fillet.png (26.95 KiB) Viewed 1614 times
saw.FCStd
(47.44 KiB) Downloaded 59 times
chrisb
Veteran
Posts: 54273
Joined: Tue Mar 17, 2015 9:14 am

Re: broken fillet

Post by chrisb »

I can very well understand and explain why it fails. At a radius of 8 mm the fillet just touches the line at the bottom. As fillets cannot consume the whole adjacent face it fails as soon as you go further down.
I have absolutely no idea why it works on the other side.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
freman
Veteran
Posts: 2214
Joined: Tue Nov 27, 2018 10:30 pm

Re: broken fillet

Post by freman »

Thanks. So you are saying that the bug is the side which "works", not the one missing a face ?

At a wild guess from past experience, I'd say it has something to do with what is "in front" of what when the the two lines meet in a point.

It is clear which is the most useful result, even if someone says it is not technically a fillet where it does not meet the other face tangentially.
chrisb
Veteran
Posts: 54273
Joined: Tue Mar 17, 2015 9:14 am

Re: broken fillet

Post by chrisb »

freman wrote: Mon Jan 06, 2020 7:25 pm Thanks. So you are saying that the bug is the side which "works", not the one missing a face ?
Sad to say, but yes, that's how I see it.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
freman
Veteran
Posts: 2214
Joined: Tue Nov 27, 2018 10:30 pm

Re: broken fillet

Post by freman »

I don't see it as sad. Technically you are probably correct , as I suggested.

However, there are two choices, one of which is of no use, the other is useful. The real bug is the inconsistency.

If someone is inclined to fix this issue, they need to work out which way to go.

1. Leave missing surfaces if the fillet does not meet tangentially along its full length.
2. Produce complete, machinable surfaces which are technically not called "fillets" in such cases.

I guess that looks a bit like German rigour vs French pragmatism. ;)
openBrain
Veteran
Posts: 9041
Joined: Fri Nov 09, 2018 5:38 pm
Contact:

Re: broken fillet

Post by openBrain »

chrisb gave the German rigor, so let's go for the French pragmatism. :)
Actually there is no real inconsistency in this (even if I agree it looks like for normal user).
Very probably, because of rounding errors introduced by the use of floating point computation in FreeCAD core, there are still some picometers of valid material on the working side, and oppositely there are missing some picometers of material on the failing side. :)
chrisb
Veteran
Posts: 54273
Joined: Tue Mar 17, 2015 9:14 am

Re: broken fillet

Post by chrisb »

Here we are, still not really knowing why it works:
Snip macro screenshot-fff96c.png
Snip macro screenshot-fff96c.png (13.16 KiB) Viewed 1526 times
Attachments
saw_cb.FCStd
(30.25 KiB) Downloaded 42 times
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
freecad-heini-1
Veteran
Posts: 7791
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: broken fillet

Post by freecad-heini-1 »

My trick is to increase the "material" for the fillet, create the fillet, and later cut the material off, please watch my video:
https://peertube.mastodon.host/videos/w ... a375b14fa6
chrisb
Veteran
Posts: 54273
Joined: Tue Mar 17, 2015 9:14 am

Re: broken fillet

Post by chrisb »

Very good idea - and independent of some unknown coincidences.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
freman
Veteran
Posts: 2214
Joined: Tue Nov 27, 2018 10:30 pm

Re: broken fillet

Post by freman »

thanks for a solution Chris. There definitely is something odd in what produces a fillet and what does not.

@heini, thanks for the ingenious work around. It's a little annoying when tricking FC to do the job takes longer than doing it with a sheet of sand-paper. :(

I'll open a bug about this later, when I have more time.

Here's another oddity. I wanted to hide the fillet and look at the pad to identify which edges Chris had used to get this to work. In fact what I get is half and half. I'm wondering whether the fact that my pad was "symmetrical to plane" is a factor in the anomalous behaviour.

Ah no, I've just seen that Chris used a mirror to get it to work.
Attachments
saw-sb-hidden.png
saw-sb-hidden.png (27.41 KiB) Viewed 1476 times
Post Reply