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:

  1. Select the operation in the CAM panel, open its ADVANCED section, and tick Debug toolpath.
  2. 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.
  3. In that dialog's footer, click Inspect exported motion.
Both steps matter. Without Debug toolpath the Inspect exported motion button isn't rendered at all, and the project-wide Export button in the CAM panel header never shows it — only the per-operation export does.

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:

LayerWhat it is
Generated (raw)The toolpath exactly as the operation computed it, before any export-time processing.
OptimizedAfter the always-on linear-move optimizer collapses redundant collinear moves.
Exported G-codeThe final motion written to the file, including arc fitting where enabled and supported.
Non-cutting movesRapids and other non-cutting motion. Off by default, so the cutting path reads clearly.
screenshots/cam-debug-view-overlay.png
Exported motion dialog — cutting level selector, layer toggles, move-count stats, and the overlaid toolpath

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:

GroupReports
RAW MOVESRaw moves, Optimized moves, and Removed — how many collinear moves the optimizer collapsed.
EXPORTED G-CODELinear, Rapid, CW arcs, and CCW arcs — the command mix actually written to the file. Non-zero arc counts confirm arc fitting engaged.
PER LEVELSegment 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.

Machine-dependent. Whether arcs are emitted, and in which format (center-offset 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.