New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PartDesign: Taper angle in Pad #5379
Conversation
Make Pad support tapered pads with the help of BRepOffsetAPI_DraftAngle This works for pads that are created from line segments and arcs. It does not work for bspline segments. It also cannot pad arcs in other directions than the normal direction.
Thanks for the PR! I wonder why we would like to do it this way rather than making a pad and then make a draft. Draft itself already uses If it is still convenient to have a taper while making the pad, I would say it should use the pre-existing draft and auto-add all the faces in the command. |
FeatureDraft is operating with FreeCAD face numbering. Topological naming problem makes FeatureDraft unusable for anything that will be parametric.
You still need the logic to identify the neutral plane, and identify which are the new faces. This is not part of FeatureDraft. This logic is most of this PR. Edit: The discussion of the usefulness of the feature has been discussed in the forum threads for the other PRs. I created this PR because I wanted to give a concrete proposal for how the functionality could be achieved with a method that generates simple geometrical shapes. |
Thanks for the PR. However, we need to act in a planned matter. I will point this out again in the forum.
|
Hi @davidosterberg , as I wrote here: The plan is the following: This way we have code that can handle inner wires.
Would this be fine and reasonable with you? |
Sounds good |
The mentioned PRs are in. |
Tapered pad has been merged in master with a different implementation. Unlike the implementation in this PR, that implementation supports having two separate taper angles Forward and Reverse. Implementing this with the method here would involve a lot of additional code and it would not be elegant. Therefore I have decided to close this PR and work on other things. |
What do you mean with different? As I always wrote, the Part Extrude feature offered tapered extrude in two directions so we cannot drop this since this will break existing documents. All I did was to use the existing Part Extrude code also for PartDesign. I did not reinvent or rewrote anything. |
It was not meant as a complaint. Only as info. What I mean is that the method in this PR can only deal with one taper angle, not two. This is because it works by taking the prism, then making it tapered. You are right that it was known for long how the other implementation was working. But only now did I actually have time to have a look and try to integrate my code into ExtrudeHelper, I conclude that it is not worth doing. At least not to me. |
OK. I understand. Thank you for clarification. |
Wait, I think we are too fast. We can of course rewrite the code so that tapering is done the following way:
What do you think? Note that as it is, sketches containing splines cannot be taper-extruded anyway. so with the proposed method, I don't see a regression. |
appears to work but only with negative angles |
Since David said he will not continue on this, closing this PR. It can be reopened if necessary or a new PR can be made. |
Make Pad support tapered pads with the help of BRepOffsetAPI_DraftAngle
This works for pads that are created from line segments and arcs.
It does not work for profiles that contain bspline segments. It also cannot pad profiles with arcs in other
directions than the normal direction.
This PR should be seen as a complement to #5357 and #5367.
In particular this PR does not contain any UI code.
Forum discussion:
https://forum.freecadweb.org/viewtopic.php?f=10&t=65171
Behavior is a bit different than the implementation in #5357. In this PR there is only one Taper angle and it will apply to both directions