Recommended test
Use the existing 100 × 60 mm outside contour, 20 mm stock, 6 mm cutter, 2 mm stepdown, and four 8 × 2 mm holding tabs.
- Open CAM in 2D. At the bottom of the operation card, find the default-closed Motion plan row and confirm its move count remains visible.
- Open Motion plan. Confirm the summary shows approaches and ramps, zero plunges, 10 cut loops, and Safe Z matching Job Setup.
- On the canvas, confirm a blue dashed line runs from job zero to the cyan start marker and the contour centreline is solid green.
- Drag the cyan start marker. The blue rapid endpoint should follow it and the plan should remain ready.
- Switch between Climb and Conventional. The contained caret should reverse; the underlying ordered cut moves should reverse with it.
- Change Stepdown to 4 mm. The plan should rebuild to 5 depth passes and longer ramp entry for each pass.
- Open 3D. The deepest pass should include subtle amber lift and purple lower lines at the gold tab boundaries.
- Drag a gold tab and switch between Climb and Conventional. The plan should remain ready and preserve four lift/lower pairs at the new exact boundaries.
- Turn tabs Off. Tab lifts and lowers should return to zero while the rest of the plan remains ready.
01 · EXPLICIT ORDER
No implied moves between passes
1 Retract at job zero to Safe Z 2 Rapid XY at Safe Z to the chosen start 3 Approach the previously cleared depth at the stored plunge feed 4 Ramp along the contour to the new target Z 5 Cut one complete closed contour loop at cutting feed 6 Before a deep tab: lift vertically to tab-top Z 7 Cross the bridge at cutting feed, then lower 8 Retract and return safely for the next depth 9 Repeat the entry and directional loop for every pass 10 Retract from the final depth to Safe Z
Each move stores its start and end XYZ coordinates in millimetres, move kind, optional feed rate, pass number, and tab identity when applicable. The first preview begins at work origin X0 Y0 Z0 so inspection and later animation have a deterministic staging point; it does not model homing or the machine's real parked position.
Ramp is the default for new supported contours. Straight Plunge remains selectable, and vertical tab lifts and lowers still use the stored plunge rate. Verify the cutter, material, feed, angle, and setup.
02 · TOP-VIEW LANGUAGE
Show XY clearly and describe Z honestly
The generated motion information sits at the bottom of its operation card, separate from editable parameters. Vertical moves are not drawn as misleading XY lines. Their exact Z sequence is represented by the expanded move counts, Safe Z value, tab-top Z, pass depths, underlying motion records, and subtle vertical lines in 3D.
03 · ONE SOURCE OF TRUTH
Prepared for animation and GRBL
The planner is independent of React, SVG, Three.js, and any controller dialect. It rotates the sampled closed path to the selected start point, reverses it for conventional cutting, inserts exact canonical tab boundaries, and expands the depth plan into typed moves.
Validated contour + start + direction + depths + tabs
↓
Machine-independent XYZ motion records
↙ ↘
2D inspection now 3D animation and GRBL laterThe 3D scene model already carries this same plan. A later animation should advance through these records rather than reconstructing or guessing motion inside the renderer.
CURRENT SCOPE
Inspectable motion with constrained output
- Rectangle and general closed contours share ramp or plunge entry
- Automatic and manual tabs are supported
- Path ramp angles are validated from 1° to 15°
- No helical entry, lead-in, lead-out, or ramped tab transitions
- No spindle, coolant, homing, probing, or tool-change commands
- No machine-specific rapid timing or collision checking
- Local NC Export translates and saves this exact ordered motion