Two ways through a corner
G61, exact stop. The tool decelerates to zero at the end of every block, then
accelerates away. The corner is exactly where you programmed it, dead sharp. G09 does the same for
one block only.
G64, blending. The controller rounds the corner and carries speed through it. Add a
tolerance, G64 P0.05, and you set exactly how far the rounded path may stray:
within 0.05 mm, guaranteed. Bigger tolerance, faster corners.
Both are modal. Most programs run G64 throughout and drop to G09 for the one corner that must be square.
The corner math
A corner has a speed limit set by its geometry and your machine’s acceleration: v = √(a × R), where R is the corner radius the tool actually follows. Blending makes R bigger, so the tool keeps more speed. Exact stop makes R zero: full stop, every block. On a dense contour of 1 mm moves, that’s hundreds of stop-and-starts. The physics is the same trapezoid as everywhere else: feed rate vs. cycle time.
Precision costs seconds. Buy it where it matters
The smart pattern: G64 with a tolerance for the bulk of the program, G09 on the blocks that need a true square edge. You get speed on the 99% and precision on the 1%.
Simulated, both ways
UltraNC honours the mode your program commands. G61 and G09 blocks come to a full stop on the clock, and G64 P raises corner speed by exactly the tolerance you gave it. Load the same contour with and without G61 and watch the estimate move. That gap is what exact stop costs on your geometry.
Common questions
What does G61 do?
Exact stop mode. The machine decelerates to a complete stop at the end of every block, then accelerates into the next one. Corners come out dead sharp, and every block boundary costs a full stop-and-start. G09 does the same thing for a single block.
What does G64 P mean?
Blending with a tolerance. G64 lets the controller round corners to keep moving; the P value caps how far the rounded path may deviate from the programmed one. G64 P0.05 says "blend, but stay within 0.05 mm". Bigger P, faster corners, softer detail. No P means blend at the control's default.
Which is faster, G61 or G64?
G64, always. Blending carries speed through corners that G61 spends stopping for. The gap grows with corner count: on a dense contour of short moves, exact stop mode can add a large slice to the cycle. That's the trade. G61 buys corner precision with time.
When should I use exact stop?
When a corner must be truly square: a sharp shoulder, an engraving detail, a measurement-critical edge. Use G09 to buy exact stop for just that block, and stay in G64 everywhere else. That buys precision where it matters and speed everywhere it doesn't.
Part of the guide: How to estimate CNC machining time from G-code
The corner physics: Feed rate vs. cycle time
The next refinement: Jerk and S-curve motion: when even the ramps have ramps.