You're right that one can't compensate for lack of rigidity with software but you can have an inaccurate but rigid structure and compensate on top of that. It's pretty common practice to use some sort of software compensation to improve accuracy (at least in certain applications where it matters).
Metal milling machine need to be super rigid because of the cutting forces... You can build super accurate machines (e.g. with granite) that can't be used for milling but can place a tool with a (sub-)micron accuracy.
Even with metal you can take lighter cuts and trade off some rigidity for accuracy, but then it's gonna take much longer to get anything done...
It can. Basically a repeatable machine can be made accurate by calibration. It doesn't have to be accurate to start with. If it's not repeatable (i.e. won't hold its calibration) then yeah, it won't ;) But accuracy != repeatability. I've worked on precision machinery (1um accuracy) and we used calibration techniques.
This is also my field. The issue is, the machine will be repeatible on the short term but not on the long term. It will look like it's behaving well during calibration and the next few months of operation.
But if the ways and mating surfaces aren't almost-perfectly straight and flat, they'll experience accelerated wear. (If you're using hydrostatic bearings, they won't work to begin with unless the surface is accurate). Then the calibration is gone. And that's just in the static case.
If your ballscrew has uneven pitch, is eccentric, or any number of other issues, you can calibrate it out. But now to move at a constant speed, your servo controller has to drive that inertia at a wobble, and everything shakes.
The machines I worked on had air bearings. No wear. Basically we're talking about something like an error of 10um over 2 meters. It's practically impossible, or cost prohibitive, to remove that error without calibration. The granite surface the air bearings ride on is locally flat but not perfectly accurate over its entire length.
I agree this setup is almost perfectly straight and flat. But it's still not accurate without the calibration.
Just to be clear, there's weren't milling machines...
Metal milling machine need to be super rigid because of the cutting forces... You can build super accurate machines (e.g. with granite) that can't be used for milling but can place a tool with a (sub-)micron accuracy.
Even with metal you can take lighter cuts and trade off some rigidity for accuracy, but then it's gonna take much longer to get anything done...