MapleCAM User Guide
MapleCAM is desktop CAM software for CNC routers and mills. It generates toolpaths and G-code from SVG and DXF designs.
What MapleCAM Does
- Import vector designs (SVG or DXF files)
- Create operations that describe how to cut each part (contour, pocket, engrave, V-carve, and more)
- Generate toolpaths — the precise paths your cutting tool will follow
- Validate toolpaths against your stock using 3D simulation
- Export G-code for your CNC machine (GRBL or LinuxCNC)
Quick Start
If you're new to MapleCAM, start with Installation and then follow Your First Project for a guided walkthrough.
Documentation Sections
- Getting Started — Install, set up your machine, and complete your first project
- Workflow — How MapleCAM's design-to-G-code pipeline works
- Importing Designs — Bringing SVG and DXF files into MapleCAM
- Operations — Reference for all operation types (contour, pocket, V-carve, laser, etc.)
- Tools — Managing your tool library and presets
- Machines — Configuring machines and G-code dialects
- Visualization — 2D canvas, 3D view, and toolpath validation
- Exporting — Generating G-code and SVG output
- Reference — Keyboard shortcuts, project settings, defaults
- Troubleshooting — Common issues and FAQ
Installation
System Requirements
- Java 21 or later (free, from Adoptium)
- Operating System: Windows 10+, macOS 12+, or Linux (X11 or Wayland)
- Memory: 4 GB RAM minimum, 8 GB recommended
- Disk: ~100 MB for MapleCAM + Java runtime
Download
Download the latest release from the MapleCAM website.
Install Java
MapleCAM requires Java 21 or later. If you don't already have it:
- Visit Adoptium
- Download the installer for your platform
- Run the installer with default settings
To verify your installation, open a terminal and run:
java -version
You should see output showing version 21 or later.
Running MapleCAM
Windows
Double-click the downloaded .jar file, or run from a terminal:
java -jar MapleCAM.jar
macOS
java -jar MapleCAM.jar
Linux
java -jar MapleCAM.jar
Initial Setup
When you first launch MapleCAM, the Initial Setup Wizard guides you through configuring your CNC machine.
The Setup Wizard
The wizard walks through:
- Machine name — a label for your machine (e.g., "Shapeoko 4", "3018 Pro")
- Work area — the X, Y, and Z travel dimensions of your machine, in millimeters
- Capabilities — whether your machine has a spindle, a laser, or both
- Spindle settings — minimum and maximum RPM (if applicable)
- Safe Z height — the Z height for rapid moves above the stock (typically 5-10mm above your material)
After Setup
Your machine configuration is saved to your user profile and will be available in all future projects. You can modify it later via Tools > Machine Setup.
You can also configure additional machines if you have more than one CNC — each project selects which machine it targets.
Next Steps
Proceed to Your First Project for a guided walkthrough of the full workflow.
Your First Project
This walkthrough takes you from a blank project to exported G-code. We'll cut a simple shape using an outside contour operation.
1. Create a New Project
Launch MapleCAM. A new empty project opens automatically. If you already have a project open, use File > New Project (Ctrl+N).
2. Configure Stock
Open Tools > Project Settings and enter your stock dimensions:
- Width (X): the width of your material in mm
- Height (Y): the depth of your material in mm
- Thickness (Z): the thickness of your material in mm
The stock appears as a rectangle on the 2D canvas.
3. Import a Design
Drag and drop an SVG or DXF file onto the canvas, or use File > Import SVG / File > Import DXF.
Your design appears as paths on the canvas, positioned within the stock boundary.
4. Select Paths
Click on a path to select it. Hold Shift to select multiple paths. Selected paths highlight in the canvas and in the project tree on the left.
5. Create an Operation
With paths selected, create an operation in one of three ways:
- Right-click the selection and choose an operation type
- Toolbar — click the operation button in the toolbar
- Keyboard chord — press Ctrl+E, then C for a contour operation
For this walkthrough, create an outside contour to cut the shape out of your stock.
6. Assign a Tool
In the property panel on the right, click the tool dropdown and select an endmill from the built-in tool library. A 1/4" (6.35mm) flat endmill is a common starting point.
7. Configure Settings
The property panel shows the operation settings. Key settings for a contour:
- Cut side: Outside (to cut around the shape)
- Depth: Set to your stock thickness (or slightly deeper) to cut through
- Tabs: Enable hold-down tabs to prevent the part from moving during the final pass
Feed rate, spindle speed, and depth per pass come from the tool preset — you can adjust them if needed.
8. Preview Toolpaths
Toolpaths generate automatically when you configure an operation. Switch to the 3D view (F5) to see the cutting paths visualized against your stock.
9. Validate
Run toolpath validation to check for errors. The validator simulates the cut using a 3D voxel model and reports any overcuts or issues.
10. Export G-code
Use File > Export G-code (or the toolbar button). Choose your G-code dialect:
- GRBL — for GRBL-based controllers (most hobby CNC machines)
- LinuxCNC — for LinuxCNC-based controllers
Save the .nc file and load it into your CNC controller software.
The CAM Pipeline
MapleCAM follows a four-stage pipeline from design to machined part:
Design → Operations → Toolpaths → G-code
1. Design (Import)
You start with a 2D vector design — an SVG or DXF file created in tools like Inkscape, Illustrator, LibreCAD, or AutoCAD. The design contains paths (lines, arcs, curves) that define the shapes you want to cut.
2. Operations
You assign operations to paths. An operation describes how to cut: contour around the outside, pocket out the interior, engrave along the line, V-carve with variable depth, etc. Each operation has settings like cut depth, feed rate, and tool selection.
3. Toolpaths
MapleCAM generates toolpaths from your operations. Toolpaths are the precise XYZ coordinates your cutting tool will follow, including:
- Tool offset (compensating for the tool's radius)
- Multi-pass depth stepping
- Lead-in and lead-out moves
- Rapid positioning between cuts
- Tab placement for hold-down tabs
Toolpath generation is automatic — it runs whenever you change an operation's settings.
4. G-code
Finally, you export G-code — the machine-readable instructions for your CNC controller. MapleCAM translates toolpaths into the G-code dialect your machine understands (GRBL, LinuxCNC, etc.), including spindle/laser control, feed rates, and safe movement heights.
Coordinate System
MapleCAM uses a right-handed coordinate system measured in millimeters:
- X — right (positive) / left (negative)
- Y — forward (positive) / backward (negative)
- Z — up (positive) / down (negative)
Z=0: The Stock Surface
The top surface of your stock is always at Z = 0. Cutting goes into negative Z values. For example, if your stock is 20mm thick, the bottom of the stock is at Z = -20.
This convention matches most CNC workflows where you zero the Z axis to the top of the material.
Safe Z and Clearance Height
Two Z heights control rapid (non-cutting) movement:
- Safe Z — the height for rapid moves between distant cuts (typically 5-10mm above stock). The tool lifts to Safe Z when moving between separate regions.
- Clearance height — a smaller lift for moves between nearby paths within the same operation (micro-lifts). This is faster than lifting all the way to Safe Z.
Both values are positive Z (above the stock surface) and are configured in Project Settings.
Projects and Files
Project Files (.mcp)
MapleCAM saves projects as .mcp files — compressed JSON containing your stock dimensions, imported parts, operations, tool assignments, and all settings. The design geometry is embedded in the project file, so you don't need to keep the original SVG/DXF alongside it.
Creating and Saving
- New Project — File > New Project (Ctrl+N)
- Save — File > Save (Ctrl+S)
- Save As — File > Save As (Ctrl+Shift+S)
Multi-Tab Editing
MapleCAM supports multiple projects open simultaneously in separate tabs. Each tab has its own undo/redo history, selection state, and dirty flag.
Recent Files
The File menu shows recently opened projects for quick access. Use File > Clear Recent Files to reset the list.
Project Settings
Each project stores:
- Stock dimensions — width (X), height (Y), thickness (Z)
- Material — selected from the material library (affects recommended feed rates)
- Machine — which machine configuration to target
- Safe Z — height for rapid positioning moves
- Clearance height — height for short repositioning moves
SVG Import
MapleCAM imports SVG (Scalable Vector Graphics) files — the most common format for 2D vector designs.
How to Import
- Drag and drop an SVG file onto the canvas
- File > Import SVG (menu)
Supported SVG Elements
MapleCAM supports standard SVG path elements including lines, arcs, cubic and quadratic Bezier curves, and basic shapes (rect, circle, ellipse, polygon, polyline). Transforms (translate, rotate, scale, matrix) are applied during import.
Tips for Preparing SVGs
- Convert text to paths — MapleCAM imports geometry, not fonts. In Inkscape: select text, then Path > Object to Path.
- Flatten transforms — while MapleCAM handles transforms, flattening them in your editor can avoid surprises.
- Remove clipping masks and filters — MapleCAM ignores raster effects, gradients, and clipping paths.
- Use mm units — MapleCAM interprets SVG coordinates in millimeters. Set your document units to mm for accurate sizing.
- Check path direction — for contour operations, path direction (CW vs CCW) can affect which side is "inside" vs "outside."
DXF Import
MapleCAM imports DXF (Drawing Exchange Format) files — the standard interchange format for CAD software.
How to Import
- Drag and drop a DXF file onto the canvas
- File > Import DXF (menu)
Supported DXF Entities
MapleCAM supports common DXF entities including LINE, ARC, CIRCLE, ELLIPSE, LWPOLYLINE, POLYLINE, and SPLINE.
Tips for Preparing DXFs
- Use mm units — ensure your DXF is drawn in millimeters for accurate sizing.
- Join open paths — disconnected line segments may not form closed contours. Use your CAD software's "join" or "pedit" command to create closed polylines.
- Flatten to 2D — MapleCAM imports 2D geometry. If your DXF contains 3D elements, flatten them before importing.
- Remove construction geometry — layers containing reference lines, dimensions, or annotations should be removed or hidden before export.
Working with Parts
When you import a design, it becomes a part in your project. A project can contain multiple parts, each imported from a separate file.
Selecting Parts
Click on a part in the 2D canvas or in the project tree to select it. Hold Shift to select multiple parts or paths.
Positioning
Drag a selected part on the 2D canvas to reposition it within your stock area. Parts must fit within the stock dimensions to generate valid toolpaths.
Parts in the Project Tree
The project tree (left panel) shows all parts and their paths. Expand a part to see individual paths, and expand paths to see the operations assigned to them.
Operations Overview
An operation tells MapleCAM how to cut a path or set of paths. Each operation type produces different toolpaths suited to different tasks.
Operation Types
Spindle Operations
| Operation | Description | Typical Use |
|---|---|---|
| Contour | Cuts along a path with tool offset | Cutting out shapes, inside pockets |
| Clears material from enclosed areas | Recesses, shallow cavities | |
| Facing | Surfaces the top of stock flat | Flattening warped material |
| Engrave | Follows paths at a fixed shallow depth | Text, fine lines, decorative detail |
| V-Carve | Variable-depth carving using V-bit | Signs, lettering, decorative carving |
| Chamfer | Cuts angled edges with V-bit | Edge finishing, decorative bevels |
| Helical Contour | Helical ramp into full-depth contour | Deep contour cuts with smooth entry |
| Decorative Patterns | Fills regions with geometric patterns | Sashiko, Art Deco, Celtic designs |
Laser Operations
| Operation | Description | Typical Use |
|---|---|---|
| Laser Contour | Vector cutting along paths | Cutting thin material |
| Laser Engrave | Raster engraving of filled areas | Images, filled shapes |
| Laser Hatch | Line-fill pattern inside regions | Shading, area marking |
| Laser Pattern | Decorative patterns via laser | Decorative fills |
Creating Operations
There are three ways to create an operation:
- Right-click selected paths and choose from the context menu
- Toolbar buttons for common operation types
- Keyboard chords — press Ctrl+E then a key for spindle operations, or Ctrl+L then a key for laser operations (see Keyboard Shortcuts)
The Property Panel
When an operation is selected, the property panel on the right shows all configurable settings. Changes take effect immediately and toolpaths regenerate automatically.
Property Cascade
Operation settings are resolved through a cascade:
- Operation — settings you've explicitly set on this operation
- Operation Group — inherited from the group (display grouping only)
- Tool Preset — defaults from the assigned tool's preset
- Built-in Default — hardcoded fallback values
This means you only need to override the settings that differ from your tool preset.
Contour
A contour operation cuts along a path, offsetting the tool to one side so the finished edge is exactly on the design line.
Cut Side
- Outside — tool cuts outside the path (for cutting a shape out of stock)
- Inside — tool cuts inside the path (for cutting a hole or recess)
- On-line — tool center follows the path exactly (no offset)
Key Settings
| Setting | Description |
|---|---|
| Cut side | Outside, inside, or on-line |
| Depth | Total cut depth (negative Z from stock surface) |
| Depth per pass | Maximum depth per cutting pass |
| Feed rate | Cutting feed rate (mm/min) |
| Plunge rate | Downward feed rate for entering material |
| Spindle speed | RPM |
| Tabs | Enable hold-down tabs (see below) |
| Lead-in / Lead-out | Arc entry/exit to avoid plunge marks on finished edge |
Tabs
Hold-down tabs are small bridges of uncut material that keep the part attached to the stock during the final passes. Without tabs, a part cut all the way through may shift or be thrown by the cutting tool.
Tab settings:
- Tab count — number of tabs around the contour
- Tab width — width of each tab (mm)
- Tab height — height of uncut material (mm)
Multi-Pass Depth
If the total depth exceeds the depth-per-pass setting, MapleCAM generates multiple passes at increasing depths. The final pass cuts to the exact target depth.
When to Use Contour
- Cutting shapes out of stock (outside contour + tabs)
- Cutting holes or slots (inside contour)
- Profiling edges to final dimension
A pocket operation clears material from an enclosed area, cutting the interior down to a specified depth.
Clearing Strategies
MapleCAM offers three clearing strategies:
Offset
Concentric passes moving inward from the boundary. Produces a clean finish on the pocket walls. Best for finish quality.
Raster
Back-and-forth parallel lines across the pocket area. Fast material removal but may leave small scallops on walls. Best for roughing or when wall finish doesn't matter.
Spiral
A continuous spiral path from outside in. Maintains constant tool engagement for consistent cutting forces. Good balance of speed and finish.
Key Settings
| Setting | Description |
|---|---|
| Strategy | Offset, raster, or spiral |
| Depth | Total pocket depth |
| Depth per pass | Maximum depth per cutting pass |
| Stepover | Tool overlap between adjacent passes (as a fraction, e.g., 0.4 = 40%) |
| Feed rate | Cutting feed rate (mm/min) |
| Plunge rate | Downward feed rate |
| Spindle speed | RPM |
Islands
If a pocket path contains inner paths (holes or shapes inside the boundary), MapleCAM treats them as islands — raised areas that are not cleared. This allows cutting pockets with complex internal geometry.
When to Use Pocket
- Recesses and cavities
- Clearing areas for inlays
- Removing large volumes of material
- Any enclosed area that needs to be lowered
Facing
A facing operation surfaces the top of your stock flat. It's a specialized pocket that covers the entire stock area (or a margin within it).
When to Use Facing
- Flattening warped or uneven material
- Bringing stock to an exact thickness
- Creating a smooth reference surface before other operations
Key Settings
| Setting | Description |
|---|---|
| Depth | How much material to remove from the surface |
| Depth per pass | Maximum depth per pass |
| Stepover | Tool overlap between passes |
| Margin | Inset from stock edges (0 = full stock area) |
| Feed rate | Cutting feed rate (mm/min) |
| Spindle speed | RPM |
Facing vs Pocket
Facing is essentially a pocket operation that covers the entire stock area. Use facing when you want to surface the whole top; use a pocket when you want to clear a specific enclosed region.
Engrave
An engrave operation follows paths at a fixed shallow depth. The tool center travels exactly along the design path with no offset.
Key Settings
| Setting | Description |
|---|---|
| Depth | Engraving depth (typically shallow, e.g., 0.2-1.0mm) |
| Feed rate | Cutting feed rate (mm/min) |
| Plunge rate | Downward feed rate |
| Spindle speed | RPM |
Engrave vs Contour (On-Line)
Both engrave and on-line contour follow the path centerline. The difference:
- Engrave is designed for shallow, single-pass marking
- Contour (on-line) supports multi-pass depth, tabs, and lead-in/out
For simple shallow marking, engrave is simpler. For deeper cuts along a line, use an on-line contour.
When to Use Engrave
- Text and lettering (with text converted to paths)
- Fine detail lines
- Serial numbers or labels
- Decorative line work
V-Carve
A V-carve operation uses a V-shaped bit to carve paths at variable depth. Narrow areas are cut shallowly, wide areas are cut deeply. This produces the classic "carved sign" look where the bottom of each groove forms a V profile.
How V-Carving Works
MapleCAM computes the medial axis (centerline skeleton) of each enclosed region. The V-bit follows this centerline, plunging deeper where the region is wider and shallower where it's narrow. The result is a groove whose edges precisely follow the design outline.
Key Settings
| Setting | Description |
|---|---|
| V-bit angle | The included angle of the V-bit (e.g., 60, 90 degrees) |
| Max depth | Maximum cutting depth (limits depth in wide areas) |
| Flat bottom | Optional flat-bottom clearing for areas wider than the V-bit can reach |
| Feed rate | Cutting feed rate (mm/min) |
| Plunge rate | Downward feed rate |
| Spindle speed | RPM |
Flat-Bottom V-Carving
For designs with wide areas, the V-bit alone may not reach the full width without cutting excessively deep. Flat-bottom V-carving uses a flat endmill to clear the wide areas first, then the V-bit finishes the edges. This limits the maximum depth while still producing clean V-shaped edges.
When to Use V-Carve
- Wooden signs and lettering
- Decorative carving
- Any design where you want a classic hand-carved appearance
- Works best with enclosed shapes (closed paths)
Chamfer
A chamfer operation cuts an angled edge along a path using a V-bit. Unlike V-carve (which fills enclosed areas), chamfer follows the path edge to create a beveled edge.
Key Settings
| Setting | Description |
|---|---|
| Chamfer width | The horizontal width of the chamfer (mm) |
| Chamfer depth | The depth of the angled cut (derived from width and V-bit angle) |
| V-bit angle | The included angle of the V-bit |
| Feed rate | Cutting feed rate (mm/min) |
| Spindle speed | RPM |
When to Use Chamfer
- Decorative edge bevels on cut parts
- Deburring edges after contour cuts
- Creating angled edges for visual or functional purposes
Helical Contour
A helical contour is a contour operation that enters the material using a helical (spiral) ramp rather than a straight plunge. This is gentler on the tool and produces a better surface finish, especially for deep cuts.
How It Works
Instead of plunging straight down to each depth level, the tool spirals downward along the contour path, gradually reaching the target depth. This distributes the cutting force and avoids the shock of a straight plunge.
Key Settings
Same as Contour, with the addition of helical entry behavior. All contour settings (cut side, depth, tabs, etc.) apply.
When to Use Helical Contour
- Deep contour cuts where straight plunging would stress the tool
- Hard materials where gradual engagement is important
- When surface finish on the contour wall matters
Decorative Patterns
MapleCAM includes 92 built-in decorative patterns across 8 categories. Patterns fill an enclosed region with geometric designs, which are then cut using standard toolpath generation.
Pattern Categories
| Category | Description |
|---|---|
| Sashiko | Traditional Japanese stitching patterns (asanoha, seigaiha, etc.) |
| Art Deco | Geometric patterns inspired by 1920s-30s decorative arts |
| Celtic | Interlocking knot and braid patterns |
| Geometric | Regular tessellations and geometric fills |
| Fractal | Self-similar recursive patterns |
| Maze | Labyrinth and maze patterns |
| Organic | Nature-inspired patterns (Voronoi, waves, etc.) |
| Guilloche | Fine-line engraving patterns (rosettes, spirographs) |
Applying a Pattern
- Select an enclosed path
- Create a Pattern operation (Ctrl+E, A)
- Choose a pattern category and design from the dropdown
- Adjust scale and rotation as needed
Pattern Settings
| Setting | Description |
|---|---|
| Pattern | The specific pattern design |
| Scale | Size of the pattern elements |
| Rotation | Pattern orientation (degrees) |
| Depth | Cutting depth for the pattern |
| Feed rate | Cutting feed rate (mm/min) |
| Spindle speed | RPM |
When to Use Patterns
- Decorative panels and wall art
- Coasters and trivets
- Custom signage backgrounds
- Anywhere you want a geometric fill instead of a plain surface
Laser Operations
Laser operations are available when your machine has a laser capability enabled. They use laser power and travel speed instead of spindle speed and feed rate.
Laser vs Spindle Operations
| Spindle | Laser | |
|---|---|---|
| Cutting tool | Rotating endmill or V-bit | Focused laser beam |
| Depth control | Mechanical — tool plunges into material | Thermal — power and speed control burn depth |
| Material removal | Chips | Vaporization/burning |
| Key parameters | Feed rate, spindle RPM, depth per pass | Travel speed, laser power, number of passes |
Laser Operation Types
- Laser Contour — vector cutting along paths
- Laser Engrave — raster engraving of filled areas
- Laser Hatch — line-fill patterns inside regions
- Laser Pattern — decorative patterns via laser
Creating Laser Operations
Use the keyboard chord Ctrl+L followed by:
| Key | Operation |
|---|---|
| C | Laser Contour |
| E | Laser Engrave |
| H | Laser Hatch |
| P | Laser Pattern |
Laser operations only appear when the current machine has laser capability enabled.
Laser Contour
A laser contour operation cuts or marks along paths using the laser. The laser follows the design paths, burning through or marking the material.
Key Settings
| Setting | Description |
|---|---|
| Power | Laser power (percentage or absolute, depending on machine) |
| Speed | Travel speed (mm/min) |
| Passes | Number of passes over the same path |
When to Use
- Cutting thin materials (plywood, acrylic, cardboard)
- Marking or scoring lines on surfaces
Laser Engrave
A laser engrave operation fills enclosed areas with raster scanning, burning the surface to create an engraved image or filled region.
Key Settings
| Setting | Description |
|---|---|
| Power | Laser power |
| Speed | Travel speed (mm/min) |
| Line spacing | Distance between raster scan lines |
| Passes | Number of passes |
When to Use
- Engraving images or photos onto material
- Filling enclosed shapes with a burned surface
- Creating solid dark areas
Laser Hatch
A laser hatch operation fills enclosed areas with parallel lines at a specified angle, creating a hatched or shaded appearance.
Key Settings
| Setting | Description |
|---|---|
| Power | Laser power |
| Speed | Travel speed (mm/min) |
| Line spacing | Distance between hatch lines |
| Angle | Hatch line angle (degrees) |
| Passes | Number of passes |
When to Use
- Shading or texturing areas
- Creating crosshatch patterns (multiple hatch operations at different angles)
- Area marking without full raster fill
Laser Pattern
A laser pattern operation fills an enclosed area with a decorative pattern, cut using the laser. This is the laser equivalent of the Decorative Patterns spindle operation.
Key Settings
| Setting | Description |
|---|---|
| Pattern | The decorative pattern design |
| Scale | Pattern element size |
| Rotation | Pattern orientation (degrees) |
| Power | Laser power |
| Speed | Travel speed (mm/min) |
| Passes | Number of passes |
When to Use
- Decorative laser-cut panels
- Intricate pattern work on thin material
- Ornamental designs that would be difficult with a spindle
Tool Library
MapleCAM maintains a tool library — a persistent collection of cutting tools with their dimensions and default cutting parameters. The library is shared across all projects and stored in your user profile (~/.maplecam/tools.json).
Built-in Tools
MapleCAM ships with a set of common tools pre-configured. These cover typical endmill sizes, V-bits, and other common cutters.
Managing Tools
Open the tool library via Tools > Tool Library.
From the library dialog you can:
- Add a new tool with custom dimensions
- Edit an existing tool's properties
- Delete tools you don't use
- Duplicate a tool as a starting point for a similar one
Assigning Tools to Operations
When you create or select an operation, the property panel shows a tool dropdown. Only tools compatible with the operation type are shown:
- Flat and ball endmills — contour, pocket, facing, engrave
- V-bits — V-carve, chamfer, engrave
- Any tool — engrave operations accept all tool types
Tool Properties
| Property | Description |
|---|---|
| Name | Display name (e.g., "1/4 inch Flat Endmill") |
| Type | Flat endmill, ball endmill, V-bit, tapered, surfacing |
| Diameter | Cutting diameter (mm) |
| Flute length | Maximum cutting depth (mm) |
| Shaft diameter | Shaft diameter (mm) |
| V-angle | Included angle for V-bits (degrees) |
Tool Types
MapleCAM supports the following cutting tool types:
Flat Endmill
A cylindrical cutter with a flat bottom. The most common CNC tool. Produces flat-bottomed pockets and square-cornered profiles.
Best for: Pockets, contours, facing, engrave
Ball Endmill
A cutter with a hemispherical tip. Produces a rounded bottom in cuts. Used for 3D surface finishing and smooth contours.
Best for: 3D surface finishing, smooth pocket floors, contours where rounded bottoms are acceptable
V-Bit
A conical cutter with a pointed tip. The cutting width depends on depth — deeper cuts are wider. Characterized by the included angle (e.g., 60, 90 degrees).
Best for: V-carving, chamfering, fine engraving
Tapered Endmill
An endmill with tapered sides. Produces angled walls in pockets and contours. Stronger than a straight endmill for deep cuts.
Best for: Mold making, deep pockets with draft angles
Surfacing Bit
A large-diameter cutter designed for flattening stock surfaces. Often called a spoilboard surfacing bit or fly cutter.
Best for: Facing operations, spoilboard surfacing
Presets and the Property Cascade
What Are Presets?
A preset stores default cutting parameters for a tool. When you assign a tool to an operation, the preset's values become the starting point for that operation's settings.
Preset parameters include:
| Parameter | Description |
|---|---|
| Feed rate | Cutting speed (mm/min) |
| Plunge rate | Downward speed when entering material (mm/min) |
| Spindle speed | RPM |
| Stepover | Fraction of tool diameter for adjacent passes (0.0-1.0) |
| Depth per pass | Maximum cut depth per pass (mm) |
The Property Cascade
When MapleCAM needs a value for an operation setting, it looks through a cascade of sources:
- Operation — if you've explicitly set the value on this operation, that value is used
- Operation Group — if the operation is part of a group, group-level settings apply
- Tool Preset — the assigned tool's preset provides defaults
- Built-in Default — hardcoded fallback values
This means:
- You only need to override settings that differ from your tool preset
- Changing a tool preset updates all operations using that tool (unless they have explicit overrides)
- Operation-level overrides always take priority
Material-Specific Presets
Different materials require different cutting parameters. The material selected in Project Settings can influence recommended preset values.
Default Presets
See Default Tool Presets for a table of the built-in preset values.
Machine Configuration
A machine in MapleCAM describes your CNC hardware — its physical dimensions, capabilities, and the G-code dialect it speaks.
Machine Properties
| Property | Description |
|---|---|
| Name | Display name (e.g., "Shapeoko 4") |
| Work area X | Maximum X travel (mm) |
| Work area Y | Maximum Y travel (mm) |
| Work area Z | Maximum Z travel (mm) |
| Spindle min RPM | Minimum spindle speed |
| Spindle max RPM | Maximum spindle speed |
| Supports spindle | Whether the machine has a spindle |
| Supports laser | Whether the machine has a laser module |
| G-code dialect | GRBL or LinuxCNC |
| Safe Z | Default safe Z height for rapid moves |
Creating a Machine
Use Tools > Machine Setup wizard, or open Tools > Manage Machines for direct editing.
The Machine Setup wizard walks you through each setting step by step. Direct editing gives you access to all fields at once.
Multiple Machines
You can configure multiple machines. Each project selects which machine it targets. The machine selection affects:
- Available operation types (spindle vs laser)
- G-code dialect for export
- Work area validation (parts must fit within the machine's travel)
- Spindle speed range validation
Machine Storage
Machine configurations are saved in your user profile (~/.maplecam/machines.json) and are available across all projects.
G-code Dialects
MapleCAM supports multiple G-code dialects to match different CNC controllers.
Supported Dialects
GRBL
The most common controller for hobby CNC machines. Used by Shapeoko, X-Carve, OpenBuilds, 3018 machines, and many others.
Key characteristics:
- Spindle control via
M3 S{speed}/M5 - Feed rate set with
F{rate}on motion commands - Arc commands
G2/G3withI/Joffsets - No subroutines or canned cycles
LinuxCNC
An open-source CNC controller running on Linux PCs. Common in more advanced hobby and semi-professional setups.
Key characteristics:
- Full G-code implementation including canned cycles
- Spindle control via
M3 S{speed}/M5 - Supports tool change (
M6 T{n}) - Comment syntax:
; commentor( comment )
Dialect Differences
| Feature | GRBL | LinuxCNC |
|---|---|---|
| Comment style | ; comment | ; comment or ( comment ) |
| Arc format | I/J incremental | I/J incremental |
| Tool change | Not supported | M6 T{n} |
| Spindle control | M3/M5 | M3/M5 |
Choosing a Dialect
Select the dialect in your machine configuration. If you're unsure, GRBL is the safe default — it works with the majority of hobby CNC controllers.
The dialect is used during G-code export. You can change it at any time without regenerating toolpaths.
2D Canvas
The 2D canvas is MapleCAM's primary design view. It shows your stock, imported parts, and toolpath previews from above.
Navigation
| Action | Control |
|---|---|
| Pan | Middle-click drag, or scroll wheel |
| Zoom in | Ctrl+= or scroll up |
| Zoom out | Ctrl+- or scroll down |
| Zoom to fit | Ctrl+0 |
| Reset view | View > Reset View |
Canvas Elements
- Grid — reference grid (toggleable)
- Rulers — millimeter rulers along top and left edges
- Stock outline — rectangle showing your material dimensions
- Parts — imported design geometry (paths and shapes)
- Toolpaths — cutting paths overlaid on the design (when generated)
- Selection highlight — selected paths and operations are highlighted
Selecting
- Click a path to select it
- Shift+click to add to selection
- Click empty space to deselect all
Dragging Parts
Click and drag a selected part to reposition it within the stock area.
3D View
The 3D view shows a three-dimensional visualization of your stock, toolpaths, and simulated cutting results. Toggle it with F5 or View > 3D View.
Camera Controls
| Action | Control |
|---|---|
| Orbit | Left-click drag |
| Pan | Middle-click drag |
| Zoom | Scroll wheel |
Visualization Layers
The 3D view displays multiple layers that can be toggled individually:
| Layer | Description |
|---|---|
| Grid | Reference grid on the XY plane |
| Stock | The raw material block |
| Parts | Imported design geometry projected on the stock |
| Toolpaths | Cutting paths (colored by operation) |
| Rapids | Non-cutting rapid moves (typically shown in a different color) |
| Cutting Volumes | The volume of material removed by each operation |
| Remaining Material | Voxel visualization of material left after all operations |
| Tabs | Hold-down tab locations |
Layer Visibility
Toggle layer visibility using the controls in the 3D view toolbar. Hiding layers like rapids or cutting volumes can make complex toolpaths easier to read.
Toolpath Validation
MapleCAM includes a 3D voxel-based toolpath validator that simulates your operations against the stock and detects errors before you run your machine.
What Validation Checks
The validator builds a 3D voxel model of your stock, then simulates each toolpath cutting through it. It detects:
- Overcuts — the tool removing material outside the intended operation region
- Plunge errors — the tool entering material at an unsafe rate or location
- Boundary violations — cutting outside the stock dimensions
Running Validation
Validation runs automatically after toolpath generation. Progress is shown in the status bar. You can also manually trigger it via Operations > Recalculate Toolpaths.
Interpreting Results
After validation completes, the project tree shows status indicators on each operation:
- Pass — no issues detected
- Warning — potential issues that may be acceptable
- Error — definite problems that should be fixed before cutting
The 3D view's Remaining Material layer shows the voxel simulation result — you can visually inspect what material remains after all operations.
Validation Resolution
The validator uses a default voxel resolution of 0.2mm. This means the simulation has approximately 0.2mm precision — features smaller than this may not be accurately represented.
Always Validate Before Cutting
Validation is your last check before sending G-code to your machine. While it can't catch every possible issue (e.g., workholding, tool breakage), it catches the most common CAM errors that could damage your work or machine.
G-code Export
Exporting G-code is the final step — it translates your toolpaths into machine-readable instructions.
How to Export
- File > Export G-code or use the toolbar export button
- Choose a file location and name (
.ncextension) - The G-code is written using the dialect configured in your machine settings
What the G-code Contains
The exported file includes:
- Header — initialization commands, units (G21 for mm), coordinate mode
- Spindle start —
M3 S{rpm}to start the spindle - Toolpaths —
G0(rapid) andG1(linear) /G2/G3(arc) moves - Safe Z retracts —
G0 Z{safe}between operations - Spindle stop —
M5at the end - Footer — return to safe position, program end (
M2orM30)
Pre-Export Checklist
Before exporting, verify:
- All operations have valid toolpaths (no errors in the tree)
- Toolpath validation passes (no overcuts)
- Stock dimensions match your actual material
- Tool assignments are correct
- Feed rates and speeds are appropriate for your material
G-code Dialects
The export format is determined by your machine's G-code dialect. See G-code Dialects for details on supported dialects and their differences.
SVG Export
MapleCAM can export your toolpaths as an SVG file. This is useful for documentation, review, or further processing in vector graphics software.
How to Export
File > Export SVG — saves the current toolpaths as vector paths in an SVG file.
What's Included
The exported SVG contains the toolpath geometry — the actual paths the tool follows. This includes cutting moves but typically not the stock outline or rapid moves.
When to Use SVG Export
- Creating documentation of your cutting plan
- Reviewing toolpaths in a vector editor
- Sharing toolpath previews without sharing the full project file
Keyboard Shortcuts
Standard Shortcuts
| Shortcut | Action |
|---|---|
| Ctrl+N | New Project |
| Ctrl+O | Open Project |
| Ctrl+S | Save |
| Ctrl+Shift+S | Save As |
| Ctrl+Z | Undo |
| Ctrl+Y | Redo |
| Ctrl+= | Zoom In |
| Ctrl+- | Zoom Out |
| Ctrl+0 | Zoom to Fit |
| F5 | Toggle 3D View |
Key Chords — Spindle Operations (Ctrl+E)
Press Ctrl+E to enter endmill operation mode, then press the second key within 2 seconds. Available operations appear in the status bar. Press Escape to cancel.
| Chord | Operation |
|---|---|
| Ctrl+E, C | Contour |
| Ctrl+E, H | Helical Contour |
| Ctrl+E, M | Chamfer |
| Ctrl+E, P | |
| Ctrl+E, F | Face |
| Ctrl+E, N | Engrave |
| Ctrl+E, V | V-Carve |
| Ctrl+E, A | Pattern |
Spindle operation chords are only available when the current machine has spindle capability.
Key Chords — Laser Operations (Ctrl+L)
Press Ctrl+L to enter laser operation mode, then press the second key.
| Chord | Operation |
|---|---|
| Ctrl+L, C | Laser Contour |
| Ctrl+L, E | Laser Engrave |
| Ctrl+L, H | Laser Hatch |
| Ctrl+L, P | Laser Pattern |
Laser operation chords are only available when the current machine has laser capability.
Canvas Navigation
| Action | Control |
|---|---|
| Pan | Middle-click drag |
| Zoom | Scroll wheel |
3D View Navigation
| Action | Control |
|---|---|
| Orbit | Left-click drag |
| Pan | Middle-click drag |
| Zoom | Scroll wheel |
Project Settings
Access via Tools > Project Settings.
Stock
| Setting | Description |
|---|---|
| Width (X) | Stock width in mm |
| Height (Y) | Stock depth/length in mm |
| Thickness (Z) | Stock thickness in mm |
Heights
| Setting | Description |
|---|---|
| Safe Z | Height for rapid moves between distant cuts (mm above stock surface) |
| Clearance height | Height for short repositioning moves within an operation |
Material
Select the material from the material library. Material selection affects recommended cutting parameters.
Machine
Select which machine configuration this project targets. This determines available operation types and G-code dialect for export.
Default Tool Presets
MapleCAM ships with a library of pre-configured tools and presets. These are based on tested speeds and feeds for hobby CNC machines.
Tool Categories
- V-Bits — 30, 60, 90 degree V-bits in various sizes
- Ball Nose — ball endmills for 3D finishing
- Tapered Ball — tapered ball endmills for detailed carving
- Flat Endmills — standard flat endmills from 1mm to 1/2 inch
- Compression — compression spiral endmills for clean edges on sheet goods
- Surfacing — large diameter surfacing/spoilboard bits
Preset Values
Preset values vary by tool size and type. Key parameters:
| Parameter | Typical Range | Notes |
|---|---|---|
| Feed rate | 500 - 3000 mm/min | Smaller tools = slower feed |
| Plunge rate | 200 - 1000 mm/min | Typically 30-50% of feed rate |
| Spindle speed | 10,000 - 24,000 RPM | Adjust for material and tool size |
| Stepover | 0.2 - 0.5 (20-50%) | Pocket clearing overlap |
| Depth per pass | 0.5 - 5.0 mm | Depends on tool and material |
Customizing Presets
Open the Tool Library (Tools > Tool Library) to view, edit, or create tool presets. Changes are saved to your user profile and persist across projects.
Default Materials
MapleCAM's material library includes common CNC materials organized by category.
Material Categories
| Category | Examples |
|---|---|
| Wood | Softwood (pine, cedar), hardwood (maple, oak, walnut), plywood, MDF |
| Metal | Aluminum, brass, copper |
| Plastic | Acrylic, HDPE, Delrin, polycarbonate |
| Composite | Carbon fiber, fiberglass, G10 |
| Foam | Rigid foam, HDU (sign foam) |
How Material Affects Operations
The selected material influences recommended cutting parameters through tool presets. Harder materials generally require:
- Lower feed rates
- Lower depth per pass
- Potentially lower spindle speeds (especially metals)
Customizing Materials
Materials are stored in your user profile (~/.maplecam/materials.json).
Supported SVG Elements
This page lists the SVG elements and attributes that MapleCAM can import.
Supported Elements
| Element | Notes |
|---|---|
<path> | Full path data (d attribute) including M, L, H, V, C, S, Q, T, A, Z commands |
<rect> | Rectangles (with optional rounded corners) |
<circle> | Circles |
<ellipse> | Ellipses |
<line> | Line segments |
<polyline> | Open polylines |
<polygon> | Closed polygons |
<g> | Groups (transforms are applied to children) |
Supported Attributes
| Attribute | Notes |
|---|---|
transform | translate, rotate, scale, matrix, skewX, skewY |
d | Path data on <path> elements |
viewBox | Used for coordinate scaling |
width, height | Document dimensions (used with viewBox for scaling) |
Not Supported
- Text elements (convert to paths in your editor first)
- Raster images (
<image>) - Gradients and patterns (fill/stroke styling)
- Clipping paths and masks
- CSS styling (inline
styleattribute is partially supported) - Filters and effects
<use>/<defs>references (may have partial support)
Supported DXF Entities
This page lists the DXF entities that MapleCAM can import.
Supported Entities
| Entity | Notes |
|---|---|
LINE | Line segments |
ARC | Circular arcs |
CIRCLE | Circles |
ELLIPSE | Ellipses (including elliptical arcs) |
LWPOLYLINE | Lightweight polylines (the most common polyline type) |
POLYLINE | Legacy polylines |
SPLINE | B-spline curves |
Not Supported
- 3D entities (3DFACE, 3DSOLID, MESH)
- Dimension entities
- Text and MTEXT
- Hatching
- Blocks and INSERT references (may have partial support)
- External references (XREF)
Common Issues
No toolpaths generated
Symptom: You created an operation but no toolpaths appear.
Possible causes:
- No paths are assigned to the operation — select paths first, then create the operation
- The tool is too large for the geometry — try a smaller diameter tool
- Depth is set to zero — check the depth setting in the property panel
- The operation has an error — check the project tree for error indicators
"No compatible tools" when creating an operation
Symptom: The tool dropdown is empty or shows no options.
Possible cause: The tool library has no tools compatible with the selected operation type. For example, V-carve operations require V-bits.
Fix: Open Tools > Tool Library and add a compatible tool, or use one of the built-in tools.
Export produces empty or very small G-code file
Symptom: The exported G-code file contains only header/footer but no cutting moves.
Possible causes:
- No operations have generated toolpaths
- All operations have errors
- Stock dimensions are zero
Validation shows overcuts
Symptom: Toolpath validation reports overcut errors.
Possible causes:
- Tool diameter is too large for tight corners in the geometry
- Contour cut side is wrong (inside vs outside)
- Operations overlap in ways that remove unintended material
Fix: Review the operation settings, consider a smaller tool, or adjust the geometry.
Imported design is wrong size
Symptom: The imported SVG or DXF is much larger or smaller than expected.
Possible causes:
- SVG units are not set to millimeters — MapleCAM interprets SVG coordinates in mm
- DXF was drawn in inches — convert to mm in your CAD software before exporting
- ViewBox scaling mismatch in SVG
Fix: Check your design software's export settings and ensure units are millimeters.
Application won't start
Symptom: Double-clicking the JAR file does nothing, or a command-line error appears.
Possible causes:
- Java is not installed or is an older version
- Java installation is not on the system PATH
Fix: Install Java 21 or later from Adoptium. Verify with java -version.
FAQ
What file formats can MapleCAM import?
SVG (Scalable Vector Graphics) and DXF (Drawing Exchange Format). Both are 2D vector formats. See SVG Import and DXF Import for details on supported elements.
What CNC controllers does MapleCAM support?
MapleCAM exports G-code for GRBL and LinuxCNC controllers. GRBL covers the majority of hobby CNC machines (Shapeoko, X-Carve, OpenBuilds, 3018, etc.). See G-code Dialects.
Can MapleCAM do 3D carving?
MapleCAM is a 2.5D CAM application — it works with 2D designs and controls depth (Z), but does not support full 3D surface machining from STL or 3D models. V-carving provides variable-depth cutting within 2D shapes.
What units does MapleCAM use?
All dimensions are in millimeters. If your design is in inches, convert before importing.
Where are my settings stored?
User data (tools, machines, materials, preferences) is stored in ~/.maplecam/ on Linux/macOS and %USERPROFILE%\.maplecam\ on Windows.
Can I use MapleCAM with a laser?
Yes. If your machine has a laser module, enable laser capability in the machine configuration. This unlocks laser operations (contour, engrave, hatch, pattern) with power and speed controls instead of spindle/feed settings.
How do I update MapleCAM?
Download the latest release from the Downloads page and replace your existing JAR file. Your settings and tool library are stored separately and will be preserved.
What is the .mcp file format?
MapleCAM project files (.mcp) are gzip-compressed JSON. They contain the full project state including imported geometry, operations, settings, and tool assignments. The original SVG/DXF files are not needed after import — the geometry is embedded in the project.