-
-
Notifications
You must be signed in to change notification settings - Fork 913
CURA-12369 extra wipe move with spiralize #2206
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
Conversation
CURA-12369 The actual Z of the tapering spiral ends up at layer_thickness / 2.0 because for this layer, we print the last extrusion path twice with different Z offset and speeds, so at the end of the first path extrusion, the spiral should be at layer_thickness / 2.0 and that is where we want to print the tapering spiral.
rburema
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, that is weird, totally not what I see 🤔 can you send the 3MF ? |
It's just the project attached to the ticket 😅 |
A path of constant height is added to 'finish' the top of spiralization -- this wasn't done at the correct height (at the very least in the preview for Windows but not in Linux -- which is still not completely clear why). part of CURA-12369
|
Hm, Windows also shows a similar jump, but smaller: I copied this, and you screenshotted it; I'm not sure where the difference between Anyway, it's wrong here too -- still 1 layer above the model, rather than 1.5 |
…non-spiralize' code. Eventually, we should probably refactor this to use the scarf-seam code. part of CURA-12369
|
Code looks good, now I'm gonna test it on Linux 🥁 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR restores the previous spiralize wipe move behavior and improves the display of the spiral by more accurately showing the upward movement during printing. Key changes include an updated Point3LL constructor to accept a z-coordinate, modifications to the sendLineTo function signature and its corresponding calls, and refactored spiral path handling in LayerPlan.cpp using a lambda function.
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| src/geometry/Point3LL.cpp | Updated Point3LL constructor to include explicit z initialization |
| include/geometry/Point3LL.h | Updated constructor declaration for Point3LL with an optional z |
| src/LayerPlan.cpp | Modified sendLineTo signature and adjusted calls; added lambda for spiral paths |
| include/LayerPlan.h | Updated sendLineTo declaration with an optional line_thickness parameter |
Comments suppressed due to low confidence (2)
src/LayerPlan.cpp:3085
- [nitpick] Consider renaming the parameter 'end_layer' to something like 'is_end_layer' for improved clarity of its boolean nature.
const auto writeSpiralPath = [&](const GCodePath& spiral_path, const bool end_layer) -> void
src/LayerPlan.cpp:3103
- Constructing a new Point3LL with only p1.x_, p1.y_ and computed z_offset may omit the original z value of the spiral path. Verify that this intentional change correctly represents the desired position.
sendLineTo(spiral_path, Point3LL(p1.x_, p1.y_, z_offset), extrude_speed, layer_thickness_);



This restores the previous behavior which was broken during scarf seam implementation. As a bonus, it also improves the display so that it now properly shows the actual spiral moving up during the print. This is much more accurate, however it emphasizes two incorrectnesses of the spiralize mode:
Those behaviors were similar in Cura 4.13.1, so I assume they can be safely ignored, and restoring the previous behavior is good enough for now.
CURA-12369