Feature issue 15583 spiral z hop
Description
This pull requests adds a tangential spiral z-hop and thus fixes this issue. It provides a smooth spiral z-hop after a retraction, where the beginning and the end of the spiral (or arc) is tangential to the previous and following movement. Additionally, a retraction can be performed throughout the spiral. The z-height increases linearly throughout the spiral and the speed in xy-direction is kept constant relative to the previous movement. After the following travel a normal unretract and vertical un-z-hop is performed. The full documentation on this feature can be found over here. This pull request is paired with a pull request in cura over here.
Type of change
-
Two new files were added into path planning for calculating the arc.
-
Inside the gcode export the arc is created and used to write a spiral z-hop (possibly with retraction).
-
In the layer plan the logic for which type of retraction is performed is changed depending on the UI settings and possibly adding a spiral z-hop to the gcode.
-
Added the spiral path to the gcode preview after slicing.
-
Added unit testing for the arc path calculation.
-
[ ] Bug fix (non-breaking change which fixes an issue)
-
[x] New feature (non-breaking change which adds functionality)
How Has This Been Tested?
- [x] Unit testing for arc calculation
- [x] Test prints on internal printer
- [ ] Add photos of test prints
Test Configuration:
- Operating System: Window 10
Checklist:
- [x] My code follows the style guidelines of this project as described in UltiMaker Meta
- [x] I have read the Contribution guide
- [x] I have commented my code, particularly in hard-to-understand areas
- [x] I have uploaded any files required to test this change
Hi,
Thank you for taking the time to contribute. We're in the progress of updating our Way-Of-Working with regards to PR's so I'm adding some label(s). That way we can prioritize our work-load and give your PR the love it deserves.
Either I our one of my colleagues will pick this up in the near future
Hey @NadineMik ! I have created a branch and a PR based on your PR https://github.com/Ultimaker/CuraEngine/pull/2076, to test the feature. I'd like you to please take a look at the benchmarks.
You can find benchmark results here: https://github.com/Ultimaker/CuraEngine/actions/runs/8891872064/job/24414747014?pr=2076
Hey @NadineMik ! I have created a branch and a PR based on your PR #2076, to test the feature. I'd like you to please take a look at the benchmarks. You can find benchmark results here: https://github.com/Ultimaker/CuraEngine/actions/runs/8891872064/job/24414747014?pr=2076
Hi @saumyaj3, thanks for pointing this out. There was a minor mistake in two of the gtest macro calls. I corrected it and pushed it to the branch in my fork. All checks which ran are pass now.
