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!
