Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

The checker

Every program goes through an independent checker before Chipload writes it, in the app and on the command line. A program that fails isn’t exported.

What it is. The checker is separate code that shares nothing with the code that makes the toolpath. It reads the finished G-code line by line, as a controller would, and judges it against the project’s stock, safe Z and machine. Because it is independent, a bug in the toolpath code is likely to be caught by the checker, and the other way round.

What it refuses:

  • a rapid (G0) down into the stock, or sideways while the tool is below safe Z;
  • a cut deeper than the stock bottom plus Max depth below stock;
  • moves beyond the machine’s travel, when the travel is set;
  • an arc whose ends don’t lie on its circle, or an arc that is a full circle in one move;
  • a cutting move with no feed, a zero feed, or the spindle off;
  • relative (G91) coordinates, and motion before G21 or G20 and G90;
  • a program in other units than the machine’s G-code units, or one that changes units part way (an inch program is read in inches and checked in mm);
  • a tool change with the spindle running or below safe Z;
  • any G or M code it doesn’t know (see Post-processors).

What it warns about:

  • cuts into the spoilboard, within the allowed depth;
  • travel limits that weren’t checked because the machine’s travel isn’t set.

On any G-code: chipload check part.nc --job part.chipload checks a file, also one made by another program, against a project’s stock and machine. With several tools, add --tool N to check one file of a set.

What it can’t know: your clamps and fixtures, the tool’s real length, whether the stock is really there, and whether the zero is set right. The safety rules still apply.