Axis Bow Compensation - Similar to axis twist

Simple feature request. Axis twist compensation seems to have been a valuable addition, and in many cases the missing piece of the puzzle for people hitting a wall with first layer issues.

This feature would be similar but would compensate for the bowed Y-axis that is common with Voron or other core XY that suffer from Y-axis bowing due to bi-metallic effect. More info below.

This bowing (like x-twist) changes the height of the probe relative to the nozzle resulting in bed mesh errors. For the common Voron probe set behind the nozzle this leads to the probe being lower at the front of the bed and higher at the back (relative to the nozzle).

I think a correction for the bowing should also be able to be measured and compensated in the same way as with axis twist.

I hope someone will consider looking at this issue.

@koonweee

@blastrock

@whoppingpochard

Since you link to that repo, are you aware of these macros?

If a macro does it well already, not much reason to add it as native function.

I might be mistaken, but the existing logic should already be able to compensate for a bow as well. It might be required that you define more than 3 points to sufficiently follow the curvature.

That’s very interesting! If I understand correctly, you are right in that the same axis twist compensation algorithm should be able to compensate this phenomenon. The only issue is that the compensation is currently implemented for the X axis only. A merge request is open but stale with a generalization for the Y axis: add_y_axis_support and automatic_compensation to axis_twist_compensation by yochiwarez · Pull Request #6624 · Klipper3d/klipper · GitHub

These tools are good, I use them both. But they wont solve this problem. The nature of the problem is not the bed mesh per se, but the probe and nozzle changing relative to one another at different locations on the bed. This requires an additional layer of compensation.

Ahhh, okay…

That means the work is already done?

Is there a way to get the ball rolling on that PR? Sorry I’m not capable of coding and I’m just barley familiar with what a PR is.

That wold be great…

Hopefully @koonweee can chime in and confirm?

Hey, I saw you pushing it through with the author of the PR.

Thanks!