#2683 Refinement transformation

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
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: #2683 Refinement transformation

Post by DeepSOIC »

abdullah wrote: Tue Jun 13, 2017 12:24 pmMy concern was not breaking jnxd's early work, but putting an undue burden into jnxd's future work. Anyway, I think you are implicitly replying that it is not expected to cause problems.
Since refinement is there anyway, you are only about to change the conditions when it has to be applied. So I see no change at all in toponaming perspective.

Adding a refiner feature will end up being extra work, but that doesn't mean we suddenly have to stop making new features altogether, right ;) ?

BTW, the options are not contradicting, and everything-at-once approach can be used. I.e.
* separate refinement feature
* 'Refine' property in PartDesign AddSub's
* 'Refine' property in a body (may populate feature's 'Refine' values when changed, for example).
abdullah
Veteran
Posts: 4935
Joined: Sun May 04, 2014 3:16 pm
Contact:

Re: #2683 Refinement transformation

Post by abdullah »

DeepSOIC wrote: Tue Jun 13, 2017 1:08 pm Adding a refiner feature will end up being extra work, but that doesn't mean we suddenly have to stop making new features altogether, right ;) ?
Right :)
DeepSOIC wrote: Tue Jun 13, 2017 1:08 pm BTW, the options are not contradicting, and everything-at-once approach can be used. I.e.
Probably yes.
DeepSOIC wrote: Tue Jun 13, 2017 1:08 pm * 'Refine' property in PartDesign AddSub's
Sorry to insist. Do you think a refine property should not be used for other features not being addsubs, like for example transformations or dressup?
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: #2683 Refinement transformation

Post by DeepSOIC »

I don't know if it's useful for dressups. I think it should rather be a pre-refinement, since refinement is commonly needed because fillets fail otherwise.

For transformations, I don't know. It makes some sense to have it there too, or it can simply follow the 'Refine' flag of the feature being transformed. Which leads to an interesting question - what to do if one is transforming Feature1+Feature2, and Feature1 has .Refine == True, and Feature2.Refine == False?

Which points to an issue that refinement doesn't work on actual features (i.e. if Refine == True for only last feature in the sequence, the end result is equivalent to having Refine == True for all other features too).
chrisb
Veteran
Posts: 54150
Joined: Tue Mar 17, 2015 9:14 am

Re: #2683 Refinement transformation

Post by chrisb »

I like the idea of integrating refinement in the Part Design Workbench without exra features. If I understand it right, the problem is, that there are cases where it is necessary to have the refinement switched off. Perhaps we should talk about these cases. Can someone please provide an example?
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
abdullah
Veteran
Posts: 4935
Joined: Sun May 04, 2014 3:16 pm
Contact:

Re: #2683 Refinement transformation

Post by abdullah »

DeepSOIC wrote: Tue Jun 13, 2017 5:28 pm Which points to an issue that refinement doesn't work on actual features (i.e. if Refine == True for only last feature in the sequence, the end result is equivalent to having Refine == True for all other features too).
Thanks for your insight.

While having refine == true for the last feature should be equivalent to having refine == true for the last, it may not be the case because of invalid shapes generated based on previous features if refine was false on them.

I put all you said into my input list ;)
chrisb wrote: Wed Jun 14, 2017 6:48 am I like the idea of integrating refinement in the Part Design Workbench without exra features. If I understand it right, the problem is, that there are cases where it is necessary to have the refinement switched off. Perhaps we should talk about these cases. Can someone please provide an example?
I think it is a very pertinent observation. Because I can not answer the question myself, I have been trying to get community feedback. I think, I may be wrong, that because of the little use of the current "autorefine" option, we, as a community, may not have a clear answer to this question.

Currently, in order to better understand what we need myself, I am doing a half-complex design with autorefine=on. Let's see if I manage to draw some conclusions.

If anybody has more experience than I with this topic I very much welcome further information. :)
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: #2683 Refinement transformation

Post by triplus »

There isn't a straightforward answer to this question. Anything optional is problematic as different topology is returned based on the setting. If it is not optional you can't get topology from kernel as instead you get topology from kernel that goes through a set of FreeCAD algorithms that decide what is redundant topology and what is not. There are performance considerations? Refine algorithms can and likely will change in the future? Therefore the most flexible and transparent option likely is to have a refine feature that gets added in the tree if and when needed.
chrisb
Veteran
Posts: 54150
Joined: Tue Mar 17, 2015 9:14 am

Re: #2683 Refinement transformation

Post by chrisb »

I have attached a very simple model (still 0.16 because it has only half the size) with a standard situation where refinement is needed and I think it is not an option, it is needed to repair an erroneous model.
When I attach a sketch to a face and pad it reversed it is in the same plane as the original face and I can see no reason why it should divide the face into several pieces. The same on the backside: If I pad to the opposite face I expect a single face on that side too. I am open to arguments if I pad with an explicit length which happens to result in the same plane, but with "Pad To First/Last" it is not a feature, it is a bug.
That's why I asked for examples where it is useful to have these residues. If they cannot be found it is now a good opportunity to include automatic refinement in the 0.17 version and loose some backwards compatibility.
Attachments
Bildschirmfoto 2017-06-14 um 17.19.18.png
Bildschirmfoto 2017-06-14 um 17.19.18.png (9.88 KiB) Viewed 2210 times
refinementDemo.FCStd
(6.14 KiB) Downloaded 58 times
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: #2683 Refinement transformation

Post by triplus »

chrisb wrote: Wed Jun 14, 2017 3:29 pm it is needed to repair an erroneous model
Part -> Check geometry doesn't find errors.

As for the rest:

https://forum.freecadweb.org/viewtopic. ... 10#p178042
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: #2683 Refinement transformation

Post by triplus »

Note that i am not against or for any suggestion. I just gave my feedback on how i currently use Refine functionality in (current) FreeCAD and gave some rationale on why i use this approach.

Whatever happens in this regards next i am sure i will manage. And seeing another command to be duplicated or/and some serious effort to be invested in only a sub set of FreeCAD geometry. I came to terms with that too. Sometimes you need to take a step back to take two forward. ;)
User avatar
tanderson69
Veteran
Posts: 1626
Joined: Thu Feb 18, 2010 1:07 am

Re: #2683 Refinement transformation

Post by tanderson69 »

IMHO:
If you guys want to go "all in" on refinement, I think you should switch to occt::ShapeUpgrade_UnifySameDomain. Then work upstream with occt to work the bugs out. That might be a long haul so maybe that should wait until after a release.

Another thing to keep in mind is: the better topo-naming gets the less problems there will be with turning the auto refine on and off.
Post Reply