Add support for calculating points like mesh_min and mesh_max based on physical bed size#879
Open
Luro02 wants to merge 8 commits into
Open
Add support for calculating points like mesh_min and mesh_max based on physical bed size#879Luro02 wants to merge 8 commits into
mesh_min and mesh_max based on physical bed size#879Luro02 wants to merge 8 commits into
Conversation
Luro02
force-pushed
the
feature/automatic-offsets
branch
2 times, most recently
from
May 2, 2026 10:05
c3f16d4 to
c3105bb
Compare
Luro02
marked this pull request as ready for review
May 3, 2026 13:57
2 tasks
Luro02
force-pushed
the
feature/automatic-offsets
branch
2 times, most recently
from
May 9, 2026 08:27
16d2d4a to
dcb02c8
Compare
Luro02
force-pushed
the
feature/automatic-offsets
branch
from
June 1, 2026 08:17
dcb02c8 to
788eaa8
Compare
Luro02
force-pushed
the
feature/automatic-offsets
branch
from
June 22, 2026 09:55
788eaa8 to
37455f5
Compare
Luro02
force-pushed
the
feature/automatic-offsets
branch
from
July 8, 2026 20:36
37455f5 to
d061f57
Compare
Luro02
force-pushed
the
feature/automatic-offsets
branch
from
July 11, 2026 11:03
d061f57 to
a67735a
Compare
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.
What will this PR introduce?
This PR extends Kalico with sections for specifying the physical bed size and where the nozzle would have to move, to be over the bed corner:
[printer] kinematics: corexy max_velocity: 400 max_accel: 5000 max_z_velocity: 30 max_z_accel: 350 square_corner_velocity: 5.0 bed_size: 300, 300 bed_corner_position: -4.3, -10.8The properties will then bed used to calculate positions that previously had to be specified by the user.
For example, in the
bed_meshsection, the user had to specify thebed_minandbed_maxpositions, defining the corners of the mesh that should be probed.With this PR, the user can omit them, and instead specify a margin (how much the mesh should be away from the edges of the bed):
[bed_mesh] zero_reference_position: 150, 150 speed: 300 horizontal_move_z: 3 margin: 30, 30 probe_count: 30, 30 algorithm: bicubicThe code will then calculate
mesh_minandmesh_maxbased on the defined physical properties and the desired margin.This PR updates the following sections to take advantage of this feature
[bed_mesh][quad_gantry_level][safe_z_home][axis_twist_compensation]In the below section, I have mentioned other sections that could benefit from this feature.
I have a CoreXY Voron 2.4, so I am neither using these sections, nor do I have the
ability to test these on a real machine. That is why I want to leave the implementation up
to future pull requests.
Why is this needed?
In many configuration sections points have to be specified that depend on the position of the bed, the offset of the probe and the physical limits of where the printer can move to:
bed_meshbed_tiltbed_screwsscrews_tilt_adjustz_tilt/z_tilt_ngquad_gantry_levelsafe_z_homeaxis_twist_compensationWhen you change any of the following
you would have to go through every section and recalculate or update the positions. This is time-consuming, error-prone and can be confusing, because some sections use probe offsets, others not.
PR #500 added the
use_probe_xy_offsetsoption, which allows making certain points relative to the probe. If there is enough space to move, this is not a problem, but consider the following example wherepis the probe andnthe nozzle:now the offset in x direction is increased:
The probe point remains the same, but it might not be possible to reach that position anymore, because the nozzle is too far from the bed. The
use_probe_xy_offsetshelps when the probe offset changes, but it does not have a concept of where the bed is or account for the axis limits, resulting in potential crashes into the bed or move out of bounds errors.In the PR for the
use_probe_xy_offsets, a kalico crew member commented:#500 (comment)
Suggesting that this feature is desirable.
Checklist