What gets run
The interpreter follows LinuxCNC's RS274/NGC rules: spaces are ignored, parameters on a line are set after the line is read, words run in LinuxCNC's order, and errors stop the program where LinuxCNC would. Units are shown in millimetres; inch programs are converted.
| G0 G1 G2 G3 | Rapid, feed, arcs. Arcs take I/J/K (incremental, or absolute after G90.1) or R (negative R for the long way round), any plane, helical with the third axis, extra turns with P. |
| G17 G18 G19 | Arc and cycle planes. G18 is viewed from +Y, so Z points right and X up. |
| G20 G21 · G90 G91 | Inches/millimetres; absolute/incremental. |
| G54–G59.3 · G10 L2/L20 · G92 | Work offsets and their setting; G92, G92.1, G92.2, G92.3. G53 moves in machine coordinates. |
| G73 G81–G86 G88 G89 · G80 | Canned cycles with R, Q, P, L, G98/G99 retract and G91 repeats. Lines with only X/Y repeat the active cycle. |
| G5 · G5.1 | Cubic and quadratic splines in the XY plane. |
| G28 G30 · G28.1 G30.1 | Go to and store the home positions (#5161… and #5181…, 0 unless stored). |
| G4 · G93 G94 G95 | Dwell; inverse-time, per-minute and per-revolution feed, all counted in the run time. |
| M0 M1 M2 M30 M3 M4 M5 M6 M7 M8 M9 M61 | Stops, spindle, tool change, coolant. M100–M199 are listed as user scripts. |
| #1 #<name> #<_global> | Numbered, local named and global named parameters, plus #5420–#5422 and #<_x>, #<_metric>, #<_value> and friends. |
| [ ] ** * / MOD + − EQ NE GT GE LT LE AND OR XOR | Expressions, with SIN COS TAN ASIN ACOS ATAN[y]/[x] SQRT ABS EXP LN FIX FUP ROUND EXISTS. Angles in degrees. |
| o-words | sub/endsub/call/return, if/elseif/else/endif, while/endwhile, do/while, repeat/endrepeat, break, continue. Subroutines must be in the same file. |
| (MSG,…) (DEBUG,…) (PRINT,…) | Shown under Messages, with #parameters filled in. |
Drawn but simplified, or skipped
Cutter compensation (G41/G42) is not applied: the programmed path is drawn. Tool length offsets do not move the drawn tool tip. Probing (G38.x) and spindle-synced moves (G33) are drawn as straight feeds. G76, G87, NURBS (G5.2), rotary and UVW axes are not drawn. Each of these gets a note under Messages so nothing is silently wrong.
Keys and mouse
Scroll to zoom, drag to pan, drag to orbit in Iso and 3D (shift-drag pans). Click a move to jump to its line; click a line to see its moves. Double-click the plot to fit. Drop a file anywhere to open it.