Supported scope and known limitations
One page summarizing the G-code scope CNC Path Analyzer interprets (supported, partially supported, reference interpretation, blocked) and the limitations that can make the drawing differ from a real machine.
How support is defined
On this page, supported means that syntax whose expected coordinates have been confirmed by automated tests and synthetic examples can be drawn on screen. It does not mean the program will be machined safely on a particular machine, nor that it is compatible with every controller option. As a rule, unconfirmed behavior is not guessed and drawn; instead, drawing stops and the reason is shown.
Current status by feature
| Area | Status | What to check |
|---|---|---|
| G00/G01 linear moves | Supported for lathe and milling | Absolute/incremental, selected plane, lathe X shown as diameter |
| G02/G03 arcs | Shown only for supported planes and definitions | R sign, I/J/K and end-point radius agreement |
| Lathe G70/G71/G72/G73 | Verified subset | Controller differences in pocket, return and first-block rules |
| G76 threading cycle | Two-block format supported | Lead, thread depth, first depth of cut |
| Drilling and tapping cycles (G73/G81–G89) | Partially supported by machine and controller | R interpretation in lathe G83/G84, K0, return level |
| G12.1/G13.1 polar coordinates, C axis | XC polar coordinates and split display | Actual rotation direction, origin and machine kinematics |
| M98/M99 calls | Program calls by O number | Missing, duplicate, recursive calls and execution limits |
| Variables and expressions | Limited assignment, expressions, conditions/loops | System variables and the full macro environment are not reproduced |
| Heidenhain, Siemens, 5-axis | Only the interpretable parts of the path | TCP, pivot, tool length and rotary-axis kinematics are not reproduced |
The five display states
- Supported: scope whose expected coordinates have been confirmed by synthetic regression tests.
- Partially supported: only some formats of a command are interpreted; other formats are blocked.
- Reference interpretation: for formats whose behavior differs between controllers, the path is drawn only under an assumption the user has explicitly chosen, and it is marked as a reference path.
- Blocked: to avoid producing a plausible but possibly wrong path, no result is shown and the cause line is reported.
- Unverified: items that are not estimated automatically because there is no machine or controller evidence.
Why the drawing can differ from the real machine
The tool computes the path from the program text alone. The following information is stored outside the program, on the machine side, so it is not reflected in the drawing.
- Work offsets (G54 and others) and tool length and wear offset values.
- The actual shapes of chucks, fixtures, tailstocks and tool holders, and the stock size.
- Axis acceleration, servo response, the order in which axes arrive during rapid traverse, and tool change time.
- Cycle details that change with controller parameters, and machine-specific M-codes.
- 5-axis pivot length, tool center point control (TCP) and rotary-axis kinematics.
An example of how the controller choice changes the result
A typical case where the same text becomes a different path depending on the controller is the corner R command in a linear block. In the G01 X40. R2. format, some controllers (the YASNAC family) read the sign of R as a direction, while others always read it as a positive radius. If "G01 corner R interpretation" in the machine settings is left on automatic, the rule of the selected controller is used; if you choose one explicitly, that rule is fixed. A comma-prefixed ,R is always a positive radius and does not affect R in arcs or cycles.
M-codes are similar. Common codes such as spindle rotation, coolant and program end are annotated with their meaning, but manufacturer- or model-specific M-codes are explained only when confirmed documentation exists; unknown codes are never given made-up names.
If you ignore a warning
If you ignore a called-program error and keep viewing, an incomplete path with the problem section missing may be drawn. Computation limits or geometry errors can block the entire result. The disappearance of a warning does not prove that a program is safe, so we recommend checking warnings in the order described in Path troubleshooting.
Verification and updates
Public examples and regression tests use independently written synthetic programs, never production NC. When a new format is supported, its expected coordinates and error classification are first fixed in tests and then released, and behavior changes are recorded in the changelog.