After figuring out how two-place decimal fractions caused this blooper, I had to poke into the debris field surrounding the crash:

The bCNC Terminal trace stops at the first failure, so I set GCMC to produce two-place fractions (“Number of decimals less than 3 severely limits accuracy”), then rammed the NGC file’s G-Code into a spreadsheet:

The last two columns (perhaps you must open the image in a new tab to see the whole thing) compute the GRBL error values: the absolute difference between the two radii and that difference as a fraction of the radius. The R Error header under Start should be X, of course; I’ll regenerate the images for the DM column.
The reduced accuracy of the two-digit fractions triggers the error marked by the red cells, where the radii differ by 0.0082 mm (>0.005) and the relative error is 0.17% (>0.1%).
Suppressing the first failed arc by passing the same starting point to the next arc simulates the second failure:

Similarly, the third arc from the same point fails:

The fourth arc becomes a full circle and produces the circular gash across the deck:

Two digits definitely aren’t enough!
2 thoughts on “GRBL Error 33: G-Code Arc Tolerances”
Comments are closed.