Development goes fast, documentation may be outdated. Proceed with some caution.
EasyShape5000 Routing Workflow Guide
From SVG or STL to G-code for your CNC router
Interface Overview
A central canvas with a sidebar either side. On the left, your operation buckets sit above the scene tree. On the right, stock setup, then machine settings, then the cut settings for whatever you have selected. The footer carries status, the log and the display options.
The cut settings panel changes with your selection. Select a shape and you get its transform fields plus the operation tabs. Select a stage inside an operation bucket and you get that stage's parameters, with its generate button underneath.
2D and 3D
The canvas starts in 2D. When you reach the Toolpaths stage it switches to the 3D view by itself, because that is where a toolpath is worth looking at. 3D operations switch earlier - they draw their model and stock in 3D as soon as they generate, since there is nothing flat to show.
The view button on the right of the toolbar - or F2 - flips between 2D and 3D at any time.
Buckets and Stages
You assign operations per shape. Select shapes and drop them into an operation bucket - the bucket owns those shapes and their parameters, and you can have as many as you like.
Each bucket is then generated in stages. A stage is what the big generate button acts on: set that stage's parameters, generate, and you get a layer you can show, hide and redo on its own. Re-running a stage replaces its own layer and clears the ones after it, never the ones before.
Change something an earlier stage depends on - the tool diameter, the stock thickness, a machine setting - and everything generated after it is invalidated and cleared. The message names the stage to go back to. Changing a feed rate cannot cost you your geometry.
The Toolpaths stage is a preview of the program
What it draws is what gets exported: the same motion, the same order, the same depths. Only the preamble, the postamble and the moves between operations are added later, when the Export Manager puts the job together. The Export Manager itself does not calculate anything, and a bucket that has not been through Generate Toolpaths will not appear in it.
The Workflow
Import a design, select shapes, assign operations, take each bucket through its stages, export.
1. Importing Files
Drag and drop an SVG onto the canvas, or use Actions → Import. The file's group structure is preserved: groups become groups in the scene tree, paths and shapes become selectable items.
Nothing is modified on import. Move, rotate and scale as much as you like - the original geometry is kept and your transforms are applied on top, so you can always get back to where you started.
STL meshes are imported the same way but behave differently: a mesh attaches to a Relief or Rotary operation rather than becoming a scene shape you can transform. Its orientation, resolution and Z datum are parameters on that operation.
2. The Scene Tree
The scene tree (left sidebar, top) lists every shape and group in your workspace. Each row has three controls:
- Visibility (eye icon)
- Hides the shape from the canvas. Hidden shapes are skipped by marquee selection and left out of the export.
- Lock (padlock icon)
- Stops the shape being moved, rotated or deleted. You can still select it, so you can unlock it again.
- Delete (trash icon)
- Removes it from the scene. Undo with Ctrl+Z.
Groups can be collapsed, and locking a group locks everything in it. Group and Ungroup are in the toolbar (Ctrl+G and Ctrl+Shift+G). Ungrouping never moves anything - children keep the position they had.
3. Assigning Operations
Select one or more shapes, then pick an operation from the tabs on the right. The shapes drop into a new operation, and the parameters appear with sensible defaults for the tool that operation suggests.
An operation owns its shapes and its own parameters. The same shape can belong to more than one - a pocket and a profile on the same outline is the normal case - and each generates independently.
If you select shapes that belong to different operation types, the panel shows one type's parameters and says so. Changes apply only to the shapes of that type.
4. Generating Geometry
Click generate on the bucket's first stage. For flat operations this is XY Geometry: tool, cut side, step-over, and whatever else that operation needs.
The result appears as an Offsets layer - thin centrelines on the canvas showing where the tool will travel. Curves stay curves, so an offset circle exports as a real arc rather than a hundred short lines.
Change a geometry parameter afterwards and the bucket is invalidated until you regenerate.
5. Depth and the Tool Reach Preview
Flat operations only. With offsets generated, select the Offsets layer and set the depth parameters: cut depth, multi-depth and depth per pass, entry method, holding tabs on a profile, a finishing pass on a pocket.
Click Generate Preview for the Tool Reach layer - the paths redrawn at the real tool diameter, so you can see the material that will actually be removed rather than the line the spindle centre follows. It is the last chance to catch a cutter that is too wide for the detail in your design.
6. Generating Toolpaths
Select the Tool Reach layer (or the 3D Paths layer on a 3D operation) and set the machine parameters: feed rate, plunge rate, spindle speed and dwell, the tool number, and whether to optimize.
Click Generate Toolpaths. The canvas switches to the 3D view so you can look over the result - depth passes, entries, retracts and rapids. The toolbar view button, or F2, takes you back to 2D.
7. Exporting G-code
Select the Toolpaths layer for a summary, then open the Export Manager. Only buckets that have been through Generate Toolpaths appear there.
Working in 3D
V-Carve, Relief and Rotary cut at a different depth at every point rather than at a flat depth per pass. They skip the depth step entirely - the height is part of the path, decided while the geometry is generated.
Relief and Rotary take an STL. Orientation, resolution, Z datum, blank size and depth are all operation parameters, so you can change any of them and regenerate without importing the mesh again.
The 3D view draws the stock, the model and the toolpaths. It does not animate them yet.
Stock, Z zero and coordinates
This is the part worth getting right before you generate anything, because there is no way to nudge a finished operation back into position afterwards. Geometry is placed where your file put it and machined where your stock says it is - nothing realigns it for you.
Two settings decide where the cutter thinks the material is:
- Stock thickness
- How thick the blank is. Depth is measured against it, and the maximum-depth check uses it to stop an operation cutting into your bed.
- Z-zero reference
- Whether Z0 is the bed or the material surface. Whichever you pick has to be the one you actually zero the machine on, because every depth in the program is measured from it.
Flat operations then work in the usual way: X and Y come from where the shape sits in the scene, Z comes from the depth you set against that datum.
Rotary is a different frame
Rotary and indexed operations do not use the flat picture at all. Their zero is the rotary centreline, and X runs along the axis rather than across the table - so negative Z below the centreline is correct output, not a mistake. Workspace rotation, mirroring and origin have no effect on them, and the maximum-depth check does not apply either, because it assumes flat stock and a rotary job legitimately cuts past it.
What that means in practice: set the blank diameter and the axial datum to match how the part is actually mounted, then check your A-axis setup and travel limits on the controller before running. The Operation Guide covers the workholding and end settings that decide how far past the model the tool may travel.
Changing stock thickness or the Z-zero reference after generating invalidates 3D operations, so regenerate before exporting.
Scene Management
The scene is a tree of groups and shapes with full undo and redo. Every structural change can be reversed.
- Grouping
- Select two or more items and use Group in the toolbar (or Ctrl+G). The new group appears where the first selected item was, and nothing moves.
- Ungrouping
- Select a group and use Ungroup in the toolbar (or Ctrl+Shift+G). Children move up to the group's parent and keep their exact positions.
- Drag-move
- Click and drag on the canvas to move the selection. Shapes follow the direction you dragged on screen, even inside a rotated or scaled group. The move is committed when you release.
- Multi-selection
- Shift-click to toggle, Ctrl-click to add, or drag a marquee. Alt-click picks the individual shape inside a group instead of the group.
Shape Transforms
Each shape and group carries its own position, rotation and scale. The inspector on the right edits the selection.
- Position (X / Y)
- Nudge fields, not coordinates. Enter a value and Apply to move by that amount; the fields reset to 0 afterwards. Reset returns the shape to where it was.
- Rotation
- Absolute, in degrees, independent of scale. Rotates about the shape's centre. Reset returns it to 0°.
- Scale
- Absolute factor - 1.0 is original size. The mirror checkboxes flip X or Y independently without changing the size.
Nothing here alters your original file. What you see on the canvas, what appears in the 3D view and what gets cut are all the same numbers, so what you see is what you get.
Machine Settings
These live in the right sidebar's Machine Settings panel and apply to every operation in the job. Per-operation values live in the parameter forms instead.
- Post-Processor
- The G-code dialect your controller expects. Set it first: it decides which other settings appear, including tool changes, tool length compensation, line numbers, rotary routes and any extra fields that post needs.
- Safe Z Height (typical 5-15 mm)
- The height the tool retracts to for long moves and at program start and end. Must clear all clamps and workholding.
- Travel Z Height (typical 2-5 mm)
- A lower retract for short hops between nearby cuts. Faster than going to Safe Z every time, but it must still clear the workpiece.
- Stock Thickness & Z-Zero Reference
- The blank's thickness, and whether Z0 sits at the bed or the material surface. Every depth in the program is measured from this, so it has to match what you actually zero on the machine. Changing either after generating invalidates 3D operations - see Stock, Z zero and coordinates.
- Line Numbers
- Any program can carry
Nline numbers, with a step you choose. Each post has its own default, but the choice is yours - some controllers and file senders want them, most do not care. - Tool Length Compensation
- Only shown for posts that support it. Table tells the control which offset to use after each swap. Table (implicit) lets the control take the offset from the tool number itself. Probe leaves it alone, because the machine measures the tool during the change. Pick whichever your controller is set up for.
- Rotary Route
- Only shown for posts with a rotary axis. Decides how a 4th-axis job leaves the app - as A-axis moves, as inverse-time moves, or as a wrapped linear axis. Match it to what your controller accepts.
- Extra post fields
- Some posts need settings no other post does. They appear here when that post is selected.
Changing the post invalidates indexed operations
Indexed 3+1 needs a post that can drive the A axis, so a generated indexed operation cannot survive a post change. It is invalidated and has to be regenerated before it can be exported.
The parameters worth understanding first
Full ranges and defaults for every field are on the Parameter Guide. These four come up in every job:
- Tool
- Picks the cutter from the tool library; its diameter drives every offset. For a V-bit, the tool diameter is the flat at the tip, not the width it cuts at the surface.
- Tool Number
- The number your controller receives. Nothing is guessed - which slot a cutter sits in is something only you know, and a wrong number is a crash. If your machine has no changer, 1 on every operation is correct.
- Cut Depth and Depth per Pass
- Total depth into the stock, and the most to remove in one pass. As many passes as needed are generated for you.
- Feed, Plunge and Spindle
- Cutting speed, descent speed and spindle RPM. Plunge is usually 30-50% of feed. Spindle dwell holds the program until the spindle is up to speed.
The Export Manager
The Export Manager is where the whole job comes together: the order operations run in, tool changes between them, split files, and the moves from one operation to the next. Open it from any operation's Output step.
- Review buckets. Everything that has been through Generate Toolpaths is listed with its type, tool and pass count. Check the ones you want.
- Order them. Drag them into the order you want to run them - the order you set is treated as deliberate. (The list also reorders from the keyboard: Space to grab, arrows to move, Space to drop.)
- Set the output options (below).
- Review the G-code in the preview, with line count, operation count, estimated time and total travel.
- Export Files to download.
Output Options
- Export as single file
- Combines every selected operation into one program. Required if you want tool changes handled across operations.
- Insert tool changes
- Emits a tool change whenever the tool number changes, with a retract and spindle stop around it. Greyed out on posts that do not support tool changes.
- Group by tool
- Reorders operations so each tool is used once. This overrides the order you dragged, so it is never applied unless you ask for it.
- Split drill files by hole diameter
- Multi-file mode only. Writes one program per hole size, so each file loads exactly one cutter.
- Optimize toolpaths
- Reorders and simplifies the paths to cut travel time. On by default.
- Output filename
- Base name only - the extension comes from the post-processor.
Multi-tool jobs
With Insert tool changes on and a post that supports them, a multi-tool job exports as one program with the swaps inline. Without that, turn off Export as single file and you get one program per tool to load in sequence.
Tool numbers are yours to manage
Nothing here can know which slot a cutter is physically in, and it will not pretend to. Assign the numbers, keep them matched to the machine, and check them before you run. A bucket with no tool number blocks the export rather than picking one for you.
Tips & Troubleshooting
SVG Preparation
- Convert text to paths before export.
- Close any path you plan to profile, pocket or V-carve. Engraving and drilling do not care.
- Use circles and obrounds - not ellipses - for drill holes and slots.
- Set document units to millimetres.
- Avoid clipping masks and SVG clones; neither is imported.
- Flatten transforms in Inkscape if shapes import at unexpected positions.
Best Practices
Start with a built-in example
Load an example from the welcome screen and take it all the way through before processing your own files. The flat-pack table covers the 2.5D route; the V-carve and relief examples cover the 3D one.
Check tool diameter against shape size
If a pocket or profile produces nothing, the tool is too large for the shape. Pick a smaller cutter or scale the design up. On a pocket this is expected rather than an error - a pocket is meant to run out of material to remove.
Order operations for the job, not the list
Pockets and internal features first while the stock is rigid, then drilling, then profile cuts last so parts do not shift once they are cut free. Set that order in the Export Manager; the order the buckets sit in does not affect the output.
Common Issues
Canvas is blank or black
Cause: browser graphics compositing, common on laptops with two GPUs. Fix: restart the browser; it renders correctly on reload.
"Open paths detected" warning
Cause: profile, pocket and V-carve need closed shapes, and your SVG has paths that do not close. Fix: close them in your vector editor and re-import, or use Engrave, which accepts open paths by design.
Shapes import at the wrong position
Cause: transforms on parent elements in the SVG. Fix: flatten transforms in your editor before export, or just move the shapes in the scene - nothing is destructive.
Generation is slow
Cause: complex geometry, or a very fine resolution on a large mesh. Fix (flat): fewer passes, a larger step-over, or a simpler SVG. Fix (3D): use a coarser resolution first, confirm the result looks right, then tighten it for the final run.
A bucket is invalidated
Cause: a parameter an earlier stage depends on was changed, or the post-processor was changed on an indexed job. Fix: regenerate from the stage named in the message. Only the layers after your change are cleared.