The calibration benchmark test is a tool to help us measure how well calibrated a machine is. We came up with the test as a “before and after” test to check if a change to the calibration process made the machine more accurate or less accurate. We wanted a test which would let us compare apples to apples instead of cutting different shapes in different places.
The test can also be a good way to test how well calibrated your machine is. Right now a good calibration score is something in the neighborhood 1.0-1.0. More on how that number is computed below.
You can easily load the calibration benchmark test by clicking Actions → Advanced → Load Calibration Benchmark Test
The test is a gcode file which looks like this:
The test cuts shapes near the edges of the sheet because calibration inaccuracies are most pronounced there. The test cuts four rectangles and four lines.
When measuring the test pattern all measurements should be taken from one side of a cut to the same side of the opposite cut so that the size of the bit is canceled out. For example from the right edge of one cut to the right edge of the other cut.
The squares should be 100mm which is small enough to be measured by a standard set of calipers.
The vertical cut should be 900mm apart
The horizontal cuts should be 1905mm apart. 1905mm is a legacy number which we used to use as part of the calibration process. I don’t even remember why we used that number.
The results of measuring these distances is boiled down into a two number score like 5.43-2.10 where the first number reflects accuracy in the long measurements (1905mm and 900mm) and the second number reflects the machine’s accuracy when cutting small parts in the far corners of the sheet.
Each number is the average error in the measurements. For example if we had the measurements (902, 900, 899, 1903, 1906, 1904) for our long cuts we would compute.
for an average error of (2+0+1+2+1+1)/6 = 1.16
I just wanted to put all that into writing somewhere we can reference it. Let me know if I made any arithmetic mistakes in my example