A long awaited feature might be coming to FreeCAD in the near future: Profile open edges. The new PR, that I plan on submitting soon, contains no new properties or user inputs, but is an upgrade from the current version. The upgraded version will work on open edges, with a few restrictions. Here is some more information.
Current conditions and information:
- Admittedly, this new feature, as with most I present, is experimental to a certain degree. It lacks extensive testing.
- Open edges, exterior or interior, can now be used to generate paths.
- The new feature requires the parent face to be vertically oriented (standing). Curved vertical face edges are okay.
- The user must select upper (top) edges. The current implementation needs the Z-height value of the "edge face" to function correctly. Selecting the bottom edge will return an error and no path. Bottom-edge-selection might be available in future versions.
- The beginning and end of generated paths may not be exactly where the user wants, but the model geometry is respected. The algorithm needs further development to better refine the ends of the path. I think I will have to discretize the original edge and use the first/last segments to calculate a perpendicular line to refine the endpoints for the path. Then I will have to discretize the ends of the path wire generated and trim/extend segments to arrive at the happy ending point. This will require more work, but I think would be a desirable improvement.
- Cut direction seems sporadically determined by Path.fromShapes(), but the `Direction` property will still switch the direction of cut. The `CW` and `CCW` direction labels might not align with the actual direction, but the direction of cut will toggle to the opposite direction when the property value is changed. Additional algorithm modification is necessary to enforce fidelity to the labels.
- I have not done any testing with sketch edges, or similar wire objects. I have only tested solids. I would like to extend functionality to sketches and wires, but I don't have a time frame or priority designation for such an improvement.
- I am confident that the algorithm can be adapted to PocketShape to allow for open pockets to be cleared. I actually saw this happen during intermediate stages of development for this particular algorithm, but I passed over it because "the mission at hand was priority." Anyhow, I can go back and revisit that feature later if need be.
I have a few open PRs at the moment. This one affects the PathOpArea module. This new PR will be based upon the existing FinalDepths fix in the PR list. This existing PR needs to be committed before the new PR.
I'll will update this post with the new PR info when I get around to that.
Here's to a more capable PathWB! … and grading papers. #ATeachersLife