Every morning, the first three parts off a machining center were 0.03-0.05 mm out of tolerance on the Z axis. The operator compensated, the next parts were fine, and everyone moved on. Nobody chased it because the parts after the first few were good. But those first parts were scrap or rework, and on a two-shift operation that’s a measurable loss every single day. The cause was thermal growth of the spindle, and it’s the most predictable, most ignored error source in CNC machining.
What expands and how much
A spindle assembly is roughly 300 mm long from the nose to the rear bearing. The spindle housing is steel, with a coefficient of expansion of about 11-12 microns per meter per degree C. When the spindle warms up from 20°C (machine shop temperature in the morning) to 45°C (steady running temperature), the housing grows by about 0.3 mm per meter, or about 90 microns over 300 mm. The Z axis position of the tool nose moves by that amount. Ninety microns is 0.09 mm — bigger than the 0.03-0.05 mm error the operator was seeing, because not all the growth pushes the tool nose away from the work. But the direction is always the same: the tool nose moves away from the workpiece as the spindle warms, so parts come out long, and the error is in the direction that makes a bore undersize or a face position wrong.
The time constant matters too. A spindle reaches 90% of its steady temperature in about 30-45 minutes of running. That’s why the first three parts are wrong and the fourth is fine. The operator’s manual compensation works because they dial it in by the fourth part. But the spindle keeps growing for another hour, slowly, and the last part of the morning shift is slightly different from the middle of the shift. The thermal error is a curve, not a step.
The three fixes, from cheap to thorough
1. Warm-up cycle. The cheapest fix is a programmed warm-up: 10 minutes at 500 rpm, then 5 minutes at 1500, then 5 minutes at 3000, before the first part. This brings the spindle to thermal equilibrium quickly and predictably. It costs 20 minutes of machine time per shift and saves three scrap parts. The math is almost always in favor of the warm-up. The shop that has “no time” for a warm-up usually has time to rework three parts.
2. Thermal compensation software. Modern CNC controls have a thermal compensation option. You measure the spindle growth curve once (mount a test bar, measure growth with a dial indicator every 5 minutes for an hour), feed the curve into the control, and it corrects the Z axis position continuously based on spindle speed and time. This gets the thermal error down to 5-10 microns. It requires the machine to have the option enabled, which costs a few thousand dollars, but it pays for itself quickly on a two-shift machine that makes tight-tolerance parts.
3. Spindle cooling. A spindle with a built-in oil cooler (thermo-regulation) holds the housing temperature within ±1°C, which caps the thermal growth at a few microns. This is the right fix for a machine that runs 24/7 with tight tolerances. It’s also the most expensive — it’s a feature that comes with the machine, not an add-on. If the machine doesn’t have it, the warm-up and software compensation are the practical options.
The measurement that makes it real
To quantify the growth on any machine: mount a test bar in the spindle, set a dial indicator on the Z axis to touch the bar end, and record the indicator reading every 5 minutes while the machine runs at production speed. The curve that comes out is the machine’s thermal signature. On a 40-taper spindle you’ll see 60-100 microns of growth over an hour. On a machine with a cooled spindle, you’ll see 10-15. That single measurement tells you which fix you need. Most shops have never done it, which is why they keep shimming parts on Monday mornings.
The batch planning angle
There’s an operational trick that costs nothing. Run the warm-up before the first inspection part, and schedule the tightest-tolerance operations after the spindle has been running for an hour. If the shop does roughing first and finishing later in the same job, the finishing passes land in the thermally stable window. That’s free accuracy. It just requires thinking about thermal state the same way you think about tool wear.
The first three parts were wrong because a steel spindle grows 0.09 mm from cold to running temperature. It’s a curve, not a defect, and it’s fixed with a 20-minute warm-up, a compensation table, or a cooled spindle. Measure the growth curve once and the fix chooses itself. Thermal error is the most repeatable error in machining — that’s exactly why it’s the easiest one to correct.