PureCutCNC
PureCutCNC is a browser-based 2.5D CAD / CAM workspace for designing parts, defining machining operations, previewing toolpaths, and checking the result in 3D and simulation before export. The core focus is 2.5D, but the app also handles 3D surface machining of imported meshes (rough and finish passes).
The durable product scope, supported surfaces, terminology, and CNC safety
contract are defined in PROJECT.md. Contributors and AI agents
should start at INDEX.md and follow AGENTS.md.
It is aimed at the kind of work where you want one place to:
- draw or import geometry
- organize features into machinable shapes
- assign operations such as pockets, contours, carving, and V-carving
- inspect the toolpath strategy visually
- export the result when it looks right
What You Can Do
Sketch geometry
Create and edit geometry directly in the Sketch view:
- rectangles, circles, polygons, splines, and composite profiles
- text features with built-in vector fonts
- tabs and clamps
- backdrop images for tracing
- grid snapping
- feature / point / line / midpoint / center snapping
- marquee selection
- move, copy, resize, rotate, and offset transforms
- direct sketch editing with point add / delete / move and corner fillets
- on-canvas measurements while drawing and editing
Import geometry
Import source geometry and continue working with it as native sketch features:
- SVG import
- DXF import
Import 3D models
Import STL, OBJ, and STEP models to drive 3D surface machining:
- STL import (binary and ASCII)
- OBJ import
- STEP import (
.step/.stp): tessellated at a surface tolerance you choose, with the units the file declares; each solid becomes its own model feature - axis orientation swaps for parts authored in a different up-axis
- automatic silhouette extraction so the mesh appears as a sketch feature you can position, transform, and use as a region
Surface Rough and Surface Finish operations and are visible in both the 3D preview and the simulation view.
Convert an external CAM post-processor
A standalone command-line converter turns an existing Visual Mill, Vectric/ Estlcam, ArtCAM, ECam, SheetCAM, Autodesk HSM/Inventor, or Mastercam post-processor file into a PureCutCNC machine definition, when the source's relevant behavior can be represented exactly:
npm run convert-post-processor -- --input <file> --output <file>.json
It never runs the vendor file's own scripting language, and it always
produces a full report of exactly what was and wasn't carried over. See
src/postProcessorConverter/README.md
for flags, supported formats, and worked examples, or
planning/Post_Processor_Converter_Design.md
for the report contract and safety details. Review the output in the app's
advanced machine-definition editor before use.
Work with text
Text is handled as an editable feature rather than exploded letter geometry.
Current text support includes:
- single-line text
- skeleton and outline text styles
- built-in font selection
- shared operation and Z settings across the text feature
- transform support through a text frame
Define CAM operations
Operations are created from selected geometry and managed in the CAM panel.
Current operation set includes:
- Pocket Rough
- Pocket Finish
- Surface Rough — rough clearing of an imported 3D mesh
- Surface Finish — finish pass on an imported 3D mesh (parallel and waterline patterns)
- Edge Route (inside / outside)
- Follow Line
- V-Carve (offset and skeleton modes)
- Drilling (simple, peck, dwell, chip-breaking)
- multiple operation targets
- tabs and clamps
- parallel and offset-style pocket / surface patterns
- tool selection and feeds
- operation visibility and selection
- toolpath debugging for selected operations where needed
Inspect the result before export
The app provides three main working views:
Sketch
3D View
Simulation
Typical Workflow
- Start a new project and define stock.
- Draw geometry, import SVG / DXF, or place a backdrop image for tracing.
- Organize and edit features until the sketch matches the intended part.
- Add CAM operations from the selected geometry.
- Tune tooling, stepdown, stepover, pattern, and operation parameters.
- Check the result in
Sketch,3D View, andSimulation. - Export once the toolpaths look correct.
Current Focus
PureCutCNC is under active development. The core workflow is already usable, but the project is still evolving in areas such as:
- additional font support and text workflows
- deeper DXF coverage
- more toolpath optimization
- richer simulation tooling
- more advanced carving and finishing workflows
Build And Run
Requirements
- Node.js 20+ is recommended
- npm
Install dependencies
npm install
Run the development server
npm run dev
Vite will print a local URL, typically:
http://localhost:5173
Create a production build
npm run build
The build includes the active-document check, lint, icon generation, TypeScript,
structural tests, and the Vite production build. Documentation-only changes can
run npm run docs:check first for faster feedback.
Preview the production build locally
npm run preview
CNC Safety
Preview and simulation are verification aids, not guarantees that a job is safe
to run. The operator is responsible for the machine, stock, workholding, tool,
controller setup, feeds/speeds, and physical test procedure. See
PROJECT.md for the engineering safety contract.