broken fillet
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
broken fillet
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)
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 (23.26 KiB) Viewed 1604 times
-
- broken-fillet.png (26.95 KiB) Viewed 1614 times
-
- saw.FCStd
- (47.44 KiB) Downloaded 59 times
Re: broken fillet
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.
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.
Re: broken fillet
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.
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.
Re: broken fillet
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.
Re: broken fillet
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.
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.
Re: broken fillet
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.
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.
Re: broken fillet
Here we are, still not really knowing why it works:
- 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.
-
- Veteran
- Posts: 7791
- Joined: Tue Jan 07, 2014 11:10 am
- Contact:
Re: broken fillet
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
https://peertube.mastodon.host/videos/w ... a375b14fa6
Re: broken fillet
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.
Re: broken fillet
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.
@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 (27.41 KiB) Viewed 1476 times