[merged] PR #5357 - add feature to create tapered Pads / Pockets

Post here if you have re-based and finalised code to integrate into master, which was discussed, agreed to and tested in other forums. You can also submit your PR directly on github.
adrianinsaval
Veteran
Posts: 3156
Joined: Thu Apr 05, 2018 5:15 pm

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

Post 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.
realthunder
Veteran
Posts: 2164
Joined: Tue Jan 03, 2017 10:55 am

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

Post 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.
Try Assembly3 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
Veteran
Posts: 4293
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany

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

Post 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.
User avatar
uwestoehr
Veteran
Posts: 4293
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany

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

Post 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 2486 times
User avatar
uwestoehr
Veteran
Posts: 4293
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany

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

Post 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
User avatar
-alex-
Veteran
Posts: 1287
Joined: Wed Feb 13, 2019 9:42 pm
Location: France

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

Post 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
User avatar
uwestoehr
Veteran
Posts: 4293
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany

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

Post 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.
User avatar
-alex-
Veteran
Posts: 1287
Joined: Wed Feb 13, 2019 9:42 pm
Location: France

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

Post by -alex- »

Ok, copy that.
davidosterberg
Posts: 529
Joined: Fri Sep 18, 2020 5:40 pm

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

Post 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:
User avatar
uwestoehr
Veteran
Posts: 4293
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany

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

Post 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
Post Reply