[Pattern Features enhancing] : circular and linear pattern must support also fillets and chamfers

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
adrianinsaval
Posts: 166
Joined: Thu Apr 05, 2018 5:15 pm

Re: [Pattern Features enhancing] : circular and linear pattern must support also fillets and chamfers

Postby adrianinsaval » Thu Feb 13, 2020 3:44 pm

Other things to consider are variable radius fillets (it's possible in Part but not in Part Design) and chamfers with different angles or defined by lenghts. Anyway, all this should probably be said in a different topic.
realthunder
Posts: 1403
Joined: Tue Jan 03, 2017 10:55 am

Re: [Pattern Features enhancing] : circular and linear pattern must support also fillets and chamfers

Postby realthunder » Fri Feb 14, 2020 1:02 am

uwestoehr wrote:
Thu Feb 13, 2020 11:27 am
I have one: on my personal Todo list I have an issue that I would like to fix but need a starting point where to look in the code:
That's not what I meant by 'concrete'. I was talking in the context of PartDesign new workflow for multi-body. For feature request, of course it should go in separate post.

But anyway, I don't like the PartDesign dressup editing either. Part workbench does a better job, but can still be improved. The relevant PartDesign code is in Mod/PartDesign/Gui/TaskDressUpParameters.cpp. This is a common parent class for all dress up features (fillet, chamfer, draft), and each has their own task panel class derived from TaskDressUpParameters.cpp. The annoying behavior you mentioned is because, TaskDressUpParameter sets a selection filter once the remove button is clicked (onButtonRefRemove()), and TaskFilletParameters monitors selection change and immediately turns off selection mode when any edge is selected (TaskFilletParameters::onSelectionChanged).

I'd suggest a complete refactor of all the dress up task panels.
Try Assembly3 (latest version 0.10.2) along with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
User avatar
uwestoehr
Posts: 1366
Joined: Sun Jan 27, 2019 3:21 am

Re: [Pattern Features enhancing] : circular and linear pattern must support also fillets and chamfers

Postby uwestoehr » Fri Feb 14, 2020 11:00 am

realthunder wrote:
Fri Feb 14, 2020 1:02 am
But anyway, I don't like the PartDesign dressup editing either. ...
The annoying behavior you mentioned is because, TaskDressUpParameter sets a selection filter once the remove button is clicked (onButtonRefRemove()), and TaskFilletParameters monitors selection change and immediately turns off selection mode when any edge is selected (TaskFilletParameters::onSelectionChanged).
I'd suggest a complete refactor of all the dress up task panels.
Thanks! I had a look at it yesterday but stuck exactly at the selection filter. Unfortunately FC's code is not well documented, this it was not clear to me what selection filter means and what its purpose it.
I will work on it according to your info.
User avatar
uwestoehr
Posts: 1366
Joined: Sun Jan 27, 2019 3:21 am

Re: [Pattern Features enhancing] : circular and linear pattern must support also fillets and chamfers

Postby uwestoehr » Sat Feb 15, 2020 3:08 am

uwestoehr wrote:
Fri Feb 14, 2020 11:00 am
I will work on it according to your info.
I opened a new thread with a PR: https://forum.freecadweb.org/viewtopic.php?f=19&t=43383
chrisb
Posts: 22526
Joined: Tue Mar 17, 2015 9:14 am

Re: [Pattern Features enhancing] : circular and linear pattern must support also fillets and chamfers

Postby chrisb » Tue Mar 10, 2020 9:35 pm

realthunder wrote:
Thu Feb 13, 2020 3:04 am
It's a quick fix. Someone please check if this works well, or introduces any problem to existing file.
  • It sort of works for additive features: I have a basebox where I padded a small box on the top. To this small box a fillet was added. I applied a polar pattern to pattern the small cube and the fillet.

    Expected behaviour: I had to use two features in the pattern, the Pad and the Fillet.
    Implemented behaviour: I can polar pattern this by using only the Fillet in the pattern.
    Additional observation: there are additional faces created on the base cube
  • It does not work for subtractive features: Same setup as before, but instead of padding the small cube a pocket was created and filleted

    Expected behaviour: I had to use two features in the pattern, the Pad and the Fillet.
    Implemented behaviour: I cannot polar pattern this.
    Using only the Fillet in the pattern does nothing except creating additional faces on the base again.
    Using Pocket+Fillet patterns only the pocket and creates additional faces on the base.
Snip macro screenshot-29731d.png
Snip macro screenshot-29731d.png (15.52 KiB) Viewed 191 times
OS: macOS High Sierra (10.13)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.19955 (Git)
Build type: Release
Branch: master
Hash: fd907d6d9789f71007b8d0177d167f1de82629b8
Python version: 3.8.2
Qt version: 5.12.5
Coin version: 4.0.0
OCC version: 7.4.0
Locale: C/Default (C)
Attachments
patternedFillet.FCStd
(37.67 KiB) Downloaded 3 times
chrisb
Posts: 22526
Joined: Tue Mar 17, 2015 9:14 am

Re: [Pattern Features enhancing] : circular and linear pattern must support also fillets and chamfers

Postby chrisb » Tue Mar 10, 2020 9:47 pm

It's even weirder with this model (derived from a discussion in german subforum). If I pattern this filleted pocket around Y axis ...
Snip macro screenshot-789328.png
Snip macro screenshot-789328.png (15.13 KiB) Viewed 185 times
... I get this as a result. Here I have added pocket and fillet to the pattern. If I add just the fillet the (expected) pocket is just missing, but the ortho solid remains.
Snip macro screenshot-fcf750.png
Snip macro screenshot-fcf750.png (19.93 KiB) Viewed 185 times
Attachments
polarFilletError.FCStd
(49.49 KiB) Downloaded 4 times
realthunder
Posts: 1403
Joined: Tue Jan 03, 2017 10:55 am

Re: [Pattern Features enhancing] : circular and linear pattern must support also fillets and chamfers

Postby realthunder » Wed Mar 11, 2020 2:42 am

chrisb wrote:
Tue Mar 10, 2020 9:47 pm
It's even weirder with this model (derived from a discussion in german subforum). If I pattern this filleted pocket around Y axis ...
PR submitted here. The error is cause by the Placement of base feature. In your case, the placement is derived from the first sketch. When calculating fillet additive/substractive shape, it must not contain any local transformation. The PR fixed this. You only need to select the fillet for transformation, no need to add the pocket.
Try Assembly3 (latest version 0.10.2) along with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
chrisb
Posts: 22526
Joined: Tue Mar 17, 2015 9:14 am

Re: [Pattern Features enhancing] : circular and linear pattern must support also fillets and chamfers

Postby chrisb » Wed Mar 11, 2020 6:22 am

Thanks, will report back when it is available in the distro.
User avatar
Zolko
Posts: 726
Joined: Mon Dec 17, 2018 10:02 am

Re: [Pattern Features enhancing] : circular and linear pattern must support also fillets and chamfers

Postby Zolko » Thu Mar 19, 2020 11:48 am

I'm having some time to dig through old messages I, and this one seems like worth mentioning:

Piero69 wrote:
Wed Feb 12, 2020 12:34 pm
I feel like a circular and linear pattern don't support the fillet and chamfer feature, this would implemented
Jee-Bee wrote:
Wed Feb 12, 2020 12:59 pm
If you just tried one search action you had seen this is requested about 100 times ... but at this moment nobody is activly maintaining PDN
There is a solution using Part and Draft-Array, then Fuse all resulting solids:

multifillet.png
multifillet.png (388.04 KiB) Viewed 85 times

chrisb wrote:
Wed Feb 12, 2020 1:02 pm
The only way is to modify your design so that you can use Draft->Array on the whole body.
adrianinsaval wrote:
Thu Feb 13, 2020 3:44 pm
Other things to consider are variable radius fillets (it's possible in Part but not in Part Design)
So what we have here is:
  • a 100 times requested feature for PartDesign is already available in Part
  • there are other requested features for PartDesign that are already available in Part WB
  • there is nothing that PartDesign does that Part can't do
  • PartDesign doesn't support multiple bodies, Part does
  • PartDesign is orphaned code
  • ...
why not acknowledge that PartDesign is a dead-end, and concentrate (for v0.20, or v1.0) on making Part WB the design WB of FreeCAD ? Why spend time developing things for PartDesign that are already available – and stable – for Part WB ?

The Part container (and yes, I know the difference between Part WB and Part container) is ideally suited for doing assemblies, can hold multiple solids, can serve as container for Part-WB solids ... I would suggest to stop all development on PartDesign, and use the available time to refine App::Part and Part-WB. For example, Part doesn't have an array function, I had to use that of Draft, which is un-userfriendly as possible. Also, when making an extrusion from a Sketch in a Part, the resulting body is placed by default outside the Part container, which is annoying. Also , PartDesign's Datum objects – which are great – give scary warning messages when used in a Part.
try the Assembly4 workbench for FreCAD v0.19
install with Tools > Addon Manager > Assembly4 — tutorials here and here
User avatar
uwestoehr
Posts: 1366
Joined: Sun Jan 27, 2019 3:21 am

Re: [Pattern Features enhancing] : circular and linear pattern must support also fillets and chamfers

Postby uwestoehr » Thu Mar 19, 2020 12:10 pm

Zolko wrote:
Thu Mar 19, 2020 11:48 am
[*]there is nothing that PartDesign does that Part can't do
I don't agree. I started FC a year ago, not 2 of my colleagues use it as well. I can report back that I am not the only one who cannot do much with the Part WB. I never use it to modify a single body since all I need can be done with PartDesign and PartDesign is not only more intuitive but you are much more effective. And effectivity is for small parts and quick projects THE most important point for real-life usage. Your boss doesn't care how you do thing, as long as you do it fast.

PartDesign has dialogs for all tasks, with its Tip feature you can change the parts in a way that you always keep the overview and can design what to do.
[*]PartDesign doesn't support multiple bodies, Part does
[*]PartDesign is orphaned code
The code is not orphaned, realthunder and also I made code contributions and I will continue as well as realthunder for his toponaming code.

That there is only one body possible is by design as I understood it. And I use PartDesign to model one body, then use Part WB to make e.g. Boolean operations using several bodies. This is a sensible workflow.

My conclusion: Invest time to add missing features to PartDesign since this WB is a key for average and new users who are no CAD experts. Many users like me just need to create parts an intuitive way guided by nice dialogs and tooltips.