The important part first – I might be willing to take a swing at implementing this, but I think some feedback first to see if there are any issues is wise, before putting in a bunch of work to discover that what I’m thinking isn’t of interest to people, or won’t work at all for some reason… There has been some question about what I’m about to suggest here and here, but the resulting threads misunderstood what the posters were asking.
Short version: I want to be able to combine a measured bed_mesh
with a measured bed_tilt
, with the result being an adjustment that should be able to print a properly square cube, regardless of the state of the bed. In theory, (I think, anyway) this should eliminate the need to run BED_SCREWS_ADJUST
, except for gross adjustments. And yes, I am aware that currently, bed_mesh
and bed_tilt
cannot be used at the same time.
Why is this important? The two corrections are intended for different defects in the print surface. bed_mesh
corrects imperfections in the surface height of the build plate, but assumes that the plate is exactly aligned with the [x,y,z=0]
plane in the print volume. bed_tilt
on the other hand corrects for a bed that is not aligned with [x,y,z=0]
, but assumes that the plate itself is perfectly smooth. In practice, a build plate usually has both problems – it has minor surface imperfections, as well as having a slight 2 dimensional tilt with respect to the bottom of the print volume.
My assumption is that the flatness of the build plate is fairly constant, and is expensive to measure in terms of time, and that the bed tilt varies more easily with temperature and vibration, and can be measured with a much smaller number of points. The process I am suggesting would be that bed_mesh
and bed_tilt
are created with much the same process that is currently in place. The difference would be that for printing, a best-fit plane would be calculated for the bed mesh, and and a transformation created using this plane and the tilt correction that that would align this plane with [x,y,z=0]
plane of the print volume, while maintaining the corrections for the bed surface.
While good practice would be to have the bed as level as possible before measuring the bed mesh and before printing, this correction makes this far less important. You should be able to probe and create a bed mesh with the right side of the build plate several millimetres low, and then use that bed mesh to print on a build plate where right side is several millimetres high. (Assuming that the bed tilt is correctly measured before the print.)
So… Would this be useful? Am I missing something obvious?
grnbrg.