Yes, this is all true. And you are absolutely correct. However, if you have a consistent error, and you have whatever tools you have, then measuring the hardware (preferably, as you correctly pointed out, at multiple points, and then averaging between those) will be the optimal thing to do.
After all, the error might not be because of weird Al-extrusion imperfections or POM-wheel eccentricities or whatnot, but it could be because your belt or your belt gear is slightly too thick or thin, and thus cause a systematic error, and this should be compensated for exactly in the steps configuration.
But yes, you should first figure out if your error is indeed systematic, by measuring at multiple points. If you get that X 0-20 is off one way and X 20-40 is off the other way, or if Y 0-150 is off by one value at one point, but later it’s off by a completely different value, then the error is indeed in something more or less unpredictable, so changing your steps config might not be helpful at all.
And yes, of course X and Y are handled independently on a bedslinger.
I didn’t say it’s easy. But it will likely be more accurate than calibrating based on a printed part, using the same measuring instrument. (That is, after verifying that it’s systematic, as per above.)
E.g., when I do this on my bedslinger (which is the type of printer this was about) the printed part is off by 0.2 mm at 150 mm (measuring 149.80 mm), but when I measure the toolhead or bed directly with the very same caliper it’s off by no more than 0.02 mm. So I can conclude that my hardware steps are defined more or less correctly, and the error in the printed part comes from other problems.
Now, at 100 mm my printed part is off by about 0.07 (measuring 99.93), at 50 mm it’s also off by about 0.07 but the other way (measuring 50.07), and at 5 mm it’s off by 0.18 (measuring 5.18 mm). Now, this tells me that this particular filament, printed with these settings, needs a shrinkage compensation (i.e., a size multiplier, m=1.00263 ((150-5)/(149.8-5.18)
)), and some negative horizontal compensation (i.e., an expansion constant, e=-0.097 ((5-5.18*m)/2
).
And we can verify how well these numbers fit the measured values:
99.93*m + 2*e = 99.999
50.07*m + 2*e = 50.008
(and the 149.8 and 5.18 will of course match perfectly, because m and e were derived from these measurements).
However, all these measurements were taken after I had corrected my rotation distance/esteps. In the beginning they were off by a factor of 2, so when I moved X 20 mm it actually moved 40 mm. Instead of using a scale multiplier of 0.5 (or 0.5013 after printout calibration) I really, really needed to correct the rotation distance/esteps first of all. And if I change some gears or switch to a much thicker belt I will have to re-calibrate the rotation distance/esteps.