Independent Bed Mesh Compensation for Dual Nozzle with Separate Z Axis

Hi everyone,

I’m working on an unusual large-format 3D printer design running Klipper, and I’m wondering whether anyone has already solved a similar problem.

Printer configuration:

· Build area approximately 1000 × 1000 mm

· Two print heads mounted on the same XY gantry

· The left print head is the reference tool

· The right print head has its own independent Z axis

· The bed is probed using a single inductive sensor mounted near the left print head

· Simultaneous printing modes (copy/mirror) are planned

The challenge:

After generating a bed mesh, each print head operates at a different XY position on the build plate. On a 1-meter-wide bed, the height difference between the locations of the two nozzles can easily reach several tenths of a millimeter, resulting in inconsistent first-layer quality.

What I would like to achieve is an independent Z compensation for the second print head based on the same bed mesh.

The concept is:

· Probe the bed once and generate a single bed mesh.

· The left nozzle uses the correction value Mesh(X₁, Y₁).

· The right nozzle uses the correction value Mesh(X₂, Y₂).

· The independent Z axis of the second head continuously applies:

ΔZ = Mesh(X₂, Y₂) − Mesh(X₁, Y₁)

This would allow both nozzles to maintain the same nozzle-to-bed distance even when printing simultaneously in copy or mirror mode.

Has anyone implemented something similar in Klipper?
Is there an existing plugin, fork, or custom kinematics solution that allows a single bed mesh to be evaluated at two different nozzle positions simultaneously?

Any ideas, references, or implementation suggestions would be greatly appreciated.

Thanks!