G1 CNC Programming: 7 Common Mistakes That Cost You Time and Money
G1 is the block you write most often, and the one that quietly ruins the most parts. This page lists seven failures we see on real programs, the symptom each one leaves behind, and the fix. Written for programmers and process engineers who need to judge a toolpath before the first chip.

Seven G1 Failures and Where They Come From
Read the symptom column first. Most of these look like machine problems but start in the program.
| Symptom on the part | Likely cause | What to change |
|---|---|---|
| Rounded or overshot corners | No deceleration before a tight corner | Add a short ramp block, 0.5–2.0 mm |
| Chatter and short tool life | Feed set from a catalog table only | Recalculate for real radial engagement |
| Visible facets on a curved wall | G1 chords with sharp direction changes | Use G2/G3 or set a finer tolerance |
| Dimensions drift mid-batch | Fixture or vise jaw flexing under load | Re-clamp, check jaw contact area |
| Taper on a deep straight wall | Tool deflection pushing the cutter away | Reduce axial depth, add a spring pass |
| Recut chips, poor finish at depth | Coolant not reaching the cutting edge | Switch to through-tool or air blast |
| Finish passes miss the callout | No finish strategy left in the program | Leave 0.2–0.3 mm and plan the last pass |
Fix the Program Before You Slow the Machine
Most G1 problems are local, not global. Ramp the corners, scale the feed to real engagement, and check the setup before you cut the cycle time in half.
Speed, Feed, and the Corner You Didn't Plan For
Every G1 block carries an F value, and it is easy to read that number as the speed the tool will actually travel. It is not. The servo has to accelerate up to it and decelerate out of it, and the controller decides how much of the commanded feed it can hold through a direction change. On a long straight cut the difference does not matter. On a 30° corner entered at full feed, the machine may overshoot the corner point or round it off by 0.02–0.05 mm before it settles.
The symptom shows up as a bulge on the outside of a corner and a gouge on the inside, usually on the same part. Operators often chase it with a slower overall feed, which fixes the corner and doubles the cycle time. The better fix is local. Insert a deceleration move 0.5–2.0 mm before the corner, drop the feed to 30–50% of the cutting value, then bring it back after the corner. You spend a fraction of a second, not a fraction of the cycle.
Feed selection is the second place programs go wrong. A catalog feed for 6061-T6 in a 10 mm end mill assumes a radial engagement around half the cutter diameter. If your roughing pass runs at 8% radial engagement with a 1.5× diameter axial depth, the instantaneous chip thickness is much smaller than the table assumes. Run the catalog number and the tool rubs, work-hardens the surface, and wears on the flank instead of the tip.
The reverse also happens. A face mill at 70% radial engagement with a catalog feed will overload the insert and chatter. The practical rule we use: pick the feed from the chip load you want per tooth, then scale it by the ratio of your actual radial engagement to the reference engagement in the table. Keep changes between adjacent G1 blocks under about 30% when finishing a critical surface. Big jumps in F inside a finishing pass show up as witness marks.
- 1Corner ramp0.5–2.0 mm lead-in, feed to 30–50%, then restore
- 2Engagement scalingAdjust the catalog feed to your real radial width
- 3Feed jumpsKeep adjacent G1 blocks within about 30% in finishing
Toolpath Continuity and Work Holding Compliance
A curve made from many short G1 moves will never be smoother than the tolerance the controller uses to blend them. Set that tolerance too coarse and the axis cuts the inside of the arc, leaving facets you can feel with a fingernail. Set it too fine and the controller spends its look-ahead buffer on tiny moves, so the feed drops and the surface gets worse, not better. On a Ø100 mm bore, a 0.01 mm chord tolerance is usually invisible. On a lens-shaped aerospace contour at Ra 0.8 μm, it is not.
Where the geometry allows it, use G2 or G3. An arc command is one block the controller can plan around, and the axes stay in continuous motion. Where the surface is a spline, keep the G1 points but tighten the blend tolerance to roughly one third of your finish callout and check the actual point spacing in the CAM output. If the post is emitting points 0.05 mm apart on a 200 mm contour, the file is bloated and the machine will never reach the programmed feed.
Work holding is the mistake that gets blamed on the program. A vise holding a 6 mm wall section on 8 mm of jaw contact will move 0.03–0.08 mm under a 12 mm cutter taking a full axial depth. The program is correct. The setup is not. Check the contact area, not the clamping force. More torque on a short jaw contact just distorts the part before the cut starts.
Thin walls and tall bosses need support, not pressure. Add a sacrificial web, use soft jaws machined to the part profile, or split the operation so the flexible feature is cut last with light radial passes. On long parts up to 4,000 mm, support the overhang every 300–400 mm with adjustable stands that are preloaded to touch, not to push. A stand that lifts the part 0.05 mm will show as a taper on the next pass.
- 1Arc over chordsUse G2/G3 when the geometry is a true radius
- 2Point spacingInspect CAM output; dense points kill feed rate
- 3Jaw contactAim for at least 60% of the clamping height
Deflection, Coolant, and Chip Evacuation
Any cutter bends. A 10 mm carbide end mill at 3× diameter reach will push away from the wall by roughly 0.02–0.05 mm under a normal finishing load, and the wall comes out tapered rather than straight. Spring passes do not remove the taper if the load is the same on both passes. The fix is to finish with a smaller radial step, a sharper tool, and a shorter gauge length. If the feature is deep, step down in 0.5× diameter increments instead of taking one full-depth pass.
You can measure the effect cheaply. Cut a test wall, measure top and bottom with a micrometer, and compare the difference to the programmed value. A 0.04 mm difference across a 40 mm wall is deflection, not thermal drift. Then reduce axial depth by half and repeat. If the taper halves, you found it. If it does not change, look at the fixture instead.
Coolant problems are easy to misread because the finish looks fine at the start of a cut and degrades near the bottom. That pattern means the chips are not leaving. At 3× diameter depth, flood coolant from two sides often fails to reach the tip. Through-tool coolant at 40–70 bar, or air blast with a mist nozzle aimed at the cut, clears the pocket and keeps the edge cool. On aluminium, air blast alone is often enough and avoids the thermal shock that cracks carbide.
Chip recutting is the main cause of sudden edge failure in deep pockets. If you hear the spindle load rise and fall in a rhythm, the tool is cutting its own chips. Widen the radial engagement slightly, increase the feed per tooth, or change the entry path so chips exit the cut zone. Programming a helical entry rather than a straight plunge also stops the tool from sitting in a pile of chips at the bottom of the pocket.
- 1Deflection testCut a wall, measure top vs bottom, halve the depth
- 2Through-tool coolant40–70 bar clears chips past 3× diameter
- 3Helical entryAvoids chip packing at the pocket floor
Post-Processing and the Surface You Promised
A finish callout of Ra 0.8 μm does not come from the last G1 pass alone. It comes from the whole sequence: what the semi-finish left, how the tool entered and exited, and whether the part moved between operations. If the semi-finish leaves 0.5 mm and the finish pass removes it in one go, the load is too high for a fine finish regardless of feed. Leave 0.2–0.3 mm on the wall and 0.1–0.15 mm on the floor, then take it in one clean pass.
Entry and exit matter more than most programmers expect. A tool that plunges straight into a finished wall leaves a mark that no polishing will remove without changing the dimension. Ramp in at 2–3° on a curved lead-in, and lead out past the wall edge before retracting. The same rule applies to the floor: a tool that stops in the corner and lifts leaves a dwell mark.
After machining, the surface you measured on the machine is not the surface that ships. Bead blasting, anodizing, and electroless nickel all change the finish and can change the dimension. Hardcoat anodizing builds 25–50 μm per side depending on the process, which matters on a ±0.005 mm bore. If the drawing calls for hardcoat and a tight bore, mask the bore or cut it undersize by the coating thickness.
Finally, plan the inspection before the program is finished. If the drawing calls a true position on a hole pattern, the program needs to leave enough material for the operator to dial it in, and the setup needs a datum that matches the drawing. A part that measures perfectly on the machine but fails at CMM usually has a datum mismatch, not a G1 error.
- 1Stock for finishing0.2–0.3 mm wall, 0.1–0.15 mm floor
- 2Lead in/outRamp 2–3°, exit past the wall edge
- 3Coating growthHardcoat adds 25–50 μm per side; mask tight bores
A Practical Check Sequence for a G1 Program
Run these in order before the first cut. Each step takes minutes and catches a different class of error.
- 1Simulate with the real toleranceRun the post output through the machine simulator using the controller's actual blend tolerance, not a generic one. Look for corners where the toolpath cuts inside the programmed geometry by more than 0.02 mm.
- 2Audit feed changes between blocksScan the finishing section for adjacent G1 blocks where F changes by more than 30%. Add a ramp block where the change is larger, and keep the ramp at least 0.5 mm long.
- 3Check point spacing on curvesMeasure the distance between consecutive G1 points on your longest contour. If it is under 0.05 mm, either convert to G2/G3 or loosen the CAM tolerance to roughly one third of the finish callout.
- 4Confirm the setup stiffnessCheck jaw contact height against the part height. If contact is under 60% of the clamping height, remachine soft jaws or add a support. On long parts, add adjustable stands every 300–400 mm.
- 5Test for deflection on one wallCut a single test wall at full depth, measure top and bottom, then repeat at half axial depth. If the taper drops by roughly half, reduce depth and gauge length for the production pass.
- 6Verify coolant reaches the tipFor pockets deeper than 3× diameter, use through-tool coolant at 40–70 bar or an aimed air blast. Watch the spindle load for rhythmic rise and fall, which means chip recutting.
- 7Leave the right stock for finishingSet semi-finish to leave 0.2–0.3 mm on walls and 0.1–0.15 mm on floors. One clean finish pass beats two light ones for surface quality.
- 8Match datums before inspectionConfirm the setup datum matches the drawing datum. On coating parts, account for 25–50 μm per side of hardcoat before you set the bore size.
Questions Engineers Ask About G1 Errors
Why does my part measure correctly on the machine but fail at CMM?
The most common reason is a datum mismatch. The setup datum and the drawing datum are not the same feature, so every dimension inherits the difference. Check that the feature you touched off is the one the drawing dimensions from.
The second reason is thermal. A part measured warm can be 0.01–0.02 mm off on a 100 mm length after it cools. Let aluminium parts stabilize before final inspection.
Is G1 always worse than G2/G3 for curves?
No. G2/G3 is better when the geometry is a true radius and the controller can plan around one block. For splines and free-form surfaces, G1 points are the only option and the controller blend tolerance does the smoothing.
What matters is point spacing and tolerance. Dense points with a coarse tolerance give a worse surface than fewer points with a tolerance matched to the finish callout.
How do I know if chatter is the tool or the fixture?
Change one variable. Reduce the axial depth by half and keep everything else the same. If the chatter disappears, it is a cutting-load problem. If it stays, the fixture or the tool holder is the weak point.
You can also listen to the frequency. A high-pitched ring usually comes from the tool. A lower thud comes from the part or the fixture moving.
What feed reduction should I use for a corner?
Start at 30–50% of the cutting feed for the corner block, ramped in over 0.5–2.0 mm before the corner. Then restore the feed over a similar distance after.
On hard materials like 17-4PH or Inconel, use the lower end of that range. On aluminium, 50% is usually enough to hold the corner without slowing the cycle noticeably.
Does coolant choice really change the surface finish?
Yes, mostly through chip evacuation. If chips stay in the cut zone, the tool recuts them and the edge chips. The finish degrades as the cut gets deeper.
Through-tool coolant or an aimed air blast keeps the cut zone clear. On aluminium, air blast often gives a better finish than flood coolant because it avoids thermal shock on the carbide edge.
How much stock should I leave for a finishing pass?
For a typical milling finish, leave 0.2–0.3 mm on walls and 0.1–0.15 mm on floors. That is enough for one clean pass without overloading the edge.
If the surface callout is Ra 0.2–0.8 μm, the semi-finish pass needs to be stable too. A rough semi-finish leaves a pattern that a light finish pass cannot remove.
Send Us the Part and the Drawing
We review the geometry, the material, and the tolerances, then come back with a manufacturable process and a quote. Uploads stay confidential.
12-hour quoteFree DFM analysis100% inspectionNDA on request