Page 5 of 6

Re: PR #5357 - add feature to create tapered Pads / Pockets

Posted: Thu Jan 13, 2022 1:56 pm
by adrianinsaval
drmacro wrote: Thu Jan 13, 2022 1:37 pm I'm not convinced, about the priority of the TNP mitigation over other things. The rt branch has a working model that has been used extensively by many people worldwide. And that model has been merged master>rt a few times since the initial PR last April. So, why does it take 10 months and counting to go the other way?

And, "ooh it's being worked on in secret back room", really? Umm...secret open source...oxymoron maybe? For 10 months.
As I said, the planned prioritization of the TN merge never happened, it has been siting there forgotten, but it seems the plan was not adjusted accordingly. And I too have my doubts about the whole private conversation argument about it. If it really is the case that stuff is being discussed privately, then this is the wrong approach in FOSS.
Anyway, this is off-topic and we should discuss it elsewhere if we're going to.

Re: PR #5357 - add feature to create tapered Pads / Pockets

Posted: Thu Jan 13, 2022 10:39 pm
by realthunder
uwestoehr wrote: Thu Jan 13, 2022 11:44 am That is clear. I asked why you don't use the Part::FaceMakerCheese::makeFace() method to handle the inner wires. This method is used by PD loft. Therefore we can treat this method as being stable and I thought we should use existing methods preferably than to create new ones.
So the question is what drawback of Part::FaceMakerCheese::makeFace() do you see that you haven't used it for your rewrite?
Because 2D operation isn't really OCC's strength, especially when offset is involved. Offseting single wire on the other hand is much more robust, and so does cutting which is a 3D operation. For example, you can offset the inner wire beyond the outer wire boundary without any problem.

Another, more general question: Your work is absolutely amazing, but I don't see discussions about this nor PRs. Therefore I cannot follow a discussion, join the development or learn things. For example for the tapered padding, this was often requested by users but I never saw a PR. What was the reason?
It is actually part of the TopoNaming PR. The first batch which is already submitted contains all the TopoShape code like _splitWire(), linearize(), etc. If you follow that topo naming thread, you'll know that I mentioned in the OP that for user who is eager to try, I have already made the following up batches as branch TopoNamingPart, TopoNamingSketch and TopoNamingSketchPart. The taper angle feature is already included in TopoNamingPart. There are more enhancement of PartDesign in my branch, but has much more close dependency on the topo naming functionality and some others like rendering and tree view enhancement.

Can you in future please make directly a PR and start discussions? We have now more mergers and manpower to handle them. I know that debates need time and take energy but in the end we benefit from the different user application input and thus can setup solutions that suit the most.
Yes indeed. I'll try to make smaller PRs in the future.

Re: PR #5357 - add feature to create tapered Pads / Pockets

Posted: Sun Jan 30, 2022 10:09 pm
by uwestoehr
realthunder wrote: Thu Jan 13, 2022 10:39 pm Because 2D operation isn't really OCC's strength, especially when offset is involved. Offseting single wire on the other hand is much more robust, and so does cutting which is a 3D operation. For example, you can offset the inner wire beyond the outer wire boundary without any problem.
You are absolutely right. While developing a solution, I realized this. The method of creating shells that are closed by faces is error prone. Numerical issues like rounding cause the face quickly to fail the solid builder of OCC.

I implemented therefore now a solution based on your approach. This is now in master for Part Extrude.

Re: PR #5357 - add feature to create tapered Pads / Pockets

Posted: Sun Jan 30, 2022 10:11 pm
by uwestoehr
The PR has been adapted to fulfill the feedback I got:

- it can deal with nested structures since Part Extrude can now do this
- the code used for Part Extrude will be used too by PartDesign Pad/Pocket

It would be nice if you could tryout the PR and give feedback:
https://github.com/FreeCAD/FreeCAD/pull/5357

Here is what you can now do:
FreeCAD_KSpeR74Ukb.gif
FreeCAD_KSpeR74Ukb.gif (480.23 KiB) Viewed 6957 times

Re: PR #5357 - add feature to create tapered Pads / Pockets

Posted: Mon Jan 31, 2022 2:34 am
by uwestoehr
Here is a Windows build with the PR on top of the current master to try out the new feature:

https://github.com/donovaly/FreeCADInst ... r27327%2B1

Re: project: Making Part Extrude taking care of inner structure

Posted: Mon Jan 31, 2022 11:31 am
by -alex-
I've tested your FC package, taper option works fine in PD WB, but flat faces and linear edges turn to Bsplines while taper option is enabled. IMO it's a pity for 2 reasons:
- B-spline are overkill shapes
- from standard pad to tapered pad the type of elements change

Re: project: Making Part Extrude taking care of inner structure

Posted: Mon Jan 31, 2022 12:19 pm
by uwestoehr
-alex- wrote: Mon Jan 31, 2022 11:31 am I've tested your FC package, taper option works fine in PD WB, but flat faces and linear edges turn to Bsplines while taper option is enabled. IMO it's a pity for 2 reasons:
- B-spline are overkill shapes
- from standard pad to tapered pad the type of elements change
We discussed this already. @davidosterberg has an idea to avoid this in many cases.

This PR just uses the existing Part Extrude feature to make tapered extrudes also with PartDesign.

Re: PR #5357 - add feature to create tapered Pads / Pockets

Posted: Mon Jan 31, 2022 12:40 pm
by -alex-
Ok, copy that.

Re: project: Making Part Extrude taking care of inner structure

Posted: Mon Jan 31, 2022 7:26 pm
by davidosterberg
uwestoehr wrote: Mon Jan 31, 2022 12:19 pm We discussed this already. @davidosterberg has an idea to avoid this in many cases.
Will work on this in 1-2 weeks when I get my brand new laptop. Unfortunately my 1.5 year old son managed to smash my old development laptop when playing :roll:

Re: project: Making Part Extrude taking care of inner structure

Posted: Tue Feb 01, 2022 12:16 am
by uwestoehr
davidosterberg wrote: Mon Jan 31, 2022 7:26 pm Will work on this in 1-2 weeks when I get my brand new laptop. Unfortunately my 1.5 year old son managed to smash my old development laptop when playing :roll:
He's becoming a rock'n roller ;) and you get this way bleeding edge hardware