If I had a similar need, AND I had confidence that the separate issues of part distortion from heat and clamping pressure, machine distortion from internal heat and outside influences (poor foundation, other machine's vibrations, etc., HVAC localized heating/cooling) was nulled out, I would use on-machine probing, but only on a comparison basis with proximal certified standards (not a master part).
So an independent fixture that could be located in front of key features (bores, steps, orthogonalities) that mounted a previously qualified array of gauge blocks and linear features (ceramic or granite squares, for instance), then probe off the gauge master (GM), remove the GM and probe the part. The machine would still need enough inherent accuracy to not introduce a drift from the short distance from the GM to the part, but if it can't do that then it's not suitable for precision machining anyway.
When done the GM can be reinstalled and previous readings double-checked, then it could go to a separate CMM for further confirmation if desired.
This keeps you flexible (can array gauge blocks and geometry features as needed on a stable frame), keeps the measuring on machine but independently verifiable, and due to close relationship of GM to part features minimizes measuring drift due to machine geometry errors (which would be an issue with the grosser displacement when using a master part).
Or just spend the money for a laser interferometry probe that uses a measured beam path to read from a transiting probe that the machine moves around. So the machine is only a carrier, not a guarantor of accuracy.
Interferometry explained
Zeiss make a bunch of instruments for in field measurements used in aerospace (I'm sure you have seen them) with corner cube retro reflector prisms and lasers bouncing off stuff - not sure how accurate they are currently (will rummage).
Nails and hammers and problems thereof,
For me I see a software "Problem" / solution / method.
The nice thing about CMMs and separate metrology departments is the CMM has much fewer random conditions and variables acting on it. I.e. it doesn't have to cut anything.
There are many ways to measure bores in situ (especially using bore gauges ) but I guess the key problem is the controlled network or almost triangulated 'Geoid" of the constellation of bores that are correctly machined in position and orientation relative to the other bores and the part itself or key reference features and datums etc. but I think the bores being "correct" to other bores is especially important for a gear box of one sort or another i.e. the thing with the lots and lots of gears bearings and shafts has to work and work really well under extreme conditions.
Not sure how many of Op's bores are at different angles / planes to each other orthogonally or otherwise ? However,
Being reduced to,
Bore 01 : [X, Y, Z, (unit vector i, j, k ) , diameter, seating etc. , whatever other parameters you want ].
//for position and angular orientation definition and other parameters to locate critical aspects of the features , - bores etc.
Bore 02 : [X, Y, Z, i, j, k ), , , ].
Bore 03 : [X, Y, Z, i, j, k ), , , ].
…
Bore 25 : [X, Y, Z, i, j, k ), , , ]
So in the metrology department / CMM or whatever custom measurement rig you have... "THEY" come back with ,
Bore 01 : (ΔX, ΔY, ΔZ, Δi, Δj, Δk, Δ "this/that" , … , )
Bore 02 : (ΔX, ΔY, ΔZ, Δi, Δj, Δk )
…
Bore 25: (ΔX, ΔY, ΔZ, Δi, Δj, Δk )
^^^ This is taken to the CAD/CAM system where corrections are made to the program and also rotated and scaled and translated into the correct machine coordinate system. At least so the program can actually run on the machine.
^^^
Iteration 1.
Second part comes off the machine ---> Goes to metrology/ inspection ---> CMM --- > New ΔX, ΔY, ΔZ, Δi, Δj, Δk 's etc calculated
This time the computed residual errors should be smaller.
^^^
Iteration 2.
3rd part cut on the machine ---> Metrology, computation of residual errors ---> New code output to run (that also takes into account key tool compensations on the machine such as tool wear through the use of various macros.) i.e. has dynamic parameters called from the machine state that the operator is guiding that intelligently fold into the adjusted program and code that is being run (we can hope can't we ;-) ) at least debugged sufficiently so that the code is not ignoring what compensations have and or are being made by a skilled machinist.
Iteration 3.
etc.
...
In my statistical / metrological and engineering experience first iteration should reduce positional errors down to about 30% of their original magnitude,
1st iteration error reduction down to 30% of original spread(s).
2nd iteration by 15%
3rd iteration by 7-ish percent,
4th iteration by 3-ish %
5th by about 1.5 ish %
after that the adjustments (least squares iterative adjustments ) will bounce around and not be able to converge on a tighter solution , sort of reaches an asymptote as to what you can squeeze out of it in terms of precision and accuracy and universal fit and compliance in a battle with "
condition equations" (theoretically how the
part* geometry and key reference points and surfaces should hang together mathematically),
versus the "
Observation equations " - derived form actual measurements with real world errors from the CMM / inspection department.
What requires a bit of mathematical skill is the correct input of weighted initial errors ("Weight matrix" - initial guesses to begin with) so the system is not too over constrained or under defined / too permissive.
In terms of actual machining this would be very unnerving for any machinist as the actual machine coordinates are controlled indirectly by the CMM / inspection department as the machine itself is in it's own "Universe" whatever the machine is reading is not the actual values as they have been indirectly calibrated by iterative inspection procedures.
That would be pretty spooky to deal with I think. (
I assume the above approach is used in high-end outfits? )
I think what OP wanted was the opposite where the machinist is driving the metrology but unfortunately the machine itself gets in the way of that...
On machine / on fixture references like what
@milland might help macroscopic adjustments to all of the above and maybe the use of a thermal camera + data loggers for temperature sensors in the machine and around the environment especially vertically (different layers of air etc.). Really map things out thermally so that different programs could be run (for different temperature conditions through the day or year), or at least attempt to repeat environmental conditions. Early morning program might be different from the one you run in the afternoon with different sets of corrections that you draw upon.
_________________________________________________
* Part geometry, not machine geometry (in this case).