Skip to content
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

Feature issue 15583 spiral z hop #1995

Open
wants to merge 16 commits into
base: main
Choose a base branch
from

Conversation

NadineMik
Copy link

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)

  • New feature (non-breaking change which adds functionality)

How Has This Been Tested?

  • Unit testing for arc calculation
  • Test prints on internal printer
  • Add photos of test prints

Test Configuration:

  • Operating System:
    Window 10

Checklist:

  • My code follows the style guidelines of this project as described in UltiMaker Meta
  • I have read the Contribution guide
  • I have commented my code, particularly in hard-to-understand areas
  • I have uploaded any files required to test this change

@github-actions github-actions bot added the PR: Community Contribution 👑 Community Contribution PR's label Dec 8, 2023
@saumyaj3 saumyaj3 self-assigned this Jan 10, 2024
@saumyaj3 saumyaj3 assigned saumyaj3 and unassigned saumyaj3 Jan 10, 2024
@jellespijker jellespijker added the PR: Slicing Process 🤯 Like fixing simplification, adding a new primetower, introducing tree support, correcting logging, label Feb 16, 2024
@jellespijker
Copy link
Member

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

@saumyaj3 saumyaj3 removed their assignment Mar 21, 2024
EXPECT_EQ(arc_points[0].second, pt.second) << "The speed does not stay constant over the arc.";
}
EXPECT_NEAR(arc_points[0].second * (arc_length / total_distance), xy_speed, error_margin);
EXPECT_LE(arc_points[0].second * (hop_height / total_distance), high_z_speed, error_margin);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://github.com/Ultimaker/CuraEngine/actions/runs/8891872064/job/24414747014?pr=2076
Hey @NadineMik can you take a look into these benchmarks and why they are failing?

@saumyaj3
Copy link
Contributor

saumyaj3 commented Apr 30, 2024

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
image

@NadineMik
Copy link
Author

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 image

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PR: Community Contribution 👑 Community Contribution PR's PR: Slicing Process 🤯 Like fixing simplification, adding a new primetower, introducing tree support, correcting logging,
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add Spiral Z-Hop and Diagonal Z-Hop like BambuStudio and Orca Slicer
4 participants