A Comparative Study of Different Milling Strategies on Productivity, Tool Wear, Surface Roughness, and Vibration,
jmmp8030115, plunge milling deep slot AA7050-T7451A 2024 paper by Silva and colleagues roughs a closed slot in an AA7050 block, 12 mm wide, 140 mm long and 74 mm deep, two ways: by full-depth plunges side by side, or by layers along the slot. After either it finishes the walls to 12.6 mm in five levels, the same way, and compares machining time, tool wear, roughness and vibration. The tool is a D12 three-flute carbide end mill 85 mm out of an ER32 collet chuck, about seven diameters. The base case rebuilt that test in HiNC from the paper's tables and photographs and wrote the three programs the paper does not publish. On the shop floor the question runs the other way: the walls of a deep slot measure out of square, and would another roughing strategy help?
Here an AI agent gave the base case's three-axis machine one common geometric error: its Z axis is out of square with Y by 0.003°, 15.7 µm per 300 mm, a typical squareness for a linear axis; the paper measured no machine geometry. The error sits on a branch of the machine marked as an error term, directly upstream of the Z axis. This skeleton machine binds no spindle role, so the column and the spindle tilt together, and the tool tip moves 0.05236 µm toward +Y for every millimetre it goes down. The pivot is the point where the tool tip stands at the touch-off, the centre of the stock top: there the deviation is 0, and the case's own G54 is the one a real touch-off would find. The controller solves its axes as if the branch were not there, while the simulated machine moves and cuts with it whenever the project's Enable Error Terms switch is on. The agent changed no line of the programs.
Before the first play, the agent wrote down the tool-tip offset it expected, the deviation of every feature, seven pass criteria and one prediction above all: both routes end with the same slot, its walls parallel and leaning 3.9 µm at the bottom, its width unchanged, with no step between the finishing levels. A trimmed case, the first five plunges and one finishing loop, played first, to check the build and the formula. Then each route played whole at 0.25 mm, geometry only, three times:
The programs are plain three-axis work: G54 and G43, with no RTCP, tilted plane or CL. Their machine coordinates come from the program and its offsets alone, so a controller that knew the error would compute the same machine coordinates and cut the same leaning slot; that is reasoning, and no run was played to show it. A real three-axis controller removes such an error only through its own squareness compensation, which HiNC does not simulate here.
HiNC rendered these pictures from the block, the vise, the tool and the programs the base case derived from the paper; no figure or photograph of the article is reproduced. The colours are HiNC's geometry difference (Df in the colour bar) against the cut of the same route's nominal run, on a symmetric scale of ±0.004 mm: red = cut too deep, blue = material left, green = 0. The pictures were taken with the recorded stock and its Diff put back on the canvas, not from a replay; for the first picture, a pose program brought the tool into view. The chart is drawn from the meshes of the cuts HiNC exported. Grid 0.25 mm.
| Key number | What it is |
|---|---|
| 0.003° | the error: the Z axis out of square with Y by 0.003°, 52.36 µrad, or 15.7 µm per 300 mm. It is a typical size the agent chose, not a measurement; the paper measured no machine geometry. The tool tip moves 0.05236 µm toward +Y per millimetre of depth, from 0 at the stock top, where the touch-off is made |
| 1.51×10⁻¹³ mm | the largest gap over the 73,771 cutting steps of the three runs with the error between the measured tool-tip offset and the formula written before the first play, δ = (0, −Zp·sin θ, −Zp·(1 − cos θ)) with Zp the tip's program Z. That gap is effectively zero. The offset is 0 at the stock top and 3.875 µm toward +Y at the slot bottom, Zp −74; the machine coordinates equal the nominal run's at every step |
| ∓3.849 µm | the two long walls at z −73.5: the +Y wall −3.849 µm (cut too deep), the −Y wall +3.849 µm (material left), along −|z|·tan θ and +|z|·tan θ, 0.05236 µm per millimetre of depth. The five finishing bands read ∓0.399, 1.165, 1.937, 2.710 and 3.475 µm, each within 0.0005 µm of its prediction on the same vertices |
| 0.0005 µm | the largest gap between the walls and the prediction, which is the spacing of the exported mesh's single-precision coordinates at y 6.3 mm. The slot's width changes by at most 0.0005 µm (median 0.000), and the four joins between the five finishing levels show no step (0.0001 µm or less) |
| 0.000 µm | the difference between the plunge and the layer route in the median of each of the ten wall bands. 468,295 vertices of the two cuts are identical bit for bit in position and distance; the only differences are 464 floor vertices in the rows y −5.75 and −5.5 on the −Y side, by at most 0.0153 µm, and 183 extra vertices of the plunge mesh on the stock top, at distance 0 |
| ±0.30 µm | the floor, tilted across its width from −0.30 µm at the −Y edge to +0.30 µm at the +Y edge, following each pass's own tool bottom rather than one rigid rotation; measured within 0.01 µm of the pass-by-pass prediction |
| 2 h 14 min | server time for the nine plays at 0.25 mm on the shared 32-thread server: three trimmed and six whole, 35,533 steps per play on the plunge route and 38,971 on the layer route, 926–1,752 s each while other cases ran beside them. The heaviest whole play peaked at 2.37 GB (2.21 GiB) of memory |
The brief to the design agent said that plunging and layering would leave different walls. That takes a machine whose Z travel is tilted while its spindle stays true to the table: each 14.8 mm finishing band would then be vertical but shifted with its depth, leaving steps of 0.78 µm between the levels. This skeleton machine binds no spindle role, so a spindle tilt of its own cannot be placed on it; the only error that fits tilts the Z travel and the tool together. Then a point on the wall at depth z moves |z|·tan θ toward +Y whatever pass cut it, a plunge wall, a layer's flank or a finishing level, and the walls of both routes land on the same tilted planes. The agent turned the case into a pre-registered equivalence experiment: the plan, committed before the first play, predicts that both routes end with exactly the same slot, with 0.3 µm of tolerance per band. Measured, the ten bands differ by 0.000 µm and the joins between the levels by at most 0.0001 µm.
A static rotation needs a pivot, and where it sits decides whether program zero moves. Left at the machine origin, the error would push program zero 32.7 µm toward −Y. A real touch-off would absorb that into G54.Y; HiNC's program-zero measurement, made on the nominal machine, would not. The runs would then disagree on G54, and the Diff would charge the missing touch-off to the error. The agent put the pivot where the tool tip stands at the touch-off, the centre of the stock top. There the deviation is 0, the case's own G54 is what a touch-off finds, and every run used it unchanged. The offset a fit finds at program zero is at most 1.13×10⁻¹⁴ mm, and the deviation grows with the tip's height above or depth below that point, to −11.5 µm at the machine's home position, 220.5 mm above it, where nothing is cut.
To first order, the plan read the error as the whole cut turning about one line along X through the centre of the stock top; read literally, the floor would be a plane through 0 at y = 0. The design's feature prediction took the floor from the last finishing pass at Y +0.3 instead: −0.304 µm at y −5.5. The floor read neither: −0.0153 µm at y = 0 and −0.290 µm at y −5.5. The pivot is fixed on the spindle line while the table carries the part under it, so in program coordinates each pass tilts about its own Y position: the tool bottom of the pass at Y +0.3 sits (y − 0.3)·tan θ above nominal, and each point of the floor keeps the lowest of the passes that swept it. That pass-by-pass model matches the measured floor within 0.01 µm, where the mesh's single-precision spacing is 0.0076 µm. The one-line picture is exact only for passes at Y 0; for the walls it holds to within 0.00001 µm, which is why the walls agree with it and the floor does not.
Against the nominal cut, 542 of the 468,942 vertices of the plunge route's cut read beyond 5 µm, down to −180 µm, 46 times the most this error can do. All sit at the edge of the floor: 521 in the row next to the −Y wall and 17 in the floor corners of the slot ends, at z −74, and 4 in the +Y end corners, on the 0.2 mm corner radius just above. The same vertices read the same values on the layer route, and none lies in a feature box the design judged. The distance search looks only at the 12 nearest triangle centres and can overstate a distance beside large triangles, so each of the 542 was recomputed as an exact point-to-triangle distance: all are real differences between the two meshes, within 10⁻⁵ µm of the search. The analysis infers that they are not a cut: the tool kept its shape and its tip never moved more than 3.875 µm at any step, so no face can be cut 62 µm deeper. Why the meshes differ there is inferred too: the nominal floor lies exactly on a grid plane and the 0.2 mm corner radius is smaller than the 0.25 mm cell, so the 0.3 µm dip of the floor's −Y side flips that row of cells and the exported vertices land on the grid instead of on the corner's arc.
The full record has the other three: whether a 0.25 mm grid can read 3.9 µm (it reads the walls to 0.0005 µm); three traps in the base case's mission and play script, a list whose resolution differed from the others, stock-record entries after the roughing, and a script that skips the roughing and reads a cached stock when one exists; and why the canvas shows the long walls of a closed slot only at a grazing angle, so that a chart carries the main evidence. It also notes that the control runs exported no cut of their own, so the plan's noise-floor criterion could not be judged as written: their step series are identical to the nominal runs', and their Diff is green but for a few sampling specks on the slot-end arcs seen from above, which the runs with the error show too.
All nine plays ran to the end, 4,103 steps per trimmed play, 35,533 per whole play on the plunge route and 38,971 on the layer route, with no collision, no rapid move through stock and no travel alarm. Five of the seven criteria written before the first play passed as written. The build criterion passed in every part the records cover, but two of its items, a reload of the error-term project without a load message and the case's other files left unchanged, were not recorded; the noise-floor criterion could not be judged as written, as told above.
With the controller unaware of the error, the tool tip of each of the 73,771 cutting steps of the three runs with the error sat where the formula written before the first play put it, the largest gap 1.51×10⁻¹³ mm: 0 at the stock top, 3.875 µm toward +Y at the slot bottom, the same wherever the table stands in X and Y. The machine coordinates of every step equal the nominal run's.
On the part, both long walls shift toward +Y by |z|·tan θ: the +Y wall is cut too deep and the −Y wall keeps material, from 0 at the rim to ∓3.849 µm at z −73.5, with no step between the five finishing levels and the width unchanged within 0.0005 µm. The floor tilts across its width from −0.30 to +0.30 µm, following each pass's own tool bottom. The R6.3 slot ends carry the same shift: near the bottom they read +3.8 µm where they meet the −Y wall, 0 at the apex and −3.8 µm where they meet the +Y wall. The stock top and the block's outer faces read 0.
The plunge route and the layer route cut the same slot: on the walls, every vertex of the two cuts is identical bit for bit, and the medians of the ten wall bands differ by 0.000 µm. The finishing takes 0.3 mm off each wall and removes whatever the roughing left, and every pass, roughing or finishing, shifts by the same amount at the same depth. So the prediction written before the first play held.
The study models this one error only, constant, and the agent chose its size and direction; with the tilt the other way, the +Y wall would keep material and the −Y wall be cut too deep. The plays are geometry only, with no cutting force or deflection: the real walls would add the bending of this seven-diameter cutter to the lean. Everything is simulated; no slot was cut.
Read the full case record: the deep slot with the Z axis 0.003° out of square
How the block, the vise, the tool and the three programs were rebuilt from the paper is told in that record; the base case has no page of its own.