CNC Simulation vs Dry Run — Which One Actually Protects Your Machine
Before running a new CNC program on a real part, every machinist needs to verify it is safe. Two approaches dominate: the dry run (running the program on the machine without cutting) and CNC simulation (running the program in software). They are not equivalent. Understanding what each method catches — and what each misses — determines which is appropriate for your situation.
What Is a Dry Run?
A dry run executes the NC program on the actual machine with cutting disabled. Common dry run methods:
Air cutting — run the program with the tool above the workpiece (Z raised by a safe amount) and spindle off, watching the machine move through the program at reduced speed.
Single block mode — execute one block at a time, watching each move before approving the next.
Feed rate override — run the program at 5–10% feed rate with a finger on the feed hold button, ready to stop if the tool approaches something unexpected.
Machine lock — some controllers have a "machine lock" mode that executes the program and updates the position display without actually moving the axes.
What a Dry Run Catches
- Obvious positioning errors — the tool goes to the wrong side of the part, or rapids to a location clearly outside the workpiece
- Over-travel alarms — the program tries to move beyond machine limits
- Incorrect work offset — the reference position is wrong and the program runs in empty space or inside the fixture
- Program syntax errors that stop execution — missing block numbers the controller requires, unrecognized codes
What a Dry Run Misses
Collisions at cutting depth. In an air cut with Z raised, the tool never enters the workpiece. A collision between the tool holder and a clamp at Z-50mm is invisible because the tool is never at Z-50mm.
Spindle-off behavior. With the spindle stopped and the feed rate at 5%, the machine dynamics are completely different. A rapid move that triggers an alarm at full speed may pass silently at 5% feed override.
Rapid-move clearances. Most crashes don't happen while cutting. They happen on rapid positioning moves — between operations, around tool changes, on the approach to the first cut and on the final retract — at G00 speed, typically 15–30 m/min on a machining center. At reduced dry run speed the operator is watching the overall path, not measuring the clearance to every clamp.
The critical gap: a rapid move that clears a fixture by 2 mm at 5% feed override still collides at 100% G00. A dry run shows you the path, not whether your clearances are safe.
Operator attention. A dry run is only as good as the person watching it, and attention fades: a 90-minute dry run at the end of a shift is not the same as one at the start of the day. A collision on a rapid move lasts a fraction of a second and is easy to miss if the operator is looking elsewhere. Simulation checks every move, every clearance and every tool change, and flags the exact line in the G-code.
Tool length errors. If G43 H2 is active but H1 was intended, the tool height is wrong. During an air cut the discrepancy is invisible because you're not measuring against the actual part surface.
First-part crashes. A dry run that looks correct at 5% speed with Z raised may still crash on the first part if the operator forgets to remove the Z offset, change the feed rate override back to 100%, or re-enable the spindle.
Subtle depth errors. A Z depth that is off by 0.5mm is invisible during an air cut and only shows up as a dimension error on the finished part — or a broken tool on the next operation.
Time cost. A thorough dry run on a complex program takes as long as the actual machining cycle. For a 45-minute program, that's 45 minutes of machine time spent not producing parts — and every program change means doing it again:
| Scenario | Dry Run | Simulation |
|---|---|---|
| 60-minute cycle time program | 60 min of machine downtime | A few minutes on a workstation |
| Program modified and re-tested | Another 60 min of downtime | Another few minutes |
| Test after a post-processor change | Full cycle on the machine | Immediate, off-machine |
| Machine required | Yes — set up and occupied | No — runs on any PC |
Where Dry Runs Fail: Three Real Scenarios
Tool change position error
The post-processor outputs a tool change without retracting to Z home first. At reduced dry run speed the operator sees the tool heading toward the part and stops the machine. On the next setup, at full production speed, the same rapid move happens too fast to react — spindle into fixture.
Holder clearance at depth
A deep pocket needs a long tool assembly. The tool clears the walls, but the holder body touches the part at full depth. With no workpiece in a dry run, this is invisible. A simulation with the real holder geometry shows it immediately.
Clamp in the toolpath
A fixture clamp sits at the edge of the travel envelope and was never modelled in CAM. At slow speed the path looks clear, because the operator's eye follows the tool, not the clamp. At production speed the tool hits the clamp on a G00 move.
What Is CNC Simulation?
CNC simulation executes the NC program in software on a virtual machine model. The simulation interprets the actual G-code — the same file that runs on the controller — and shows the tool path, material removal, and machine motion in 3D.
A full machine simulation (as opposed to a toolpath viewer) includes:
- The complete machine structure — column, spindle, table, tool changer
- The tool assembly — tool, holder, collet
- The fixture and workholding — vise, clamps, step blocks
- The workpiece — stock material
- Controller-specific G-code interpretation
What Simulation Catches That Dry Runs Miss
Collisions at actual cutting depth. The simulation runs the tool to its actual programmed Z depth inside the 3D machine model. A collision between the tool holder and a clamp at Z-50mm shows up immediately in the simulation — before the machine moves at all.
Tool length errors. The simulation applies the tool length offsets to the virtual tool, making depth discrepancies visible.
Fixture collisions at rapid speed. Simulation runs at full programmed speed (in the 3D model), catching clearance problems that a slow-speed dry run would miss.
Post-processor errors. A syntax error that produces incorrect controller behavior shows up in the simulation's G-code interpreter, not just as a machine alarm.
Material removal errors. Simulation shows the finished part geometry — gouges, excess stock, and dimensional errors are visible before any material is cut.
What Dry Runs Catch That Simulation Misses
Real machine dynamics — resonance, vibration, actual acceleration behavior. Simulation models kinematics, not dynamics.
Setup errors — if the fixture is positioned wrong or the work offset was entered incorrectly at the machine, the simulation (which uses the correct offset) won't catch it.
Operator errors during execution — pressing the wrong button, wrong tool loaded, wrong offset entered. These are execution errors, not program errors.
The Right Combination
Simulation and dry run are not alternatives — they verify different things and work best together:
| Simulation | Dry Run | |
|---|---|---|
| Program logic and syntax | ✅ | Partial |
| Collisions at cutting depth | ✅ | ❌ |
| Tool length errors | ✅ | ❌ |
| Material removal | ✅ | ❌ |
| Machine dynamics | ❌ | ✅ |
| Setup/offset errors | ❌ | ✅ |
| Machine time required | Zero | Full cycle time |
| Catches first-part crash risk | ✅ | Partial |
Recommended workflow for new programs:
- Simulate in Eureka3X — verify program logic, collisions, depths, tool paths
- First-part dry run in single-block mode — verify setup, offset, operator execution
- Run at full speed — confident the program is correct
This approach catches program errors in simulation (where they cost nothing) and setup errors in dry run (where the machine is moving but not cutting), minimizing both crash risk and machine downtime.
The Cost Argument
A machine crash costs €5,000–€50,000 in spindle and fixture repair, plus days of downtime. A broken tap in a critical part costs hours of EDM extraction and potentially the part.
Eureka3X costs €9/month. A single crash pays for decades of simulation.
The question is not whether to simulate — it's whether to simulate before or after the crash.
Try Eureka3X free for 30 days →
Frequently Asked Questions
Is dry run mode the same on all CNC machines?
No. Dry run behavior varies by controller and machine. On FANUC controls, dry run replaces all programmed feed rates with a single rate set by the operator. On some machines rapid moves are overridden too; on others they still run at full G00 speed. Check your machine's documentation to know exactly what dry run affects.
Can simulation replace a dry run entirely?
Simulation replaces the dry run as the primary safety check, because it catches more program errors, faster, with no risk to the machine. A short dry run after simulation is still worth doing to confirm the physical setup: work offsets as entered, tool length offsets and part position. Simulation verifies what is in the G-code; the dry run verifies what only the real machine can show.
What G-code errors does simulation catch that a dry run misses?
Tool change position errors, holder body collisions at depth, rapid-move collisions with fixtures and clamps, canned cycle errors, axis over-travel, gouges into finished surfaces and residual material left after machining — each flagged at its exact line in the G-code.
