How to Set Up a CNC Milling Machine
This guide walks through how to set up a CNC milling machine for a first run: cleaning the table, dialing in the vise, touching off tools, setting work coordinates, and proving the program on a scrap block. It is written for machinists and process engineers who need a repeatable sequence, not a list of tips. By the end you will know which checks catch the errors that scrap parts, and when a job should move to a 5-axis or mill-turn platform instead.

In this article
- 1
- 2
- 3
- 4
- 5
- 6
Key takeaways
What to prepare before you set up a CNC milling machine
Setup starts before the machine is switched on. Read the drawing, the model and any GD&T notes. Identify the datum surfaces the designer used, because those are the faces you will pick up on. If the drawing calls out a flatness or perpendicularity tolerance to a face, that face has to sit on something solid, or you have to machine it in the same setup.
Lay out the tooling in the order the program calls it. Check that every holder tapers and every collet is clean and free of fretting. A worn collet can add 0.02 mm of runout at the tool tip, which shows up as a size drift on the finished part. Measure tool stick-out and write it down. If a tool is not the same length as the previous job, the offsets will need to be reset.
Confirm the material. Aluminium 6061, 7075 and 6082 cut differently from 304 stainless and 17-4PH. Stainless work-hardens if the feed is too light. Knowing the alloy before you choose the spindle speed avoids a lot of scrap. Our shop machines aluminium, stainless, steel, copper, titanium alloys, Inconel and engineering plastics.
Check the workholding plan. A 4,000 mm long part needs different support than a 100 mm bracket. For thin plates, plan support under the cut area. For tall parts, plan a second op or use a tombstone. Write the setup sheet so the next operator can repeat it.
- 1Datum firstPick the faces the drawing uses as A, B, C. Everything else follows from them.
- 2Tool runoutCheck at the tool tip, not at the holder. 0.02 mm runout becomes 0.02 mm size error.
- 3Material mattersSpeeds and feeds for 6061 will burn a 304 stainless cutter.
- 4Setup sheetOne page: datum, offsets, tool list, clamping, inspection points.
Machine checks and workholding for a CNC milling machine setup
Start with the machine itself. Check the way lube level and the air pressure. Run the axes to the far ends of travel and listen. Any growl or hesitation means something is loose or starved. On a machine with a Ø400 mm rotary table, index the table through 360° and check for backlash before trusting it as a datum. On our 5-axis centers, we re-check the rotary zero after any crash or long idle period.
Stone the table. A 100 mm stone, light oil, and a few passes in both directions. Feel for dings with your hand. A raised chip under the vise can tilt the part by 0.05 mm over 150 mm. That is enough to fail a flatness callout before the first cut.
Mount the vise or fixture and indicate it. For a standard 150 mm vise, sweep the fixed jaw with a dial test indicator. Aim for 0.01 mm or better over the full jaw length. Tap the vise with a dead blow while the bolts are snug, then tighten in a diagonal pattern. Re-check after tightening. The vise will move 0.005–0.02 mm when the bolts go tight.
For fixtures, indicate the primary stop and the secondary stop. Two stops define the X and Y origin. A third point, or a plane on the fixture, defines Z. Write the offsets down before you cut. If the fixture has a known height above the table, use that as a reference and verify with a gauge block.
- 1Way lube and airLow lube or low air pressure will show up as finish chatter and axis alarms.
- 2Stone the tableLight oil, both directions. Feel with a bare hand for raised spots.
- 3Indicate the viseSweep the fixed jaw, tap, tighten diagonally, re-check.
- 4Two stops plus ZX, Y from stops. Z from a known fixture height or gauge block.
Tool offsets and work coordinates on a CNC milling machine
Touch off each tool on a known surface. Use a 50 mm gauge block or a tool setter if the machine has one. For a 3-axis mill, a common practice is to touch the tool to the top of a 50 mm block on the table and enter the machine position minus 50 mm as the tool length offset. Do the same for every tool in the program. Consistency matters more than the exact method.
Set the work coordinate system (G54) on the part, not on the table. Touch the X and Y edges with an edge finder or a 3D taster and subtract half the tool diameter. For Z, touch the top of the stock or the datum face called out on the drawing. If the drawing uses a top face as Z0 and you set Z0 on the table, every Z depth in the program will be wrong by the stock thickness.
For a 5-axis job, the setup gets more involved. The machine needs the part origin in the rotary table coordinate system, and the post processor needs to know the pivot distance. Measure the pivot distance with a gauge tool, or use the machine's built-in probing cycle. A 0.1 mm error in pivot distance shows up as a taper on a 5-sided cut.
Record the offsets in the setup sheet. If the job runs again next month, the operator should be able to load the same offsets and get the same part. On a repeat job, a 0.005 mm offset difference is worth checking against the last setup, not just against the drawing.
- 1Touch off consistentlySame gauge block, same method, every tool. Note the block height on the sheet.
- 2G54 on the partX, Y from edges minus half the tool. Z from the drawing datum.
- 3Pivot distance5-axis only. Measure it, do not assume it from the machine spec.
- 4Write it downSetup sheet with offsets, tool numbers, and inspection points.
Step by step: how to set up a CNC milling machine
- 11. Clean and inspect the machineWipe the table, stone it lightly with oil, and clear chips from the T-slots. Check way lube and air pressure. Run each axis to both ends of travel and listen for noise. A machine that hesitates on a rapid will hesitate in a cut.
- 22. Mount and indicate the viseSet the vise on the table, snug the bolts, and sweep the fixed jaw with a dial test indicator. Target 0.01 mm or better over 150 mm. Tap with a dead blow, tighten diagonally, and re-check. Do not skip the re-check.
- 33. Load and measure the toolsLoad tools in program order. Check runout at the tip with a dial indicator. Aim for under 0.01 mm on finishing tools. Measure stick-out and record it. A tool that is 0.5 mm shorter than the last job will change every Z move.
- 44. Warm up the spindleRun a 15-minute warm-up: low speed, gradually to the job RPM, no cut. A cold spindle grows 10–20 μm as it reaches thermal steady state. Skip the warm-up on a tight-tolerance job and the first five parts will drift.
- 55. Touch off tools and set G54Touch each tool to a 50 mm gauge block or use the tool setter. Set X and Y on the part edges minus half the tool diameter. Set Z on the drawing datum, not the table. Enter offsets in the control and confirm each one on screen.
- 66. Dry run and single blockRun the program with the tool 50 mm above the stock, in single block, at reduced rapid. Watch the distance-to-go readout. Confirm every tool change and every Z move. If the control shows a negative Z where the drawing shows air, stop.
- 77. Cut a scrap block firstRun the first article on a scrap piece of the same material. Check the critical dimensions with a micrometer or CMM. Adjust wear offsets by half the measured error, then re-cut. Do not adjust the program for a wear offset problem.
Which setup approach fits which part
Use this table to decide the setup type before you book machine time.
| Part feature | Setup approach | Typical tolerance | Watch out for |
|---|---|---|---|
| Single-sided plate, flat bottom | Vise on parallel, 3-axis | ±0.05 mm | Chips under the part |
| Two-sided part with matched features | Two ops, flip on a stop | ±0.02 mm | Flip error from the stop |
| Five-sided part, no re-chuck | 5-axis, Ø400 mm table | ±0.01 mm | Pivot distance error |
| Round part with milled flats | Mill-turn center | ±0.01 mm | Sub-spindle sync |
| Thin wall under 1 mm | Soft jaws, light passes | ±0.03 mm | Wall deflection |
| Long part over 1,500 mm | Tombstone or riser blocks | ±0.05 mm | Sag between supports |
| Hardened steel over 45 HRC | Pre-hardened, carbide, small step-over | ±0.01 mm | Tool wear drift |
| Prototype, one piece | Vise, 3-axis, prove on scrap | ±0.05 mm | Setup time vs part value |
Setup is a sequence, not a checklist
Clean the table, dial in the vise, warm the spindle, set G54 on the drawing datum, and prove the program on scrap. Skip one step and the error shows up in the inspection report, not in the machine alarm.
Setup questions engineers ask
How long should a CNC milling machine setup take?
For a simple 3-axis vise job with four tools, a clean setup takes 45–90 minutes including vise dial-in, tool touch-off and a first-article check. A 5-axis job with a fixture and probing can take 3–5 hours.
If the setup is taking much longer, the cause is usually a missing setup sheet, a dirty table, or tooling that is not pre-measured. Fix the paperwork before you blame the machine.
Do I need to warm up the spindle every time?
Yes, if the job has tolerances tighter than ±0.02 mm. The spindle and the ballscrews grow as they heat up. A 15-minute warm-up at the job RPM gets the machine to a stable size before the first cut.
On a roughing job with ±0.1 mm tolerance, a short 5-minute warm-up is usually enough. On a finishing job, warm up and then re-check the first part after 30 minutes of running.
How do I set Z zero correctly?
Set Z zero on the datum the drawing uses, not on the table. If the drawing shows the top face as Z0, touch the top of the stock. If it shows the bottom, you need a known stock thickness and a gauge block.
After setting Z, run the tool to a safe height and confirm the control readout matches the drawing. A 0.1 mm Z error on a 3 mm deep pocket is 3% of the depth and will show up in the inspection report.
What is the biggest cause of a bad first part?
Workholding. A vise that moved after tightening, a part that lifted on a pass, or a stop that was not seated. The second most common cause is a tool offset entered on the wrong tool number.
Both are caught by the dry run and the scrap block. Skipping those two steps is how a bad first part becomes a bad batch.
When should I move a job to a 5-axis machine?
When the part has features on five sides that cannot be reached in two 3-axis setups without losing position, or when the tolerance between those features is tighter than the flip error you can hold.
A 5-axis setup is not automatically faster. It is more accurate across features and removes the flip, but it costs more setup time. For a single flat plate, a 3-axis vise job is faster and just as accurate.
Can an outside shop hold the tolerances I set in my program?
It depends on the shop's machines and its inspection process. GreatLight runs 127 high-precision CNC machines, including 16 simultaneous 5-axis centers, and holds ±0.005 mm on qualified jobs with 100% inspection before shipment.
Send the drawing and the critical callouts. We return a quotation and a free DFM analysis within 12 hours, and production can start within 24 hours.
Send us the drawing before you cut
Upload your CAD file and callouts. We review workholding, tooling and tolerance stack-up, and return a quotation with a free DFM analysis within 12 hours.
12-hour quoteFree DFM analysis±0.005 mm capability100% inspection