← Back to CNC Programming

Program Verification & First Article

Writing the program is only half the job. This page covers the verification workflow that separates a production programmer from someone who crashes machines: dry run, single block, reduced feed, and first article inspection.

Concept

Program verification is the process of confirming that the program will produce the intended part before committing to a full production run. The sequence is: syntax review → coordinate review → offset review → CAM simulation → dry run on the machine → single block → reduced feed → first part cut → inspection. Each step catches a different class of error.

Why It Matters

Every crash started as a "should be fine" program. Mental simulation is unreliable: you read over the same wrong coordinate three times and still miss it. A 5-minute dry run at reduced feed catches errors that cost 4 hours of machine repair, a broken spindle, and a scrapped part. The cost of verification is tiny compared to the cost of a crash. The engineering habit of verification is what lets you run unattended programs with confidence.

How It Works

Before Hitting Cycle Start — Checklist

  1. Units — G21 (metric) or G20 (inch)? Confirm both in the program and on the controller.
  2. Work offset — G54 set to the correct datum on the part? Check X, Y, and Z origin.
  3. Tool length offsets — H01, H02... measured and loaded? Not zero?
  4. Tool radius offsets — D values match the actual tool radii?
  5. Spindle direction and speed — M03 forward, S in the correct range?
  6. Z clearance — is the tool at a safe Z above the stock, not at cut depth?
  7. Tool number — does T01 in the program match what is physically in the spindle?
  8. Startup block — does the program begin with G21 G17 G90 G40 G49 G80?

Verification Sequence

StepWhat You DoCatches
1. Syntax reviewRead the code top to bottom on paperMissing %, wrong O number, typos
2. Coordinate reviewSketch the tool path on paperWrong coordinates, wrong direction
3. Offset reviewCheck G54, H, D on controllerMissing or wrong offsets
4. CAM simulationWatch material removal in CAMObvious collisions, wrong tool path
5. Dry runTool at safe Z, run at rapidGross coordinate errors, limit switches
6. Single blockBlock-by-block at reduced feedPer-motion errors you would miss at speed
7. Reduced feed cutFirst cut at 25–50% feed overrideTool deflection, chatter, chip issues
8. First articleMeasure every dimensionOffset errors, tool wear, dimensional drift
Review Dry Run 1st Part Measure OK
The verification chain. Each step catches errors the previous step cannot.

First Article Inspection

After the first part runs through at reduced feed, stop and measure. Check every dimension the drawing calls for: hole positions, depths, diameters, and surface finish. If dimensions are off, the cause is almost always an offset issue, not a program issue. Adjust the G54 or H offset by the measured error and run a second part. Only after the first article passes inspection do you increase feed to production rate.

Example

Before first cut checklist for a drilling program:

Run dry run with the tool at Z50 (no cutting), watching the XY positions. Then single-block the first hole down to Z-15. Confirm the tool is at the right X/Y before allowing it to feed down.

Common Mistakes

Practice

1. Why use reduced feed on the first article?

Ans

So you can hit feed hold immediately if something looks wrong, before the tool cuts into the part. At full feed, a 0.5-second delay can scrap the part.

2. What three offsets must be verified before running?

Ans

Work offset (G54 X/Y/Z), tool length offset (H), and tool radius offset (D).

3. CAM simulation looks perfect. What might still be wrong?

Ans

Work offset, tool length, tool number, units, spindle direction — anything in the physical setup that the CAM model does not know about. Only the machine dry run reveals setup errors.

4. The first part comes out 0.3 mm too large in X. Do you change the program X coordinates?

Ans

No. Fix G54 X offset by the measured error (add or subtract 0.3 mm). Changing the program makes it wrong for the next setup.