When a job runs long, the reflex is to reach for feeds and speeds. Sometimes that's right. But push the cutting parameters and you're fighting physics at the edge for single-digit gains — and taking on tool-life and finish risk to get them. Far more often, the time isn't in the cutting at all. It's in the moves that never touch the part. I've shown this on a specific grinding job where custom links cut the cycle nearly in half without changing a single feed; this post is the general method.
Audit the program by motion type
You can't fix what you haven't measured. Pull the program apart and bucket every second by what the machine was actually doing:
- 1Cutting — the tool removing material. Usually already close to optimal.
- 2Rapids / positioning — moving between features at rapid.
- 3Tool changes — every change is seconds of non-cut time and an index.
- 4Approaches & retracts — diving in and lifting clear, repeated dozens of times.
- 5Dwells — deliberate pauses that add up quietly.
- 6Air cutting — feeding through empty space at cutting feedrate. Pure waste.
How you measure depends on your tools: a stopwatch and honesty works, parsing the program by motion type is better, and for real numbers you can timestamp run states off the control with FOCAS and see exactly where the seconds go.
The usual suspects, ranked
- Air cutting — a finish pass feeding through material that isn't there. The fastest free speedup in machining.
- Over-conservative retracts — lifting to a global safe plane between every pass when a tight, checked clearance would do.
- Unnecessary tool changes — reordering ops to group a tool's work, or combining features onto one multi-form tool.
- Safe-Z everywhere — treating every reposition as if the worst obstacle is always present.
- No rest machining — a big tool recutting air where a previous op already cleared stock.
The best wins cost nothing
Deleting air, tightening a retract, or dropping a tool change adds no risk at the cutting edge and needs no new tooling. You're not machining faster — you're refusing to move the tool when it isn't cutting. That's why this is the first place to look, not the last.
A repeatable method
- 1Measure the program by motion type.
- 2Find the single biggest non-cutting bucket.
- 3Attack just that one — eliminate the air, tighten the retract, reorder the tools.
- 4Re-measure, then repeat on the next-biggest bucket.
Half of "machining faster" is just refusing to move the tool when it isn't cutting. Measure first, and the waste tells you where to start.
Do this once, methodically, and most programs give up a chunk of time you were about to pay for in tooling and risk instead. It's also the discipline behind reliable lights-out running. Want a second set of eyes on a job that runs too long? Get in touch.


