ISO 1 · ASME B89.6.2 · 20 °C
Every dimension on a drawing is defined at 20 °C, whether or not the drawing says so. A measurement taken at any other temperature is not the dimension the print calls out — it is that dimension plus a thermal offset you have to back out. We read the offset off the machine, in real time, and take it out of the number.
Records the machine itself puts in the results file, at the moment the point is probed.
Coefficients are the shared table the post processor, the scaler and the report all read. Plastics carry a band, not a single number.
The choice
A 20 °C metrology lab is the right answer and almost nobody has one on the floor. The shop runs at whatever the season and the spindle give it, the coolant runs warmer than the shop, and the part comes out of the machine warmer than both.
So there are three honest options. Hold 68 °F everywhere, which is a building project. Ignore it, and argue about tenths with your customer's inspection department. Or measure the temperature at the moment of the cut and at the moment of the probe, and take the arithmetic out of the argument.
The third one is a software problem, and it is the one we solved on our own two Multus U3000W machines before we sold it to anybody.
The chain · sensor to signed report
Wireless sensors report shop ambient, machine enclosure and coolant. Channels are addressed by name, so adding a sensor is a pairing job, not a rebuild. A channel with no sensor publishes a sentinel, never zero — a dead sensor can never be read as a very cold shop.
MachinePulse 360 runs on the OSP itself and writes each channel into a common variable. From that moment the temperature is machine data — readable by the program that is running, not by a spreadsheet afterwards.
The program, posted by our Multus post processor, writes the temperature and the stock material into the results file beside each probed point. Coolant outranks enclosure, which outranks ambient, because coolant is the closest thing on the machine to the temperature of the part.
Renishaw inspection posted straight out of CAM. Protected positioning only — no raw rapid ever moves the stylus — and the numbers are written by the control at the moment of contact, so the record is the measurement rather than a transcription of it.
Inspection Reporter reads the file and gives every point a second row at 68 °F, with its own margin and its own pass or fail. That row is the forecast: what the feature will measure when the part reaches the inspection room, before it ever gets there.
Two directions
After the cut → the report
dev₆₈ = dev − L · α · (T − 68) / 1.8The part was measured warm. The report subtracts the growth that was in it at the moment of the probe and reports the dimension the print actually calls out. Nothing about the program changes.
Where a material's coefficient is too loosely defined for the tolerance in front of it, the correction is withheld and the reason is printed. A number nobody can defend is worse than no number.
Before the cut → the model
k = 1 + α · (T − 68) / 1.8 → L_cut = L₆₈ · kCTE Scaler makes a marked manufacturing copy of the model, scaled about the setup's own work origin, and you post from that. In a cold shop k is less than one and the copy is deliberately small; the part grows into nominal as it warms. The master model is never touched, so the CMM still has the truth.
Fusion clamps a scale factor to five decimal places, so the record carries the k that was measured off the geometry, not the k that was requested.
The temperature the copy is scaled for is the one the programmer enters, and the part is cut hours or days later. Whatever separates that number from the temperature the part is actually at leaves a residual of L · α · (Tscale − Tpart) / 1.8 — which is precisely the term the report measures and prints. A poor estimate shows up as a deviation on the record instead of hiding in the metal. Feeding the scaler the coolant temperature the control is already holding, and then forecasting it for the scheduled run, is the next piece of work.
A program posted from a scaled model already carries shop-temperature nominals, so its raw deviations are already 68 °F deviations. Correcting them again subtracts the growth twice — roughly ten tenths on six inches of aluminum in a 55 °F shop, silent, and in the scrap direction.
So the post stamps CTESCALE k material tempF into the results file, and the report refuses to correct on the presence of that stamp — not on parsing it successfully. A stamp that is garbled still stops the second correction. That is why the scaler, the post and the report are sold and versioned as one system.
The report
The corrected value is its own row, not a column — because a derived number sitting in a column beside measured ones starts to read as another measurement once the report is printed and filed.
N4 X 0.8749 Y 0.2530 dev −0.00288 OK @68F corrected — thermal growth +0.00018 removed −0.00306 OK N5 X 1.6255 Y 0.2530 dev −0.00051 OK @68F corrected — thermal growth +0.00033 removed −0.00084 OK N6 Ø 1.2497 dev −0.00046 OK @68F corrected — thermal growth +0.00025 removed −0.00071 MARGINAL
Real output. Material, temperature and coefficient are carried on the record itself, so the report is reproducible a year later.
The rest of it, also live
What is actually in the magazine right now: pot number, gauge length, diameter, corner radius, flute count, holder and accumulated cutting time. Pushed to a floor screen within a second of the control writing it, and checked against the program before it runs.
Ambient, enclosure and coolant, written straight into the OSP common variables where a running program can read them. Values are blanked on exit, so a closed application can never leave a stale temperature behind for the next part.
Renishaw cycles, thermal records, collision-avoidance geometry and tool gauge data emitted from CAM for Multus and OSP-P500 — protected moves throughout, and the B axis retracted before it is ever repositioned.
Reads the file the machine wrote and produces the inspection record, with the 68 °F forecast on every point. Temperature and material can be filled in by hand when a machine has no sensor — but anything the file recorded always wins.
A Fusion 360 add-in that builds the manufacturing copy, scales it about the right origin, regenerates the toolpaths and marks the result so nobody can confuse it with the master.
The coefficients live in one place and are read by the post, the scaler and the report. A test asserts all three offer the same materials in the same order — ordered by coefficient, so a grade you cannot find sits beside one that expands like it.
SP Tooling Inc.
Built on Okuma Multus U3000W and OSP-P500, in a real shop, on real parts. If you run a Multus, most of this is a licence and an afternoon.
The software catalog sits behind a passcode. Ask for one and we will send it the same day.