0.20 bug/regression Array Pattern issue #6641

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
jnxd
Posts: 951
Joined: Mon Mar 30, 2015 2:30 pm
Contact:

Re: 0.20 bug/regression Array Pattern

Post by jnxd »

Another regression case to be resolved once ongoing issue is resolved:
Kappe50-jeno_singlefillet_alt.FCStd
(658.24 KiB) Downloaded 52 times
For details see https://github.com/FreeCAD/FreeCAD/issu ... 1079848144.

When other issues are resolved, the top part of fillet will not be applied since currently a pattern only fuses or cuts per item, but this fillet needs both fuse AND cut.

Currently, the behavior changes drastically by minor changes in the code, but for some reason it's pretty stable with 2 and 7 repetitions running https://github.com/FreeCAD/FreeCAD/pull/6661 (and some currently internal changes).
My latest (or last) project: B-spline Construction Project.
User avatar
jnxd
Posts: 951
Joined: Mon Mar 30, 2015 2:30 pm
Contact:

Re: 0.20 bug/regression Array Pattern

Post by jnxd »

Yet another case to consider when using fillets with patterns:
Kappe50-jeno_singlefillet_with_pocket.FCStd
(846.38 KiB) Downloaded 51 times
Here there is a pocket where some of the patterns go (assume the user wants them there for some reason), and the user chose to fillet before the pattern
Screenshot from 2022-03-27 16-57-57.png
Screenshot from 2022-03-27 16-57-57.png (63.96 KiB) Viewed 2182 times
Screenshot from 2022-03-27 16-58-30.png
Screenshot from 2022-03-27 16-58-30.png (21.15 KiB) Viewed 2182 times
Programmatically this works as expected with PR #6661, but the result looks conceptually wrong. A user who does this would probably want the fillets only where the pipe/rib meets the main portion of the body. Making this kind of judgement before though might be complicated.

I'm more of an opinion to add a warning at this point so that if a user tries to add a fillet to the pattern, they see:
"Warning: adding fillets to <pattern> can be unstable and have unintended consequences. Please consider making the fillet after the pattern instead. Do you still want to continue?".
My latest (or last) project: B-spline Construction Project.
user1234
Veteran
Posts: 3261
Joined: Mon Jul 11, 2016 5:08 pm

Re: 0.20 bug/regression Array Pattern issue #6641

Post by user1234 »

jnxd wrote: Sun Mar 27, 2022 8:26 pm Another regression case to be resolved once ongoing issue is resolved:

For details see https://github.com/FreeCAD/FreeCAD/issu ... 1079848144.

When other issues are resolved, the top part of fillet will not be applied since currently a pattern only fuses or cuts per item, but this fillet needs both fuse AND cut.

Currently, the behavior changes drastically by minor changes in the code, but for some reason it's pretty stable with 2 and 7 repetitions running https://github.com/FreeCAD/FreeCAD/pull/6661 (and some currently internal changes).

I did some tests.

The behavior is pretty random. Also only patterned boolean add also somtimes do not work. For example, when i fillet the ribs only adding and pattern it, it works. But also when i do an additional pad on it, which i do not pattern, the transformation "succeeded", but it does not work. Also when will ad the pad, or anything else.

works.png
works.png (232.03 KiB) Viewed 2101 times

do_not_work.png
do_not_work.png (144.17 KiB) Viewed 2101 times

issue6641_Kappe_with_addition_pad.FCStd
(376.24 KiB) Downloaded 59 times


When i try only pattern the fillet (remove) only, it works, but the refinement have issues.

filletonly_reomeve_pattern.png
filletonly_reomeve_pattern.png (191.41 KiB) Viewed 2101 times

And yes, generally some fillets patterns do sometimes not work correctly (like your example with the ripply fillet).



jnxd wrote: Sun Mar 27, 2022 9:10 pm
Yet another case to consider when using fillets with patterns

Here there is a pocket where some of the patterns go (assume the user wants them there for some reason), and the user chose to fillet before the pattern

I think, we can ignore that. This was before and as you wrote, it works as expected. Also the pocket (or other remove) have not to be straight. And when adapt a patterned rip (or anything else) on a shape, which have not be plane, round or anything else, is pure guessing (extrapolate is not the strength of OCCT). When someone need a boolean removed shape in there, someone have to follow the tree order and do it after the pattern. Long story short: for me its fine. And i hope for others as well.


Greetings
user1234
User avatar
jnxd
Posts: 951
Joined: Mon Mar 30, 2015 2:30 pm
Contact:

Re: 0.20 bug/regression Array Pattern issue #6641

Post by jnxd »

user1234 wrote: Mon Mar 28, 2022 3:47 am I did some tests.

The behavior is pretty random. Also only patterned boolean add also somtimes do not work. For example, when i fillet the ribs only adding and pattern it, it works. But also when i do an additional pad on it, which i do not pattern, the transformation "succeeded", but it does not work. Also when will ad the pad, or anything else.

works.png

do_not_work.png
This is indeed quite random. Everything works well with pad length changed to 20, and even the fillet failed (when it shouldn't) with pad length 100.
user1234 wrote: Mon Mar 28, 2022 3:47 am
jnxd wrote: Sun Mar 27, 2022 9:10 pm
Yet another case to consider when using fillets with patterns.

I think, we can ignore that....
For the moment, that sounds fine: there's not much to be achieved thinking of how the fillets will look. But the overarching point here was to make a case to discourage putting fillets in patterns.
My latest (or last) project: B-spline Construction Project.
User avatar
adrianinsaval
Veteran
Posts: 5534
Joined: Thu Apr 05, 2018 5:15 pm

Re: 0.20 bug/regression Array Pattern

Post by adrianinsaval »

jnxd wrote: Sun Mar 27, 2022 9:10 pm I'm more of an opinion to add a warning at this point so that if a user tries to add a fillet to the pattern, they see:
"Warning: adding fillets to <pattern> can be unstable and have unintended consequences. Please consider making the fillet after the pattern instead. Do you still want to continue?".
Is it actually necessary though? wouldn't it be obvious when using it? And if you see the warning, you're gonna click continue anyways to check if it works. If this warning is implemented it must have a "don't remind me again" option. Interruptions are annoying.
User avatar
jnxd
Posts: 951
Joined: Mon Mar 30, 2015 2:30 pm
Contact:

Re: 0.20 bug/regression Array Pattern

Post by jnxd »

adrianinsaval wrote: Mon Mar 28, 2022 2:10 pm
jnxd wrote: Sun Mar 27, 2022 9:10 pm I'm more of an opinion to add a warning...
"Warning: adding fillets to <pattern> can be unstable...".
Is it actually necessary though? wouldn't it be obvious when using it?
It might not be obvious to a sufficiently new user, because they may not realise it is the fillet/other dressup that's causing all the issues.
adrianinsaval wrote: Mon Mar 28, 2022 2:10 pm If this warning is implemented it must have a "don't remind me again" option. Interruptions are annoying.
I get that it's annoying but it's more annoying to see thr model turning out to be a confusing mush. Couple alternatives I can think of is to put the warning in report view or as an icon next to the added dressup while editing the pattern.
My latest (or last) project: B-spline Construction Project.
User avatar
adrianinsaval
Veteran
Posts: 5534
Joined: Thu Apr 05, 2018 5:15 pm

Re: 0.20 bug/regression Array Pattern issue #6641

Post by adrianinsaval »

yeah a warning icon beside that feature in the list with a tooltip on mouse hover to explain the reason would be a good solution IMO, non interrupting for when you know what you're doing and eye catching for when you don't. Report view only is not a good idea IMO, specially if it will be shown on recompute, that's just going to be more confusing. A dialog that can be easily disabled as I described is acceptable too, but the icon is a better solution because newbies might disable the dialog without really understanding and never see it again, but it must be possible to disable it because you can't go around torturing experienced users every time they want to pattern a fillet/chamfer.
user1234
Veteran
Posts: 3261
Joined: Mon Jul 11, 2016 5:08 pm

Re: 0.20 bug/regression Array Pattern issue #6641

Post by user1234 »

jnxd wrote: Mon Mar 28, 2022 5:53 pm I get that it's annoying but it's more annoying to see thr model turning out to be a confusing mush.

I would expect that. So for me no problem. Some logical order of work must me expected from the user. Also this kind of situations some (or maybe more) CADs do not handle that in an other way. And if, i would not expect, that the OCCT kernel will handle that, alt least now.

I also agree with adrianinsaval, that warnings are annoying.



jnxd wrote: Mon Mar 28, 2022 12:46 pm This is indeed quite random. Everything works well with pad length changed to 20, and even the fillet failed (when it shouldn't) with pad length 100.

I would like to make some test, if this a regression or this behavior was before. Sadly, i have not time for that and other things atm.


Greetings
user1234
User avatar
LordMadJack
Posts: 88
Joined: Tue Sep 04, 2018 3:41 pm

Re: 0.20 bug/regression Array Pattern issue #6641

Post by LordMadJack »

In case it helps, I noticed that the bug occures when using AdditiveLoft.
Here are two versions of the same shape
 
Smooth running after a Pad :
Using Pad.png
Using Pad.png (159.21 KiB) Viewed 1690 times

Bug after AdditiveLoft
Using AdditiveLoft.png
Using AdditiveLoft.png (237.83 KiB) Viewed 1690 times

Precision : For the two documents sketch001 is offset by 1mm in z.
Sketch001 Offset.png
Sketch001 Offset.png (121.46 KiB) Viewed 1690 times
 
As soon as I increase the number of occurrences, it works fine (the occurrences should intersect).
Finally, the document saved in 0.20 can be opened in 0.19. Apparently everything works fine, but the AdditiveLoft is degraded...
 
Bug V0.20 opened with V0.19.png
Bug V0.20 opened with V0.19.png (274.87 KiB) Viewed 1690 times
  
Piece31 - 4 - PolarPattern Bug V0.20 .FCStd
(50.7 KiB) Downloaded 40 times
User avatar
LordMadJack
Posts: 88
Joined: Tue Sep 04, 2018 3:41 pm

Re: 0.20 bug/regression Array Pattern issue #6641

Post by LordMadJack »

For me it's really a regression, here is the same object produced in version 0.19 where everything is good
 
PolarPattern OK V0.19.FCStd
(82.49 KiB) Downloaded 47 times
PolarPattern OK V0.19.png
PolarPattern OK V0.19.png (288.78 KiB) Viewed 1678 times
Post Reply