Repository navigation
Respect machine Z speed limits in generated travel - #993
Open
highpowerxh wants to merge 1 commit into
Open
highpowerxh wants to merge 1 commit into
highpowerxh wants to merge 1 commit into
Conversation
Cap pure-Z and combined XYZ travel, retain physical Z through deferred layer changes, and preserve hop height above the new layer. Add writer and exported-G-code regressions. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Closes #970 for the generated travel-feedrate defect. This PR targets
mainindependently of the acceleration-preset-only PR #990; it changes no printer or material presets.machine_max_speed_zvalue and cap pure-Z travel, lift/unlift, and spiral lift when the limit is positive. Preserve explicittravel_speed_z, its zero-value active-travel fallback, and first-layer fallback behavior, regardless of whether machine-limit commands are emitted.force_zlift preserves the requested hop height above the new layer.No dependencies or profile migrations are introduced. This fixes an objectively excessive generated feedrate, not the separate excessive preset acceleration tracked in #989. It does not establish the root cause of mechanical height loss or guarantee against missed steps. User-authored G-code and firmware bed compensation are outside this change's scope. The reported successful hardware print at Z acceleration 500 mm/s² and Z speed 10 mm/s did not isolate this code change.
Screenshots/Recordings/Graphs
No UI changes. The reported straight segment from
X167.804 Y167.985 Z0.3toX167.921 Y167.804 Z0.5previously requestedF6000, approximately 68.02 mm/s in Z despite a 40 mm/s limit. Its regression now requires:Tests
Native validation was run in the existing arm64 macOS parent worktree:
/Users/HighPower/repo/copilot-worktrees/OrcaSlicer/highpowerxh-issue-970-z-hop-speed-is-not-limited-by-machine-ma-0f8657.cmake --build build/arm64 --target fff_print_tests --parallel 6: passed in the fresh native rebuild on October 11.build/arm64/tests/fff_print/fff_print_tests.app/Contents/MacOS/fff_print_tests: passed 844 assertions across 38 test cases in the fresh rerun (seed724905872).cmake --build build/arm64 --target Snapmaker_Orca fff_print_tests --parallel 6: passed on October 10 after the final deferred-layer fix.Coverage includes pure-Z fallback/explicit speeds, first-layer fallback, limit refresh, machine-limit emission enabled/disabled, ascending/descending and shallow XYZ geometry, output coordinate quantization, normal/lazy/spiral hops, lift restoration, the exact offending segment above, and deferred layer-change G-code export.
The transferred six-file patch and this branch's diff have identical SHA-256:
c9574a831c1634e8ceca0cf94dc9c643a1bb032d35d26ebeb29cfc5a2bb6e6d8.The parent tested checkout is at
b7012d11fec7c035365fe7c5e9ca6764f211fbe9, based on42657f9bdae6d8eee54a54ba634d833c67565fe9, with separate acceleration-preset commits and the same six-file code/test patch. This PR is based on currentmain,441f73cc8d91d84f574a9d910e84fb8eeb099cf5; that newer baseline removes shell/paint-penetration validation inPrint.cppand related GUI code (#986). Those baseline changes are not part of this PR.In this independent checkout,
git apply --check,git apply --reverse --check, andgit diff --checkall passed; transfer needed no conflict resolution. No native build was run in this fresh checkout, avoiding a duplicate dependency build. Physical printer behavior has not been isolated or validated for this patch.