Why a Separate Inspector
Export applies two automatic transformations before your toolpath becomes G-code: a
linear-move optimizer that always collapses redundant collinear moves, and
optional per-operation arc fitting that replaces contiguous linear moves
approximating a circle with G2/G3 arc commands where the selected
machine supports it. Both change the move list, not just its formatting — the
Exported motion inspector exists so you can confirm those changes still
trace the shape you designed before you run the file on a machine.
Opening the Inspector
The inspector is per operation, and it's hidden until you opt in:
- Select the operation in the CAM panel, open its ADVANCED section, and tick Debug toolpath.
- With that operation still selected, click Export G-code for this operation — the small G-code icon in the operation PROPERTIES header. A machine must be selected on the Project node, since there's no exported motion to inspect without a post-processor.
- In that dialog's footer, click Inspect exported motion.
Motion Layers
The dialog — titled Exported motion — <operation> — overlays the same toolpath as an interactive 2D drawing in project coordinates, so it lines up with what you see in the Sketch view. Four layers can be toggled independently under OPTIONS, each with its own color swatch:
| Layer | What it is |
|---|---|
| Generated (raw) | The toolpath exactly as the operation computed it, before any export-time processing. |
| Optimized | After the always-on linear-move optimizer collapses redundant collinear moves. |
| Exported G-code | The final motion written to the file, including arc fitting where enabled and supported. |
| Non-cutting moves | Rapids and other non-cutting motion. Off by default, so the cutting path reads clearly. |
Turn layers off to isolate what changed at each stage. Where arc fitting is active, the exported layer's curves visibly replace the optimized layer's short straight segments. A CUTTING LEVEL dropdown picks which Z level to draw, and Fit and Zoom selection frame the view.
Move Counts
The left column quantifies what each stage did, so you can confirm the optimizer and arc fitter earned their keep instead of guessing from the drawing:
| Group | Reports |
|---|---|
| RAW MOVES | Raw moves, Optimized moves, and Removed — how many collinear moves the optimizer collapsed. |
| EXPORTED G-CODE | Linear, Rapid, CW arcs, and CCW arcs — the command mix actually written to the file. Non-zero arc counts confirm arc fitting engaged. |
| PER LEVEL | Segment count for the currently selected cutting level, e.g. Z=0.65: 64 segs. |
Verification
Below the drawing, a status line reports whether the exported motion still matches the toolpath it came from — "Verified — exported motion matches the generated path within tolerance." when everything checks out.
For arc-fitted operations that check measures how far each fitted arc departs from the original toolpath's source vertices — not from the straight chord between them, which would understate the error as arc radius grows. It's the same measurement the arc fitter uses internally to accept or reject a candidate arc, surfaced here so you can confirm the result rather than just trust it.
Arc Fitting Per Operation
Arc fitting is controlled per operation. In the operation's properties, the
Arc fitting (G2/G3) checkbox fits contiguous linear moves that
approximate a circular path into G2/G3 arc moves where the
selected machine's post-processor supports it. It's export-only — it never changes the
displayed or simulated toolpath, only what gets written to the .nc file.
I/J or radius R), is declared by the
selected machine's post-processor — see Custom
Machine Definitions. If the machine doesn't declare arc support, fitting falls back to
the original linear segments for that operation automatically.
Every arc that does get written is validated against the controller's own arithmetic before it leaves the app — see Arc Output That Controllers Accept.