My current project is ready for some testing if you would like to try it out. The current set of cut patterns have a number of bugs within the linking of paths. PR #4965, [Path] Implement new path generation class, makes a number of long over-due fixes to the current set of cut patterns for PocketShape, MillFace, and 3D Pocket(EDIT: Pocket, not Surface[yet...]). and adds a few new ones.
Here are details copied from the PR:
- Path: Numerous cut pattern fixes and upgrades
- Path: Fix cut direction fidelity for Line, ZigZag, ZigZagOffset, Offset, and Spiral
- Path: Fix cut patterns for Offset and Spiral
- Path: Add additional cut patterns: Circular, CircularZigZag, LineOffset, and Adaptive**. **Adaptive cut pattern is generated by a more condensed version of algorithm in current Adaptive operation, but is not implemented at this time due to additional requirements extraneous to this commit.
- Path: Apply updated patterns to three PathAreaOps: PocketShape, MillFace, and 3D Pocket
- Path: Current Grid and Triangle patterns will still be provided by Path.Area() and Path.fromShapes() combination similar to what is currently active. The other cut patterns, except Adaptive, are generated with a new PathGeometryGenerator class.
- Path: Two new cut strategy modules added: PathStrategyClearing and PathStrategyProfile. The latter is not implemented yet, but ready to be connected to the Profile operation. The former contains a new PathGeometryGenerator class that seeds, edits, and links the cut patterns.
- Path: Add 24 unit tests dedicated to testing cut patterns generated with new PathStrategyClearing module. Patterns tested are Line, LineOffset, ZigZag, Circular, Spiral, and Offset. Each pattern has four individual tests: 2 for cut direction and 2 for pattern reversal.
- Path: The new cut patterns have additional features available for customization, but are not implemented in this PR. Additional properties are necessary for access to these features. These features include selection of a pre-set pattern center, a custom pattern center point, and the capability of dynamic centers for 3D Pocket. Also, alternating patterns could be implemented, as well as pattern rotation with each layer.
- Path: Correct Dogbone unit test to use current Profile operation instead of current proxy of old ProfileFaces operation that was merged into current Profile op.
- Path: A new PathSelectionProcessing module is added. It contains numerous geometry manipulation functions, as well as: 2D target shape builder, 3D target shape builder, and open edge shape builder classes. This commit does not implement this module completely, rather is provided due to dependencies in this commit. This module and its contents are functional.
The cons:
- The `MinTravel` feature is disabled.
- The `KeepToolDown` feature is disabled.
I am attaching a simple script, with its intended target model file, to run on top of this PR that will generate the cut patterns on a grid of raised faces in the model file. You will need to create a default Job object based on the Fusion object in the model file, before running the script. A screenshot of the script result is attached.
Edit 2021-08-22: Update pattern test macro to reflect changes in PR today.
Edit 2021-09-15: Update testing macro script to version 3.0.
Thanks for your contributions to the development of this great software.
Russell