Table of Contents

SpaceTeamSat1 CubeSat Structure, Optimized: HiNC's Feed Optimization Brings the Original Program to the Spindle Target and the Deflection Limits for 3.8 % More Time, and Takes 9.9 % off the Hand-Tuned One

The SpaceTeamSat1 CubeSat structure is six Al 7075 plates that an AI agent machined in 24 clampings with Fanuc programs from its own 2.5-axis CAM. The first clamping of plate X- (X- OP1) is where the case first played a program whole and saw its small cutters fail. Played as the CAM first wrote it, that program asks the spindle for 1.6 times its short-term rating in the D16 roughing (99th percentile) and bends the D6 and D2 finishing cutters 194 and 360 µm, against the case's limits of 25 µm on D6 walls and 50 µm in D4 and D2 corners. The agent revised its CAM by hand until the program held both: a feed scaled to the stock each piece of path meets, walls in a semi-finish and a final pass, slower round inside arcs, a final pass at 80 % feed. The revision costs time: 823.6 simulated seconds against the original's 635.6. Here the same agent hands both programs to HiNC's feed optimization, which rewrites the feed of every line from the loads it reads at each step, and asks two questions a shop would ask: what does the optimizer make of the original program — which overloads can a feed take away, and at what cost in time — and how much of the hand revision's time can it win back while it holds the spindle and the finishing deflection?

On HiNC 3.2.45 at the case's 0.125 mm grid, both optimized programs hold the spindle and the finishing deflection in HiNC's model. HiNC's optimization of the original program (variant A) takes 659.7 s: 3.8 % longer than the original and 19.9 % shorter than the hand-tuned program. The D16's power ratio falls from 1.615 to 0.663 at the 99th percentile, and target cutting forces drawn from the deflection limits bring the one-pass finishing within them: 193.9 → 24.1 µm on the D6, 79.5 → 43.3 µm on the D4, 359.9 → 49.9 µm on the D2. HiNC's optimization of the hand-tuned program (variant B), its semi-finishing kept as programmed, takes 741.8 s, 9.9 % less than the hand-tuned program, with the finishing at 25.0, 46.2 and 49.1 µm. A third play, the D2 stage of plate Y+'s first clamping (variant C), runs 8.6 % faster and brings that cutter's largest bend from 55.8 to 50.0 µm. Every optimized program replays to its last line with no collision, stroke or rapid-cut alarm and leaves the same part, node for node on the agent's own 0.025 mm z-map.

Two things shape these numbers. Two thirds of B's saving comes from one change a shop may not accept: the plan set no ceiling on the roughing's ramp lines, and HiNC raised the D16's ramps from the programmed F1800, half the chip, to the full chip; held at F1800 they would leave B about 3.3 % faster than the hand-tuned program and A 12.5 % slower than the original. And HiNC slows to the minimum feed the stretches around steps that remove stock while it reads no force on them, here the plunge into a level, which makes B's D6 and D4 final passes slower than the hand-tuned ones. A's finishing reaches its limits with chips down to 0.001 mm, which a real cutter rubs rather than cuts: the deflections hold in HiNC's model only. Everything here is simulated: no plate was cut, and the times are HiNC's ideal-feed estimates.

HiNC simulation of plate X- in the vise after the optimization of the original program: the D16 end mill below its shrink-fit chuck at a corner of the plate, the level it has just cut coloured by spindle power ratio from 0 to 1.2, all of it green at about 0.6, with blue seams between the passes

Plate X- in the vise after HiNC's optimization of the original program (variant A), the D16 roughing at the end of its first full-depth level, Z −4.35, with the D16 three-flute end mill 33 mm out of its shrink-fit chuck. The faces cut are coloured by the spindle power ratio of the step that cut them, 0 to 1.2: green throughout, at the 0.667 target or under it. The original program's same level, red on every full-width arc, is under Results and benefits. Captured on HiNC 3.2.45.

Measured on HiNC 3.2.45 Source program Optimized, replayed Change
X- OP1, simulated machining time: the original program and variant A 635.6 s 659.7 s +3.8 %; 19.9 % shorter than the hand-tuned program
X- OP1: the hand-tuned program and variant B 823.6 s 741.8 s −9.9 %; about −3.3 % with the D16 ramps held at their programmed F1800 (an estimate)
D16 roughing, spindle power ratio, 99th percentile / largest (target 0.667 of the short-term rating) original 1.615 / 2.632; hand-tuned 0.666 / 2.632 A 0.663 / 1.576; B 0.663 / 1.576 the original's 5,844 steps over 1 → 1, a ramp reversal no feed brings down
D6 / D4 / D2 final pass, largest XY tip deflection (C2: 25 / 50 / 50 µm) original 193.9 / 79.5 / 359.9 µm; hand-tuned 21.8 / 11.7 / 32.7 µm A 24.1 / 43.3 / 49.9 µm; B 25.0 / 46.2 / 49.1 µm within C2 in HiNC's model; A's D2 at 0.001 mm per tooth
D6 rest roughing, largest stress ratio (target 0.333, a third of yield) original 0.758; hand-tuned 0.703 A 0.332; B 0.332
Y+ OP1's D2 stage (variant C): time; largest final-pass deflection 360.5 s; 55.8 µm 329.4 s; 50.0 µm −8.6 %; within C2's 2 % margin
Shape: the agent's z-map, HiNC's exported part, the optimized files — — every node alike within 1 µm; volumes within 4 × 10⁻⁶; 172 / 44 points of A's / B's roughing up to 16.6 µm off their line
Replay messages: collision / stroke / rapid cut 0 0 every line ran
Run cost on a shared 32-thread server, A / B: optimization play; replay — 10.7 / 14.4 min, 40.6 / 47.5 GiB; 12.9 / 14.4 min, 9.9 / 12.7 GiB about 1.5 hours of server time with the trials

The case

The case's own page tells how the agent planned the six plates' 24 clampings, wrote its CAM, sized every holder's stick-out from a height map of the part and played the batch through an acceptance; this page starts from the first clamping of plate X-, CS_Xminus, the square frame held in a vise by an 8 mm slab left under it. What the agent was given:

  • Two programs for X- OP1 (read from the case): the original program, 31,111 lines, as the agent's CAM first wrote it; and the hand-tuned program, 31,661 lines, the one the case accepted. The original has five milling operations, the hand-tuned program eight, and both the same four drills, in this order:
Operation Tool Original program Hand-tuned program
rough1 T1, D16 offset-contour roughing by levels with helix and zig-zag ramp entries: cuts at F3600 (0.08 mm per tooth), ramps at F1800 the same path, the feed scaled to the stock each piece of path meets, down to 30 %
rough2 T2, D6 rest roughing at F2400 (0.04 mm per tooth) the same, scaled
semi2 T2, D6 — each wall semi-finished, leaving 0.1 mm
fin2 T2, D6 floors, then each wall in one pass taking its 0.3 mm allowance, at F2400 the final pass taking the 0.1 mm at 80 % feed (F1920), slower round inside arcs (ρ / (ρ + r)), down to 5 %
semi3, fin3 T3, D4 necked the R2 corners in one pass at F1800 a semi-finish, then the final pass, scaled the same way
semi4, fin4 T4, D2 necked the R1 corners and narrow slots in one pass at F576 a semi-finish, then the final pass, scaled the same way
holes T11–T14, drills D1.0–D2.5 peck drilling (G83) the same
  • The cutters (read from the case's tool table; the chips are the agent's common carbide values for 7075, not a maker's table):
T Cutter Holder, stick-out Speed Chip (feed per tooth) Feed at that chip
T1 D16 three-flute end mill, 32 mm flutes SF16 shrink-fit chuck, 33 mm 15,000 min⁻¹ 0.08 mm 3,600 mm/min
T2 D6 three-flute end mill, 20 mm flutes SF6, 21 mm 20,000 min⁻¹ 0.04 mm 2,400 mm/min
T3 D4 three-flute, 8 mm flutes on a D3.6 neck SF4; original: neck 22, out 23 mm; hand-tuned: neck 18, out 19 mm 24,000 min⁻¹ 0.025 mm 1,800 mm/min
T4 D2 two-flute, 4 mm flutes on a D1.8 neck SF4; original: neck 20, out 21 mm; hand-tuned: neck 16, out 17 mm 24,000 min⁻¹ 0.012 mm 576 mm/min
T11–T14 carbide drills D1.0, D1.6, D2.4, D2.5 SF3, 9–15 mm 12,000–24,000 min⁻¹ by diameter 480–600 mm/min
  • The case's criteria for these cutters: C1, stress ratio below 0.5 for cutters of D4 and under and below 0.8 for all; C2, the final passes' XY tip deflection at most 25 µm on D6 and D16 walls and 50 µm in D4 and D2 corners; C5, spindle power and torque below their rating. In this study's plays the original program misses all three (power ratio 1.615 at the 99th percentile; deflection 193.9, 79.5 and 359.9 µm; stress ratio 0.910 on the D6 and 0.821 on the D2 final pass); the hand-tuned program meets C1 and C2 on its milling cutters and C5 but for one step at a ramp reversal, 2.632.
  • The case's set-up: a generic three-axis machine with 30 m/min rapids; the Showcase's generic spindle, 7.5 kW continuous, 10 kW short term, 24,000 min⁻¹, efficiency 0.4; Al 7075 with HiNC's library cutting data; G54 at the centre of the stock's top face.
  • The request: showcases of HiNC's NC optimization built on existing cases, asked for by HiNC's product owner.

What nothing states:

  • How far each chip may go. The tool table's chips are the agent's choice; the hand-tuned program cuts below them wherever its rules expect a heavy cut, and nothing says how far below is needed.
  • How to hold a deflection limit. HiNC's optimizer holds spindle power, spindle torque, tool stress, thermal yield when it is switched on, a target cutting force, any criterion a script registers, and the feed limits; it has no built-in deflection criterion, so C2 has to be carried by another criterion.
  • Whether the hand rules are still needed. The hand-tuned program's feed rules slow the same places an optimizer would; whether a feed optimizer could have done the revision's work on the original path is the question variant A answers.

Every number on this page comes from this study's plays on HiNC 3.2.45 at the case's 0.125 mm grid: the optimization play of each source program is also its baseline, so each “before” was measured beside its “after”.

What the agent built

Each value is marked read (from the programs or the case), derived (computed from them or from a play), chosen (the agent's choice), default (HiNC's default, kept) or measured (in a play on HiNC 3.2.45).

A variant is one optimization play — HiNC plays the source program with an NC Optimization Config command before it and writes the optimized file after it — and one replay of the optimized file on the same project, stock and grid. The project was closed and reloaded from its file before every play and never saved.

Play Program What it answers
Corner trials both programs whole, on a stock cut down to one corner of the plate: X 25 to 51.9 and Y 25 to 51.9 mm in the clamping's frame (a foot, an inside corner with its notch, the frame's corner); the rest of each program plays in air each cutter's compliance and the air feeds (plain plays); do the embedded settings survive into the optimized file; how much memory and time a whole play needs
A the original program with the original tool table, set in memory which of the original's overloads a feed takes away, and at what time
B the hand-tuned program with the accepted tool table, its semi-finishing kept as programmed how much of the hand revision's time the optimizer wins back within C5 and C2
C the D2 stage of plate Y+'s first clamping (the hand-tuned program's semi-finish and final pass with the necked D2), from the workpiece recorded after the program's earlier stages the same on the heaviest small-cutter stage of the batch

Each tool's optimization limits, sent whole through PUT api/Cutter/{id}/opt-limit before every optimization play and read back: optimization on for T1–T4, a feed-per-tooth ceiling equal to the tool table's chip (0.08, 0.04, 0.025, 0.012 mm, read), yield safety factor 3 (the stress held to a third of yield), the minimum-chip-thickness and relief-angle limits on, no minimum feed per tooth (all default); optimization off for the drills T11–T14 (chosen: the optimizer leaves canned cycles as they are). The ceiling is the same in A and B, so the two variants compare who decides where to slow down, not whose chip is larger.

The NC Optimization Config before each program, every key written out and read back:

Setting Value Source
Feed optimization, re-interpolation on default
Lower limit as a share of the source feedrate off (0.8 if on) default
Feedrate assignment ratio 0.01 default
Extended pre and post distance 2 mm and 2 mm default
Spindle power and torque safety factors 1.5: the target is 67 % of the short-term rating default
Yielding safety factor of the command; thermal yield safety factor 0 (the tools' own factor 3 holds); 0 (not a criterion) default
Min / max feed per tooth of the command 0 / none chosen: the tool limits carry the ceilings, the embedded settings carry the floors and line ceilings
Min feedrate 25 mm/min chosen: under the lowest embedded floor (the D2's 5 %, 28.8 mm/min), a safety net only; the default 1 mm/min would let a phantom reading stall a stretch
Max feedrate 10,000 mm/min chosen: a conservative cutting-feed ceiling for a generic machine with 30 m/min rapids
Max acceleration 1,000 mm/s² chosen: the default 10 mm/s² spreads every change of feed over hundreds of millimetres
Rapid Feed (the air feed) 10,000 mm/min, changed per stretch by the embedded settings chosen (below)
Preferred force (the target cutting force) none (Infinity); set per finishing line by the embedded settings chosen (below)
Forward, side and depth compensation; depth splitting off chosen: compensation is not part of this study; with depth splitting off, a step held at the floor is logged at the floor
Omit leading zero off chosen: the agent's checks read every number of the output

Settings embedded in the program. Workflow: NC Optimization lets a script in the program's own comments change an optimization setting from the line it stands on. The agent wrote each change as a line of its own, holding only the comment, before the motion it applies to, and only where the setting changes; the operation of each line comes from the program's own operation comments:

(@@OptMaxFeedPerTooth_mm=0.04; OptMinFeedPerTooth_mm=0.002; OptRapidFeed_mmdmin=2400; OptPreferedForce_N=36.29;)
Class Operations Embedded settings Why
Roughing rough1, rough2 ceiling: none (the tool's own holds); floor: 30 % of the tool table's chip (T1 0.024, T2 0.012 mm); air feed by the rest-chip rule below; no target force 30 % is the hand rules' own roughing floor, so both programs share it
Semi-finishing (B and C only) semi2, semi3, semi4 kept whole between (@@BeginPreserve();) and (@@^EndPreserve();) the semi-finish decides the stock the final pass meets; HiNC's removal does not include the cutter's bend, so a faster semi-finish could leave the final pass more than HiNC sees (dilemma 1 for why ranges, not lines)
Finishing fin2, fin3, fin4 G01 lines with no Z motion: the tool table's chip as ceiling; G01 lines that move Z (plunges, ramps): the line's own programmed chip as ceiling; floor: 5 % of the tool table's chip (T2 0.002, T3 0.00125, T4 0.0006 mm); air feed: the tool table's feed; target cutting force: the C2 limit ÷ the cutter's compliance 5 % is the hand rules' finishing floor; a target force does not act on steps that change height, so those lines keep their own chip
Drilling T11–T14 G83 none the tools' optimization is off

The target cutting forces (derived): the C2 limit ÷ the cutter's compliance, the 95th percentile of XY tip deflection ÷ largest cutting force over the finishing steps (in contact, removing more than 0.01 mm³/s, over 1 N) of the corner trial's plain play of the same program. Deflection here is HiNC's tool-beam model, so the target holds the model's deflection, not a measured one.

Cutter Variant A: compliance, 95th percentile A's target force Variant B: compliance B's and C's target force
D6, C2 25 µm 0.689 µm/N 36.29 N 0.665 µm/N 37.57 N
D4, C2 50 µm (A's on a 23 mm stick-out) 0.931 µm/N 53.68 N 0.526 µm/N 95.02 N
D2, C2 50 µm (A's on a 21 mm stick-out) 8.721 µm/N 5.73 N 4.871 µm/N 10.27 N

The air feed (derived): the optimizer sends a line with no cutting within the extended distances at the air feed, so a thin layer of stock the model reads as air is cut at that feed. For the roughing the agent took a layer as thick as the cutter's XY tip deflection at the 99th percentile in the corner trial's plain play — stock a bending cutter leaves on the machine, which HiNC's removal, ignoring the bend, does not see — and chose the air feed at which cutting it gives a chip no thicker than the tool table's chip at the programmed width of 0.4 D: F = h ÷ sin φ × flutes × speed, with h the chip at 0.4 D and φ the engagement angle of that thin layer, clamped between the tool table's feed and 10,000 mm/min. The D16 comes out at 34,600 and 37,800 mm/min, so 10,000 in both variants; the D6's rest roughing at 7,290 mm/min in A (its deflection 160.4 µm) and 8,570 mm/min in B (115.0 µm). Semi-finishing and finishing use the tool table's feed, never faster.

Grid: 0.125 mm, the case's acceptance grid, for every optimization play and replay (read); the semi-finish leaves 0.1 mm, less than a cell, and the agent's own z-map checks the air feed apart from HiNC's grid (O6). Each program plays whole, all its tools in one run; HiNC's deflection transformation is off, as in the case.

Not optimized: rapids, tool changes and length-offset lines, G91 G28, M codes and the G83 cycles, which the optimizer leaves as they are; B's and C's semi-finishing, preserved.

How the agent managed the work

  • Plan and criteria first. The plan — the variants, every setting with its source, the class rules and eleven criteria with predictions — was committed before the first optimization play, the corner trials included. What the plays changed was written beside it twice: after the corner trials and before the first whole-program play (amendment 1), and with the results (amendment 2); the plan's text and its predictions were never rewritten.
  • Small before large. The corner trials played each program whole on a stock cut down to one corner, 1.3 to 4.2 minutes a play, and answered four questions before any whole-stock play: the compliance and air feeds, whether the embedded settings come through the optimized file intact, whether the replay runs clean, and what a whole play would cost. They also found the memory problem of dilemma 1. On the corner every setting line came through the optimized files on a line of its own, with no source note after it; the replays raised no message the plain plays lacked; the per-step log named the target force on the finishing steps and the line ceiling on the held lines; A's file had 10 points up to 1.8 µm off their line and B's none; and the agent's z-map found no air-feed move that cut, and the same finished stock.
  • One heavy play at a time. A private copy of HiNC 3.2.45 ran on a 32-thread server shared with live services and other agents' studies. Every trial, optimization play and replay queued on a lock shared with those studies, started only with 40 GB of the server's memory free, was watched read-only every three minutes (alarms, the tool and line reached, the share of steps in contact, the loads), and ran under a guard that would stop this instance if the server fell under 6 GB free. The guard never fired. The picture plays ran beside them on a second instance (the smaller dilemmas' table).
  • Settings read back. Each tool's limits and every option key were read back after each play and kept with its results, beside the messages, the server time and the peak memory.
  • Predictions kept as written. The plan predicted each variant's time, what would set the feed, and that the original's one-pass finishing would stay over C2 even at the floor. Where a prediction missed, the verdict says so (dilemma 2).
  • Where a person stepped in. HiNC's product owner asked for NC-optimization showcases built on existing cases; the variants, settings and criteria are the agent's.

The criteria as written before the first optimization play. A cutting step is a step in contact that removes more than 0.01 mm³/s; a step at the floor is within 1 % of its stretch's floor; the targets are a power and torque ratio of 0.667 and a stress ratio of 0.333:

# Criterion
O1 Every line runs and no new alarm: each replay runs as many lines as its file holds; no collision or stroke alarm; no more rapid cuts than the optimization play (the baseline); no warning or error the baseline lacks. Each optimization play reaches its feed-built and files-optimized messages, with no licence refusal and no failed step
O2 The governing loads within target: at least 99 % of each optimized cutter's replayed cutting steps at a power and torque ratio of at most 0.667 × 1.02 and a stress ratio of at most 0.333 × 1.02; on the finishing, at least 99 % at a force of at most the target × 1.02. Steps at the floor and lines held at their own chip (B's semi-finishing, the finishing's Z lines) may stand above a target and are listed apart
O3 The shape does not change: (a) every end point of the optimized file on its source line within 1 µm, points off it listed; (b) the agent's z-map at 0.025 mm after the optimized program the same as after the source, at least 99.9 % of the nodes within 1 µm; (c) HiNC's exported parts of the replay and the baseline within 0.1 % in volume
O4 Time, predicted: A +40 to +130 % against the original and −10 to +75 % against the hand-tuned program (roughing +10 to +35 %; finishing 2 to 6 times slower at the target forces and floors); B −3 to −15 % against the hand-tuned program (roughing −10 to +5 %, rest roughing −5 to −20 %, finishing −10 to −50 %, semi-finishing 0 to −3 %). Measured as it comes; a miss explained from the log
O5 Finishing deflection: A's 99th percentile and largest of each final pass no higher than the original's × 1.02, its distance to C2 reported (predicted: the D6 and D2 still over C2 at the floor); B's final-pass steps not at the floor at most C2 × 1.02 (25.5 µm on the D6, 51 µm on the D4 and D2)
O6 The air feed never lands on stock: the agent's z-map (0.025 mm) walks every optimized program in play order; no move that cuts (more than 0.01 mm³, or 0.001 mm² per mm of path) runs faster than its line's ceiling × 1.02; every violation listed
O7 The output is really optimized: each optimized file differs from its source; no error from the program writer; the optimizer's messages counted; lines, feed words, source notes and embedded lines counted
O8 Every cutter and operation still cuts: wherever the z-map says an operation cuts, HiNC has steps in contact; each operation's contact path in the replay within 3 % of the baseline's
O9 What set the feed, from the optimizer's per-step log: predicted, A's roughing at the ceiling 50–80 % and power 20–50 %; A's D6 and D2 final passes at the target force or floor 50 % or more; B's roughing at the ceiling 50 % or more and power 10–40 %; B's D6 final pass at the ceiling on straight walls and the target force in corners
O10 The 2 × 2 comparison, reported, not judged: the D16's power ratio, each small cutter's final-pass deflection and each operation's time for the original, A, the hand-tuned program and B. Predicted: A brings the D16 within 0.667 × 1.02 but for steps the floor holds up, while the D6 and D2 one-pass finishing stays over C2 at the floor; B holds C2 and C5 and is faster than the hand-tuned program
O11 Variant C, as O1, O2, O5, O6 and O7; predicted: its final pass 20 to 50 % faster, the largest deflection at most 51 µm

The dilemmas

Each is told as its situation, the risk had it been missed, how it was noticed, the resolution, and the evidence that the resolution held.

1. Settings on thousands of lines cost tens of gigabytes

  • Situation. The plan first held B's semi-finishing line by line: each G01 of the semi-finish got its own embedded ceiling, its own programmed chip, so that the optimizer could only slow it down. That wrote 3,936 setting lines into the program. On the corner trial the optimization play peaked at 28.42 GiB and its replay at 38.45 GiB, where the same program's plain play needed 1.85 GiB.
  • Risk. A whole-program play of B, with about six times the corner's contact steps, would run the shared server out of memory.
  • How noticed. The trials' peak memory.
  • Resolution. In HiNC a play's memory grows with the embedded script lines it runs. Two programs that differ only in 200 lines of (@@OptMaxFeedPerTooth_mm=…;) before 200 moves in air play with the same 14,562 steps and 43.0 simulated seconds at a 1 mm grid, and peak at 0.52 and 6.71 GiB. The trial's optimized program replayed with its 3,936 setting lines took 38.45 GiB; with those lines removed, 1.68 GiB, with the same 168,672 steps and the same end time. Roughly, a few gigabytes once and about 9 MB for every setting line the play runs. So B's semi-finishing became three preserved ranges, (@@BeginPreserve();) before each operation and (@@^EndPreserve();) after it: 156 setting lines in all. Each range's first line states its own feed, so the preserved lines run at their programmed feeds rather than at one the optimizer wrote on the line before. The price: the semi-finish is kept exactly as programmed, so a load above the targets in it is not slowed either.
  • Evidence. B's corner trial with the preserved ranges: 11.69 GiB and 8.05 GiB; the whole program's B play 47.52 GiB and its replay 12.69 GiB (the run-cost table). The preserved semi-finishing replays bit for bit as programmed: the D2's semi-finish keeps 36 steps over O2's 0.34, up to a stress ratio of 0.383, listed apart.
Corner trial Embedded setting lines Steps Server time Peak memory Simulated time
Original program, plain play 0 207,946 80 s 1.71 GiB 635.6 s
A's optimization play / replay 122 207,946 / 138,287 110 / 80 s 11.62 / 7.15 GiB 635.6 / 371.6 s
Hand-tuned program, plain play 0 273,221 100 s 1.85 GiB 823.6 s
B, semi-finishing held line by line: optimization play / replay 3,936 273,221 / 168,672 250 / 210 s 28.42 / 38.45 GiB 823.6 / 462.4 s
The same optimized program without its setting lines, plain play 0 168,672 80 s 1.68 GiB 462.4 s
B, semi-finishing preserved: optimization play / replay 156 273,221 / 181,201 120 / 80 s 11.69 / 8.05 GiB 823.6 / 494.8 s
200 setting lines over moves in air, 1 mm grid: without / with 0 / 200 14,562 / 14,562 10 / 20 s 0.52 / 6.71 GiB 43.0 / 43.0 s

A corner trial's replay time forecasts nothing for the whole plate: outside the corner most of each program runs in air, which an optimized program crosses at the air feed.

2. A target force that did more than predicted

  • Situation. The plan predicted that A's one-pass finishing would stay over C2 even at the floor: on another case's finishing HiNC's force had barely followed the feed. On the corner trial the target forces brought all three final passes inside C2, and the whole program did the same: the D6 193.9 → 24.1 µm, the D4 79.5 → 43.3 µm, the D2 359.9 → 49.9 µm.
  • Risk. A prediction quietly rewritten after the result; or a result read as a cut a shop could run.
  • How noticed. The corner trial, before any whole-program play.
  • Resolution. On this cutter the force follows the feed: the D2's largest force falls from 42.0 to 5.69 N as its chip goes from 0.012 to about 0.001 mm (F49), nearly in proportion (about the 0.8th power of the chip). The prediction stands as written and the verdict reports it wrong. The cost is time: A's D2 final pass takes 78.6 s instead of 30.4, its D6 final pass 149.1 instead of 119.5, with 3,902 of the D6's cutting steps at the 0.002 mm floor. And a chip of 0.001 to 0.002 mm is one a real cutter rubs rather than cuts; HiNC does not model rubbing, so “the one-pass finishing holds C2” is true in HiNC's model only.
  • Evidence. The deflection rows of the criteria table; the two traces below and the canvas pictures of the D6 under Results and benefits.

The D6 final pass of the original program and of variant A, largest XY tip deflection and feed per second over the operation: the original's deflection jumps between 30 and 194 µm in its last 30 seconds, A's stays at or under the 25 µm line throughout, at feeds mostly under 2,500 mm/min; 119 against 149 seconds

The D6 final pass, before (the original program) and after (A), per second. The original's walls bend up to 194 µm where the pass takes the whole 0.3 mm allowance; the target force holds A at the 25 µm line, at the price of 30 s.

The D2 final pass of the original program and of variant A, largest XY tip deflection and feed per half second: the original's D2 bending up to 360 µm, A's steps reaching but not passing the 50 µm line, at a feed under 100 mm/min; 30 against 79 seconds

The D2 final pass, per half second; a half second with no cutting on either side is drawn as a dot, and the original's corners, at 330 to 360 µm, are such dots. A's D2 cuts at about 0.001 mm per tooth (F49) and reads at most 49.9 µm.

3. Ramps raised to the full chip

  • Situation. The plan put no ceiling on the roughing's lines beyond the tool's own chip; it gave the finishing's Z lines their own chip as a ceiling, not the roughing's. Both programs ramp the D16 into each level at F1800, half the chip, about 3,000 mm of ramp in all. In the replays 95.8 % (A) and 95.7 % (B) of the ramp path is written at 3,500 mm/min or more.
  • Risk. Most of B's saving coming from a change a shop would not accept: a ramp cuts with the end teeth, whose chip evacuation and entry angle are not among HiNC's criteria, so a CAM programmer slows it for reasons the optimizer does not see. A reader would credit HiNC with time a shop would put back.
  • How noticed. Splitting the D16's time: on the agent's z-map the D16's cutting moves take 44 s less in A than in the original and 72 s less in B than in the hand-tuned program.
  • Resolution. Reported as the plan's result, with an estimate beside it, and not played again under another rule. The ramp steps take 46 s in each replay; held at F1800 they would take about 101 s (the steps' own time at the lower feed, without acceleration or extended distances). So with the ramps held, A would take about 715 s, 12.5 % more than the original, and B about 797 s, 3.3 % less than the hand-tuned program: two thirds of B's −9.9 % is the ramps. The flat lines programmed at F1800 save about 12 s more in each replay.
  • Evidence. The D16 pictures below: the original program's helix entry at the centre of the level is green, half the chip, and the optimized program's is red, the full chip. The feed trace shows the same.
D16 roughing, replay Ramp path at ≤ 1,850 / 1,850–3,500 / ≥ 3,500 mm/min Ramp path in contact Ramp time Ramp time held at F1800 (estimate)
Variant A 0.4 / 3.9 / 95.8 % 79.3 % 46.2 s 101.4 s
Variant B 0.4 / 3.9 / 95.7 % 79.6 % 45.9 s 100.7 s

HiNC simulation of plate X- before the optimization: the same view as the picture at the top, coloured by feed per tooth from 0 to 0.08 mm: the whole level red at the programmed 0.08 mm, the helix entry at the centre green at 0.04 mm

The original program at the end of the level at Z −4.35, coloured by feed per tooth, 0 to 0.08 mm: the whole level at the programmed 0.08 mm, the helix entry at the centre green at half of it.

The same view after HiNC's optimization of the original program: the full-width arcs green to cyan at 0.03 to 0.04 mm per tooth, the rest red at 0.08, the helix entry at the centre red at the full chip

After HiNC's optimization (A), the same colouring: the full-width arcs slowed to 0.03–0.04 mm per tooth by the spindle-power target, the rest at the 0.08 mm ceiling — the helix entry at the centre included.

D16 roughing, feed per half second over the level at Z -4.35 in both pairs: the original program steady at 3,600 mm/min with 1,800 on the ramps, A's feed falling to about 2,000 on the full-width arcs; the hand-tuned program and B both scaled to about 2,000 to 3,500

The D16's feed over the first full-depth level, before and after. Spikes are moves in air: rapids in all four programs and, in the two optimized ones, links sent at the air feed.

4. Steps with stock but no force, slowed to the floor

  • Situation. B's D6 final pass came out 16.3 s slower than the hand-tuned program's and its D4 final pass 6.7 s slower, against a prediction of −10 to −50 %.
  • Risk. Reading the target force as too cautious, or HiNC's finishing as worse than the hand rules.
  • How noticed. The feed along one lap of the D6 final pass: the first lap took 8.97 s against the hand-tuned 4.04 s, 11.0 mm of it at F120, the floor, for 5.51 s. The per-step log at that lap's start traced it to the plunge line G01 Z-3.333 F1200. (hand-tuned line 23,734).
  • Resolution. On those plunge steps HiNC reads stock removed (0.40–0.51 mm³/s) and a force of 6 × 10⁻¹⁴ to 2 × 10⁻¹³ N, effectively none; the log gives the tool-stress criterion's answer as the stretch's floor (FrtByYieldingStressRatio_mm[OverIteration]: 0.002), and the extended distances carry the floor 2 mm before and after. On the D4 the plunge G01 Z-11. F900. (line 29,800) reads 0.00016 mm³/s at 9.5 × 10⁻¹⁴ N and is written as G01 Z-10.14 F90., the D4's floor. A step that reads a force never gets the floor answer; of the steps that remove stock with no force, some do: 254 of 3,079 in A's rest roughing and 253 of 3,117 in B's, 11 of 821 and 16 of 533 in the D6 final passes. This is how HiNC behaves on such steps, and the study measures it rather than working round it (raising the plunges' floor or switching the stress criterion off would no longer show HiNC's defaults). The replays spend 51.6 s (A) and 59.6 s (B) at a floor; at the feed of their neighbours those stretches would take about 35 and 43 s less.
  • Evidence. The lap charts below: on the first lap the F120 stretch; on the thirteenth, with no plunge read at zero force, HiNC takes 20.5 s against the hand-tuned 21.5 s. Every second B's D6 and D4 final passes lose to the hand-tuned program lies in these floor stretches.
Replay At the floor: rest roughing D6 final pass D4 final pass Total Saved at the neighbours' feed (estimate)
Variant A 32.3 s in 79 stretches 13.0 s in 4 6.2 s in 2 51.6 s about 35 s
Variant B 31.7 s in 77 stretches 18.6 s in 8 9.3 s in 3 59.6 s about 43 s
Cutting steps with stock removed and no force Steps The stress criterion answered the floor Answered above the floor Gave no answer
A, D6 rest roughing 3,079 254 1,522 1,303
B, D6 rest roughing 3,117 253 1,563 1,301
A, D6 final pass 821 11 188 622
B, D6 final pass 533 16 266 251
A and B, D16 roughing 687 / 696 0 / 0 1 / 1 686 / 695

The first lap of B's D6 final pass, feed and tip deflection along the path for the hand-tuned program and B: B's feed at 120 mm/min for the first 11 mm, then at its 2,400 mm/min ceiling with dips to about 860 where the hand-tuned program alternates 864 and 1,920; deflection under 15 µm for both

The first lap of the D6 final pass (source lines 23,734–23,982): HiNC's version starts with 11 mm at F120, the floor carried from the plunge.

The thirteenth lap of B's D6 final pass: B at its 2,400 mm/min ceiling on the straight walls and about 560 in the corners, where the hand-tuned program runs 1,920 and dips to about 300; deflection under 25 µm for both, B's a little higher on the walls

The thirteenth lap (lines 26,770–27,539): no floor stretch; the ceiling on the walls, the target force in the corners. Of the 89 mm in contact that HiNC wrote below the ceiling, 42 mm lie on the corner lines the hand rules had slowed.

B's D6 final pass per second, hand-tuned against B: B's feed dips to near zero in short stretches where the hand-tuned program keeps 1,500 to 2,000, and its deflection runs higher, up to the 25 µm line in the last 15 seconds; 65 against 81 seconds

The whole D6 final pass, per second: the dips to the floor are the plunge stretches.

5. One step over the rating that no feed brings down

  • Situation. In the hand-tuned program, A and B, one step of the D16 roughing reads a spindle power ratio over 1: the same step, at a ramp reversal, also one of the original's 5,844.
  • Risk. Reading the optimizer as ignoring its target, or slowing a whole level for one step.
  • How noticed. O2's list of steps at the floor that stand above a target.
  • Resolution. It is the ramp reversal the case page lists among the readings its geometry does not explain: HiNC reads a removal rate there several times its neighbours'. At the roughing floor, 30 % of the chip, it still reads 1.576, against 2.632 at the programmed feed; the extended distances write about half a second round it at the floor. It is listed apart, as O2 provides.
  • Evidence. One step over 1 in the hand-tuned program and in both replays, whose 99th percentile is 0.663.

6. Points off their source line

  • Situation. O3 (a) walks every end point of the optimized files back to its source line: A has 172 points more than 1 µm off, up to 16.6 µm, and B 44, up to 11.5 µm; C none.
  • Risk. A path that differs from the programmed one, written into a file a machine would run.
  • How noticed. O3 (a).
  • Resolution. All of them are in the D16 roughing. Where the optimizer splits a line, an axis that moves very little within a piece keeps the source line's end value, so the piece steps off the line by up to that line's own small change in that axis. Listed point by point, as O3 (a) asks.
  • Evidence. The agent's z-map reads every node of the finished stock the same after the optimized programs as after the source programs (the shape table).

7. Grazes at the air feed that the z-map does not see

  • Situation. O6 walks every optimized program over the agent's z-map: no move that cuts runs faster than its line's ceiling. But HiNC's own replay steps show contact at the air feed: 59 steps in A (53 of the D16 at F10000, 6 of the D6 at F7290) and 52 in B, none in C.
  • Risk. A cut at 10,000 mm/min unreported.
  • How noticed. A check of HiNC's replay steps added after the plan's z-map check.
  • Resolution. They are grazes, narrower than one grid cell: 0.051 mm³ in A and 0.219 mm³ in B in all, at most 6.9 N and 0.112 mm wide; the z-map's threshold of 0.01 mm³ does not see them. O6 is judged by the z-map as written, and HiNC's side is listed (the air-feed table).
  • Evidence. The air-feed table under Results and benefits.

8. A 3 % rule for very short passes

  • Situation. O8 asks each operation's contact path within 3 % of the baseline's. A's D2 final pass (34 mm) comes out −13.0 % and B's D4 final pass (19 mm) −42.9 %.
  • Risk. Reading a missed cut where there is none, or waving the criterion off.
  • How noticed. O8.
  • Resolution. Judged not met as written. On the agent's z-map the two operations' cutting moves and removed volume are the same before and after (29.7 mm and 5.21 mm³; 3.1 mm and 3.56 mm³): the difference is grazing contact finer than the 0.125 mm grid (on B's D4, a 0.1 mm allowance), which a re-interpolated feed samples elsewhere.
  • Evidence. The contact table under Results and benefits.

9. A 99th percentile by step or by path

  • Situation. O5 asks A's 99th-percentile deflection of each final pass no higher than the original's × 1.02. On the D4 it is 15.2 → 20.1 µm counted by step, and 15.2 → 10.5 µm weighted by path; the plan did not say which.
  • Risk. Picking the reading that passes.
  • How noticed. When judging O5.
  • Resolution. Both reported; the verdict follows the stricter, by step: not met on the D4. The largest deflection falls on every final pass.
  • Evidence. The criteria table.

10. A stress target tighter than the case's criterion

  • Situation. The case's C1 lets the D6 run up to a stress ratio of 0.8; HiNC's default yield safety factor of 3 targets 0.333. Both programs' rest roughing reads 0.70–0.76.
  • Risk. A slower rest roughing than the case requires, credited to the optimizer's caution, or a target loosened after the result.
  • How noticed. The corner trials: 35–36 % of the rest roughing's cutting steps set by the stress.
  • Resolution. The default kept, as the plan said, and the result reported: the rest roughing's median chip falls from 0.04 to 0.0247 mm (F1481) and its stress ratio from 0.758 and 0.703 to 0.332, yet the operation still gets 6 and 9 % shorter, because its moves in air go at the air feed.
  • Evidence. The per-operation tables under Results and benefits.

11. The smaller ones

What happened Risk How it showed Resolution Evidence it held
Two picture plays ran on a second instance outside the shared lock for 10 and 14 minutes at 3.51 and 4.18 GiB, beside the lock's heavy plays, watched by a memory sample every 10 s rather than the 3-minute watch memory taken from the other studies' plays when the run costs were added up the server kept at least 83 GB free throughout; recorded as a departure from the rule, and the next such pictures go through the lock the run-cost table
The study's results came to 11.7 MB, the picture programs and C's start program another 3.7 MB a case repository grown by derived files the commit's size JSON files over 100 kB written compact (6.3 MB, every file read back the same); the picture programs and C's start program left out of the repository, rebuilt byte for byte by the study's tools the five programs rebuilt and compared
O7's count missed the script lines that carry their own brackets, (@@BeginPreserve();), reporting 150 of 156 and 124 of 126 an embedded setting read as lost the count against the program counted again: 156 of 156, 126 of 126 the optimized-files table
C starts after six earlier stages of Y+ OP1 C's before and after from different stock the plan one plain play of lines 1–50,211 wrote a workpiece record that C and its replay both read; the z-map walked the same lines first C's stock the same in both plays
A play script copied from another study carried Windows line endings a play that fails after taking the lock the first corner trial failed as soon as it held the lock every script stripped of carriage returns and queued again the cost: one lock slot
The optimizer writes each program's per-step log (17–40 MB) beside the optimized file large files in the case's folder the folder's size the logs moved to the server's data folder, the run records pointed to them the run records
B's preserved D2 semi-finish bends up to 101.6 µm and has 36 steps over O2's stress target, up to 0.383 an optimized program read as within targets everywhere O2 listed apart, as preserved lines; the semi-finish is not judged by C2, which covers final passes the O2 table

Results and benefits

Measured on HiNC 3.2.45 at a 0.125 mm grid: X- OP1 whole, each program in one run, the original and the hand-tuned program each optimized and replayed; variant C on Y+ OP1's D2 stage from the recorded workpiece. Times are HiNC's ideal-feed estimates; see Machining Time Estimation.

The criteria, per variant:

# A (the original program) B (the hand-tuned program) C (Y+ OP1's D2 stage)
O1 met: 38,270 of 38,270 lines; no collision, stroke or rapid-cut message, no new warning or error; the optimization play reports feed built and files optimized, with only the four drills' optimization-off warnings met: 38,419 lines met: 6,424 lines
O2 met: 100 % of the free cutting steps within target on every operation but the D6 final pass, 99.933 % (21 steps over its 36.29 N); apart: 1 step at the floor over a target (dilemma 5), 24 steps over a target on held Z lines met: 100 % on every operation; apart: the same floor step, 36 preserved D2 semi-finish steps over the stress target, up to 0.383 met: 100 %
O3 (a) 172 points up to 16.6 µm, listed; (b) met: 100 % of 17.2 million nodes within 1 µm; (c) met: −3.7 × 10⁻⁶ (a) 44 points up to 11.5 µm; (b) met: 100 %; (c) met: +9 × 10⁻⁷ (a) none; (b) met: 100 % of 15.0 million nodes; (c) met: 0
O4 missed: +3.8 % against the original (predicted +40 to +130 %), −19.9 % against the hand-tuned (−10 to +75 %); roughing −13.4 %, finishing × 1.44 total met: −9.9 % (−3 to −15 %); the roughing (−23.3 %) and the finishing (+4.8 %) outside their predictions, the rest roughing (−9.4 %) and the semi-finishing (0 %) inside (dilemmas 3, 4) missed: final pass −17.3 % (−20 to −50 %)
O5 largest: met on all three (24.1, 43.3, 49.9 µm, all lower); 99th percentile: D6 74.0 → 22.1 and D2 359.9 → 49.9 µm met, D4 15.2 → 20.1 by step not met (10.5 by path, dilemma 9); the prediction “D6 and D2 still over C2” wrong met: 25.0, 46.2, 49.1 µm (≤ 25.5 / 51 / 51); semi-finishing as programmed met: 50.04 µm (≤ 51)
O6 met: no cutting move above its ceiling, no rapid cut; HiNC's side 59 grazing steps, listed met; HiNC's side 52 met; HiNC's side 0
O7 met: the file differs; 122 of 122 embedded lines on lines of their own; no writer error met: 156 of 156 met: 126 of 126
O8 contact in every operation the z-map cuts; contact path within 3 % but the D2 final pass, −13.0 % — not met as written (dilemma 8) the D4 final pass −42.9 % — not met as written met: −0.3 %
O9 roughing at the ceiling 80.7 % and power 19.2 % (predicted 50–80 / 20–50: just outside); D6 final pass at the target force 27.0 % (≥ 50 %: missed); D2 at the target force 60.2 % (met) roughing 72.0 / 27.9 % (met); D6 final pass at the ceiling 87.4 %, target force 8.0 % (met, broadly) ceiling 77.3 %, target force 21.4 %
O10 reported in the 2 × 2 table: A brings the D16 within 0.667 × 1.02 but for the floor step (predicted); the D6 and D2 one-pass finishing within C2 (predicted over: wrong) B holds C2 and C5 and is faster than the hand-tuned program (predicted) —

The 2 × 2 comparison, X- OP1: the two paths, each at its own feeds and at HiNC's:

Original path (one-pass finishing) Two-pass path (the hand-tuned program)
The program's own feeds original program 635.6 s; D16 power ratio over 1 on 5,844 steps, 99th percentile 1.615, largest 2.632; D6 rest roughing stress ratio 0.758; final-pass deflection D6 193.9, D4 79.5, D2 359.9 µm hand-tuned program 823.6 s; power ratio over 1 on 1 step, 99th percentile 0.666, largest 2.632; stress ratio 0.703; deflection 21.8, 11.7, 32.7 µm
HiNC's feeds variant A 659.7 s (+3.8 %); power ratio over 1 on 1 step, 99th percentile 0.663, largest 1.576; stress ratio 0.332; deflection 24.1, 43.3, 49.9 µm variant B 741.8 s (−9.9 %); 1 step, 0.663, 1.576; 0.332; 25.0, 46.2, 49.1 µm

Both paths hold C5 and C2 in the model once HiNC sets their feeds. A is 19.9 % faster than the hand-tuned program; B is 12.5 % (82.2 s) slower than A. Its semi-finishing alone, 189.8 s kept as programmed, is more than that difference: the two-pass path spends it so that the final pass meets 0.1 mm instead of 0.3 mm.

Simulated time of X- OP1 for the four programs, total and by operation: original 10.6 min, A 11.0, hand-tuned 13.7, B 12.4; the D16 roughing shorter in both optimized programs, the D6 final pass longer in A, the D2 final pass 30 to 79 s in A

X- OP1 by operation. The D4 and D2 bars include their semi-finish in the hand-tuned program and B.

Operation Tool Original A Hand-tuned B
rough1 T1 D16 308.2 s 258.6 s 335.8 s 257.6 s
rough2 T2 D6 108.9 s 102.7 s 113.9 s 103.2 s
semi2 T2 D6 — — 96.7 s 96.7 s (kept)
fin2 T2 D6 119.5 s 149.1 s 65.1 s 81.5 s
semi3 T3 D4 — — 27.0 s 27.0 s (kept)
fin3 T3 D4 32.7 s 34.6 s 6.2 s 13.0 s
semi4 T4 D2 — — 66.2 s 66.2 s (kept)
fin4 T4 D2 30.4 s 78.6 s 75.9 s 60.0 s
Drilling T11–T14 35.9 s 35.9 s 36.8 s 36.8 s
Total 635.6 s 659.7 s 823.6 s 741.8 s

Where the time goes, for the four programs, as HiNC splits it: in contact 6.0, 7.1, 7.7 and 7.5 minutes, in air 4.6, 3.9, 6.0 and 4.9 minutes

HiNC's split of each program's time into steps in contact with the stock and steps in air (feed moves and rapids): A cuts longer than the original and spends less time in air; B saves in both.

Where the time comes from. What the optimizer did to each program's time, in the order of its size:

Source Variant A Variant B
The D16 ramps raised from F1800 to the full chip (dilemma 3) about −55 s about −55 s
Feed moves in air at the air feed (D16 10,000; D6 7,290 / 8,570 mm/min); HiNC's air time in the roughing 77.7 → 33.8 s (D16), 67.7 → 46.0 s (D6) 76.7 → 33.1 s, 71.5 → 45.9 s
The spindle-power target on the D16's full-width cuts (19.2 / 27.9 % of its cutting steps) the original's full-width arcs slowed from F3600 to about F2000–3000 the hand rules had already slowed them
The stress target on the D6 rest roughing median chip 0.04 → 0.0247 mm the same
The target forces on the finishing D6 +29.6 s, D2 +48.2 s (chips down to 0.001 mm) D2 −15.9 s (its median feed F144 → F283); D6 +16.3 s and D4 +6.7 s, all of it floor stretches
Stretches at a floor from steps with no force read (dilemma 4) 51.6 s at the floor (about 35 s more than at the neighbours' feed) 59.6 s (about 43 s)
In-air time of the finishing grows: the extended distances carry a slow feed into the approach and the retract D2 final pass 28.4 → 61.5 s in air D4 final pass 5.3 → 12.2 s in air

The D16 roughing: the spindle is the limit on full-width cuts. In the original program the power ratio passes 1 once the D16 meets more than about 0.6 of its diameter at full depth; HiNC holds every such cut at the target, and the hand-tuned program's own rules had already brought it there.

HiNC simulation of plate X- before the optimization, the same view as the picture at the top, coloured by spindle power ratio from 0 to 1.2: the full-width arcs of the level red, the rest green

The original program at the same point as the picture at the top, coloured by spindle power ratio, 0 to 1.2: every full-width arc red, over the rating. After HiNC's optimization (top of the page) the same level is green.

D16 roughing, spindle power ratio per half second over the level at Z -4.35: the original at 1.6 to 1.8 for 20 seconds, A at the 0.667 target; the hand-tuned program and B both at the target

The largest spindle power ratio per half second over the first full-depth level: the original 52 s at up to 1.8, A 50 s at the 0.667 target; the hand-tuned program 60 s, B 50 s, both at the target.

D16 roughing, spindle power ratio against the cutting width HiNC reads, median and largest for the full-depth steps: the original's median rising above 1 beyond about 0.6 of the diameter and its largest to 1.8 in a full slot; the other three flat at the 0.667 target above 0.35 of the diameter

Spindle power ratio against the cutting width as a share of the D16's diameter, full-depth steps.

The share of roughing cutting steps above each governing load ratio, the largest of power over 0.667, torque over 0.667 and stress over 0.333, on a log scale: the D16 original reaches 3.9, with 18 % of its cutting steps over 1; every other curve drops at 1; the D6 rest roughing of both source programs reaches 2.1 to 2.3

The governing load ratio of the roughing steps, the share of cutting steps above each value; 1 is the target. After HiNC both cutters' curves drop at 1.

The finishing. The target forces hold every final pass within C2 in HiNC's model:

Largest and 99th-percentile XY tip deflection of the D6, D4 and D2 final passes for the four programs, with the C2 limits: the original 194, 80 and 360 µm, A 24, 43 and 50, the hand-tuned program 22, 12 and 33, B 25, 46 and 49

The final passes' largest (bar) and 99th-percentile (line) XY tip deflection, against C2 (dashed).

HiNC simulation of plate X- before the optimization, at the end of the D6 final pass: the D6 end mill below its shrink-fit chuck in the notch beside a boss; the frame's walls coloured by largest cutting force from 0 to 120 N show green, yellow and red bands

The original program at the end of the D6 final pass (source line 30,361), the D6 21 mm out of its shrink-fit chuck in the notch beside a boss, coloured by the largest cutting force of the step that cut each face, 0 to 120 N: the frame's walls show green, yellow and red bands where the one pass takes the whole allowance. The window's bottom and walls, last cut by the roughing, are above the scale in both pictures.

The same view after HiNC's optimization of the original program: the frame's walls blue and cyan

After HiNC's optimization (A), the same colouring: the walls blue and cyan, under the 36.29 N target.

The same view before the optimization coloured by feed per tooth from 0 to 0.04 mm: the walls red at the programmed 0.04 mm

Before, coloured by feed per tooth, 0 to 0.04 mm: the walls at the programmed 0.04 mm.

The same view after HiNC's optimization coloured by feed per tooth: the long walls yellow-green at about 0.025 mm, the notch's corners blue near zero, some floor and top faces still red

After, the same colouring: the long walls at about 0.025 mm per tooth, the notch's corners slowed almost to the floor.

B's D2 final pass per half second, hand-tuned against B: B's deflection reaching the 50 µm line in short stretches, the hand-tuned program's under 33 µm; 76 against 60 seconds

B's D2 final pass: faster than the hand-tuned program (60 against 76 s), its corners up to the 50 µm limit.

Variant C, Y+ OP1's D2 stage from the recorded workpiece:

Y+ OP1, D2 stage Hand-tuned program Variant C, replayed
Simulated time, the stage 360.5 s 329.4 s (−8.6 %)
Semi-finish (kept) / final pass 180.3 / 179.3 s 180.3 / 148.3 s (−17.3 %)
Final pass: largest / 99th-percentile XY tip deflection (C2 50 µm) 55.8 / 37.1 µm 50.0 / 47.4 µm
Final pass: largest force (target 10.27 N) 11.7 N 10.5 N
What set the final pass's feed — the ceiling 77.3 %, the target force 21.4 %, the stress 1.3 %
Optimized file 6,202 lines, 2,585 feed words 6,424 lines, 1,644 feed words, F86.4 to F576

The hand-tuned D2 already ran its straight walls at the tool table's chip (F576), so HiNC could win only in the corners; the final pass's largest bend comes down to the limit, and its typical bend rises with the feed.

Y+ OP1's D2 stage per second, hand-tuned against C: the semi-finish identical for the first 180 seconds, then C's final pass faster with its deflection held near the 50 µm line; 360 against 329 seconds

Variant C: the semi-finish kept as programmed, then the final pass.

What set the feed, from the optimizer's per-step log of each optimization play: for each cutting step of the source program, the criterion that allowed the lowest feed per tooth in the step's own solve, before the extended distances and the acceleration limit lower some feeds further:

Play, operation Cutting steps Tool's chip ceiling Line held at its own chip Spindle power Spindle torque Tool stress Target cutting force Floor
A, D16 roughing 62,829 50,725 (80.7 %) — 12,053 (19.2 %) 47 3 — 1
A, D6 rest roughing 16,624 12,436 (74.8 %) — 17 5 3,910 (23.5 %) — 256 (1.5 %)
A, D6 final pass 24,662 14,939 (60.6 %) 2,976 (12.1 %) 5 1 64 6,666 (27.0 %) 11
A, D4 final pass 4,227 3,822 (90.4 %) 382 (9.0 %) — — — 23 —
A, D2 final pass 638 250 (39.2 %) 4 — — — 384 (60.2 %) —
B, D16 roughing 68,159 49,107 (72.0 %) — 19,000 (27.9 %) 48 3 — 1
B, D6 rest roughing 15,549 11,536 (74.2 %) — 21 5 3,731 (24.0 %) — 256 (1.6 %)
B, D6 final pass 20,887 18,248 (87.4 %) 888 (4.3 %) 4 1 49 1,681 (8.0 %) 16
B, D4 final pass 295 280 (94.9 %) 4 (1.4 %) — — 7 (2.4 %) 4 (1.4 %) —
B, D2 final pass 4,863 2,911 (59.9 %) 4 — — 49 (1.0 %) 1,899 (39.0 %) —
C, D2 final pass 46,731 36,125 (77.3 %) 1 — — 611 (1.3 %) 9,994 (21.4 %) —

What set the feed of each cutting step, per variant and operation: the tool's chip ceiling for 39 to 95 percent, spindle power for 19 and 28 percent of the roughing, tool stress for a quarter of the rest roughing, the target force for 27 and 60 percent of A's D6 and D2 final passes and 8 and 39 percent of B's

The criterion that set each cutting step's feed, from the optimizer's per-step log.

Time spent at each feed per tooth on the cutting steps of the D16, D6 and D2, for the four programs: the D16 mostly at 0.08 with the original and the hand-tuned program also at 0.04 on the ramps; the D6 of A spread down to 0.002; A's D2 almost all at 0.001

At which feed per tooth the cutting time runs, per cutter.

Per operation, the original program and A:

Operation Program Time (s) In contact / in air (s) Cutting steps Power ratio, largest / p99 Stress ratio, largest / p99 Force, largest / p99 (N) XY tip deflection, largest / p99 / median (µm) Feed per tooth, median (mm) Feed, median (mm/min)
D16 roughing original 308.2 230.5 / 77.7 62,829 2.632 / 1.615 0.213 / 0.209 1,168.6 / 823.1 42.7 / 41.7 / 10.7 0.08 3,600
HiNC (A) 258.6 224.8 / 33.8 64,386 1.576 / 0.663 0.206 / 0.182 809.5 / 718.3 41.0 / 36.4 / 16.4 0.08 3,600
D6 rest roughing original 108.9 41.2 / 67.7 16,624 0.213 / 0.172 0.758 / 0.741 261.2 / 255.9 164.4 / 160.5 / 3.5 0.04 2,400
HiNC (A) 102.7 56.8 / 46.0 22,032 0.101 / 0.081 0.332 / 0.332 126.1 / 114.2 75.8 / 71.9 / 5.4 0.0247 1,481
D6 final pass original 119.5 62.5 / 57.0 24,662 0.281 / 0.067 0.910 / 0.347 333.6 / 123.5 193.9 / 74.0 / 12.3 0.04 2,400
HiNC (A) 149.1 103.4 / 45.7 38,301 0.131 / 0.037 0.109 / 0.106 116.5 / 36.2 24.1 / 22.1 / 10.3 0.04 2,400
D4 final pass original 32.7 10.7 / 22.0 4,227 0.054 / 0.010 0.339 / 0.069 98.6 / 18.6 79.5 / 15.2 / 10.5 0.025 1,800
HiNC (A) 34.6 9.3 / 25.3 3,754 0.031 / 0.013 0.196 / 0.089 53.4 / 24.6 43.3 / 20.1 / 10.5 0.025 1,800
D2 final pass original 30.4 1.9 / 28.4 638 0.008 / 0.008 0.821 / 0.821 42.0 / 42.0 359.9 / 359.9 / 80.6 0.012 576
HiNC (A) 78.6 17.1 / 61.5 5,513 0.001 / 0.001 0.113 / 0.113 5.7 / 5.7 49.9 / 49.9 / 18.4 0.001 49

Against the continuous rating, the D16 roughing's largest power ratio, on the ramp-reversal step, goes from 3.509 to 2.101.

Per operation, the hand-tuned program and B:

Operation Program Time (s) In contact / in air (s) Cutting steps Power ratio, largest / p99 Stress ratio, largest / p99 Force, largest / p99 (N) XY tip deflection, largest / p99 / median (µm) Feed per tooth, median (mm) Feed, median (mm/min)
D16 roughing hand-tuned 335.8 259.1 / 76.7 68,159 2.632 / 0.666 0.209 / 0.182 1,168.6 / 718.3 41.7 / 36.4 / 11.2 0.08 3,600
HiNC (B) 257.6 224.5 / 33.1 62,571 1.576 / 0.663 0.206 / 0.182 809.5 / 718.3 41.0 / 36.4 / 16.6 0.08 3,600
D6 rest roughing hand-tuned 113.9 42.4 / 71.5 15,549 0.142 / 0.127 0.703 / 0.599 242.9 / 206.1 152.6 / 129.5 / 3.5 0.04 2,400
HiNC (B) 103.2 57.3 / 45.9 20,943 0.094 / 0.081 0.332 / 0.332 114.8 / 114.2 75.9 / 71.9 / 5.5 0.0247 1,481
D6 semi-finish (kept) both 96.7 72.1 / 24.6 27,764 0.035 / 0.022 0.217 / 0.125 76.1 / 43.1 46.6 / 26.9 / 12.3 0.04 2,400
D6 final pass hand-tuned 65.1 53.7 / 11.5 20,887 0.016 / 0.009 0.099 / 0.060 32.8 / 21.3 21.8 / 13.3 / 8.3 0.032 1,920
HiNC (B) 81.5 64.2 / 17.3 24,298 0.021 / 0.013 0.113 / 0.092 37.9 / 31.5 25.0 / 20.1 / 4.0 0.0398 2,387
D4 semi-finish (kept) both 27.0 10.3 / 16.6 4,141 0.004 / 0.003 0.048 / 0.048 11.3 / 11.3 6.8 / 6.8 / 6.8 0.025 1,800
D4 final pass hand-tuned 6.2 1.0 / 5.3 295 0.013 / 0.013 0.083 / 0.083 22.9 / 22.9 11.7 / 11.7 / 3.6 0.0063 450
HiNC (B) 13.0 0.7 / 12.2 238 0.051 / 0.051 0.317 / 0.317 92.2 / 92.2 46.2 / 46.2 / 1.4 0.0233 1,680
D2 semi-finish (kept) both 66.2 0.6 / 65.6 260 0.003 / 0.003 0.383 / 0.383 21.5 / 21.5 101.6 / 101.6 / 75.2 0.012 576
D2 final pass hand-tuned 75.9 12.3 / 63.6 4,863 0.001 / 0.001 0.123 / 0.119 6.9 / 6.6 32.7 / 31.7 / 13.9 0.003 144
HiNC (B) 60.0 8.3 / 51.7 3,232 0.002 / 0.002 0.187 / 0.187 10.3 / 10.3 49.1 / 49.1 / 15.4 0.0059 283

The D16 roughing's cutting steps over 0.667 × 1.02 go from 106 to 1. B's D4 final pass reads at most 92.2 N against its 95.02 N target, at a median feed of F1680 where the hand-tuned program ran F450.

Per operation, variant C:

Operation Program Time (s) In contact / in air (s) Cutting steps Power ratio, largest / p99 Stress ratio, largest / p99 Force, largest / p99 (N) XY tip deflection, largest / p99 / median (µm) Feed per tooth, median (mm) Feed, median (mm/min)
D2 semi-finish (kept) both 180.3 92.5 / 87.8 37,580 0.002 / 0.001 0.243 / 0.185 13.5 / 10.3 64.2 / 49.1 / 39.3 0.012 576
D2 final pass hand-tuned 179.3 115.1 / 64.2 46,731 0.001 / 0.001 0.216 / 0.140 11.7 / 7.8 55.8 / 37.1 / 21.6 0.012 576
HiNC (C) 148.3 91.6 / 56.7 37,496 0.003 / 0.002 0.191 / 0.184 10.5 / 10.1 50.0 / 47.4 / 27.3 0.012 576

Power ratio here is of the short-term rating; a cutting step is one in contact that removes more than 0.01 mm³/s; the medians of feed and feed per tooth are weighted by path. A replay counts more cutting steps where its feed is lower: a slower feed takes more steps over the same path.

The loads against their targets (O2, O5), per replayed operation. Free steps are those neither at a floor nor on a line held at its own chip:

Replay, operation Cutting steps At the floor On held or preserved lines Free Free within targets Over a target: at the floor / held Target cutting force Largest XY deflection
A, D16 roughing 64,386 61 0 64,325 100 % 1 / 0 — 41.0 µm
A, D6 rest roughing 22,032 7,147 0 14,885 100 % 0 / 0 — 75.8 µm
A, D6 final pass 38,301 3,902 3,203 31,196 99.933 % 0 / 24 36.29 N 24.1 µm
A, D4 final pass 3,754 0 379 3,375 100 % 0 / 0 53.68 N 43.3 µm
A, D2 final pass 5,513 0 3 5,510 100 % 0 / 0 5.73 N 49.9 µm
B, D16 roughing 62,571 61 0 62,510 100 % 1 / 0 — 41.0 µm
B, D6 rest roughing 20,943 7,196 0 13,747 100 % 0 / 0 — 75.9 µm
B, D6 semi-finish (preserved) 27,764 1,367 27,764 0 — 0 / 0 — 46.6 µm
B, D6 final pass 24,298 3,720 844 19,734 100 % 0 / 0 37.57 N 25.0 µm
B, D4 semi-finish (preserved) 4,141 0 4,141 0 — 0 / 0 — 6.8 µm
B, D4 final pass 238 136 0 102 100 % 0 / 0 95.02 N 46.2 µm
B, D2 semi-finish (preserved) 260 0 260 0 — 0 / 36 — 101.6 µm
B, D2 final pass 3,232 0 2 3,230 100 % 0 / 0 10.27 N 49.1 µm
C, D2 semi-finish (preserved) 37,580 0 37,580 0 — 0 / 0 — 64.2 µm
C, D2 final pass 37,496 0 1 37,495 100 % 0 / 0 10.27 N 50.0 µm

The optimized files (O7), each read back line by line:

Program Lines, source → optimized Feed words, source → optimized Feeds written Lines carrying a source note Embedded setting lines kept on lines of their own Lines at an air feed
A 31,233 → 38,270 364 → 9,439 49–10,000 mm/min 30,318 122 of 122 129 at F7290, 123 at F10000
B 31,817 → 38,419 10,639 → 13,668 90–10,000 mm/min 21,679 156 of 156 133 at F8570, 110 at F10000
C 6,202 → 6,424 2,585 → 1,644 86.4–576 mm/min 2,630 126 of 126 none

The source counts include the embedded setting lines; the optimizer copies each such line as it stands, with no source note after it, and each optimization play reports only the four drills' optimization-off warnings.

The shape (O3):

Check Variant A Variant B Variant C
(a) end points more than 1 µm off their source line 172 of 38,033, up to 16.6 µm, all in the D16 roughing 44 of 38,152, up to 11.5 µm, all in the D16 roughing 0 of 6,282
(b) the agent's z-map at 0.025 mm, after the optimized program against after the source 17,247,409 nodes, 100 % within 1 µm, largest difference 0 17,247,409 nodes, 100 %, 0 14,966,457 nodes, 100 %, 0
(c) HiNC's exported part, replay against baseline 105,610.709 against 105,611.098 mm³ (−3.7 × 10⁻⁶) 105,617.154 against 105,617.060 mm³ (+9 × 10⁻⁷) 82,651.405 against 82,651.406 mm³ (0)

The air-feed guard (O6): on the agent's z-map no optimized program has a cutting move above its line's ceiling × 1.02, and none cuts on a rapid. HiNC's own replay steps that touched stock at an air feed:

Replay Steps Of them, the D16 at F10000 / the D6 at its air feed Removed in all Largest force Widest Source lines (examples)
Variant A 59 53 / 6 (F7290) 0.051 mm³ 6.9 N 0.112 mm roughing 6,005, 8,043, 9,049, 10,065, 11,034…; rest roughing 16,950, 18,499, 20,048
Variant B 52 44 / 8 (F8570) 0.219 mm³ 6.9 N 0.109 mm roughing 4,990, 5,439, 6,439…; rest roughing 11,923, 12,916, 13,910, 14,904
Variant C 0 — — — — —

Contact (O8): every operation the z-map says cuts has steps in contact in HiNC. The contact path as HiNC's step records sum it, baseline → replay:

Operation Variant A Variant B
D16 roughing 21,728 → 21,931 mm (+0.9 %) 21,725 → 21,843 mm (+0.5 %)
D6 rest roughing 2,559 → 2,544 mm (−0.6 %) 2,589 → 2,579 mm (−0.4 %)
D6 semi-finish — 5,000 → 5,000 mm (0 %)
D6 final pass 4,539 → 4,552 mm (+0.3 %) 2,993 → 2,988 mm (−0.2 %)
D4 semi-finish — 490 → 490 mm (0 %)
D4 final pass 499.4 → 487.6 mm (−2.4 %) 19.2 → 11.0 mm (−42.9 %)
D2 semi-finish — 11.0 → 11.0 mm (0 %)
D2 final pass 34.1 → 29.7 mm (−13.0 %) 76.7 → 74.8 mm (−2.5 %)
Drills unchanged unchanged

Variant C: the semi-finish 1,286.7 mm unchanged, the final pass 1,450.0 → 1,446.3 mm (−0.3 %).

What the runs cost, on the shared 32-thread server:

Play Steps Simulated time Server time Peak memory
Corner trials, nine plays (dilemma 1's table) 138,287–273,221 each — 80–250 s each, 18.5 min in all 1.68–38.45 GiB
A: optimization play / replay 207,946 / 227,096 635.6 / 659.7 s 641 / 771 s 40.57 / 9.86 GiB
B: optimization play / replay 273,221 / 255,403 823.6 / 741.8 s 861 / 861 s 47.52 / 12.69 GiB
Y+ OP1 lines 1–50,211, plain, writing C's workpiece record 389,490 1,089.8 s 821 s 4.15 GiB
C: optimization play / replay 146,979 / 134,925 360.5 / 329.4 s 100 / 80 s 7.02 / 7.02 GiB
The memory reproduction (dilemma 1), two plays 14,562 each 43.0 s each 10 / 20 s 0.52 / 6.71 GiB
Five picture plays on a second instance 22,579–172,125 — 70–841 s, 32 min in all 1.39–4.18 GiB

The heavy plays took the shared lock one after another: the corner trials from 03:52 to 04:35, the whole programs and C from 04:35 to 05:46 by the server's clock, each starting with 65 to 96 GB of the server's memory free; the server never fell under 48 GB free. An optimization play needed about four times the memory of its replay (40.6 / 9.9 and 47.5 / 12.7 GiB).

For a machining engineer. On a plate whose original program overloads the spindle and bends its small cutters far past their limits, HiNC's feed optimization does in one play what took the agent several rounds of hand revision: every full-width cut held at the spindle's target and every final pass within its deflection limit in HiNC's model, for 3.8 % more time than the original and 19.9 % less than the hand-tuned program. Two things need a shop's eye before that program runs. Its finishing chips go down to 0.001 mm, which a real cutter rubs; and it ramps at the full chip, which the shop may not accept. On the hand-tuned program, the optimizer takes 9.9 % off within the same limits, two thirds of it from the ramps; with the ramps held as programmed it is about 3 %, so the hand rules were close to what the optimizer would do. Where a step reads stock but no force, HiNC slows the stretch round it to the floor; on this plate that costs about 35 to 45 s a program.

For a teacher or a student. One plate shows what a feed optimizer can and cannot replace: a target force drawn from a deflection limit and the cutter's compliance takes the place of hand feed rules on a one-pass finish, as long as the model's force follows the feed; the semi-finish and the path stay the programmer's; and the time an optimizer wins has to be traced to where it comes from — here the ramps and the moves in air — before it is credited.

For someone weighing the approach. From two existing programs to optimized programs of both and a third variant took one session of about two hours on the shared server: 1.5 hours of plays, one heavy play at a time at up to 47.5 GiB, and half an hour of picture plays beside them. The agent wrote its criteria and predictions first, tried every rule on a trimmed corner before the whole plate, found and worked round a memory cost of embedded settings, reported the predictions that missed, and checked every written point, every air-feed move and the final stock against its own model.

Honest limits

  • The times are ideal-feed estimates, without the controller's acceleration and look-ahead: the ratios between programs are sound, the absolute times are not shop-floor times — see Machining Time Estimation.
  • The deflections hold in HiNC's model only. They are HiNC's tool-beam readings, which may overstate the flutes' compliance three to five times; A's finishing reaches its limits at chips of 0.001–0.002 mm, where a real cutter rubs, and HiNC does not model rubbing. HiNC's deflection transformation is off, so the shape checks read the programmed path.
  • The optimizer has no built-in deflection criterion. C2 is carried by target forces drawn from each cutter's compliance; a target force does not act on steps that change height, so those lines keep their own chip.
  • The ramps' raise is the plan's rule, not a shop's. Ramp chip evacuation and entry angle are not among HiNC's criteria; held at their programmed feed, the ramps would cost A and B about 55 s each.
  • Steps that remove stock with no force read can pull a stretch to the floor: the tool-stress criterion answers the floor on some of them, and the extended distances carry it 2 mm each way (51.6 and 59.6 s here).
  • A ramp reversal reads several times its neighbours' removal rate, so one D16 step stays over the rating at the floor.
  • Split lines can step off their source line by up to that line's own small change of an axis (16.6 µm here, in the roughing).
  • Embedded settings cost memory: about 9 MB for every setting line a play runs, so settings on thousands of lines need tens of gigabytes.
  • Spindle power reads high: HiNC's AA7075 data and the spindle efficiency of 0.4 put the power ratio at about five times a usual shop estimate (the case page), so the roughing's power-limited feeds are conservative.
  • Only X- OP1 and one D2 stage were optimized. The generic machine and spindle, the agent's tools and holders and the vise are the case's; chatter, chip evacuation, tool wear, surface finish and the plate's own stiffness are not modelled, and nothing was measured on a machine.

What a reader can take to their own case

  • Hand the optimizer the original program, not only the tuned one. Here it reached the hand revision's limits from the first CAM output, faster than the revision.
  • Carry a deflection limit as a target force from the cutter's compliance, and check how low the chip goes: a chip under a few microns holds the model's limit, not the cutter's.
  • Give ramps and plunges a ceiling of their own. An optimizer that sees only power, stress and force raises a ramp to the full chip.
  • Split the time saved by where it comes from — ramps, moves in air, cutting — before crediting the optimizer.
  • Preserve ranges, not lines: setting lines cost memory per line executed.
  • Look for stretches at the floor in the replay, and read the per-step log at their start: a plunge that reads no force can slow its neighbours.
  • Write predictions before the plays and keep them; report the ones that miss.
  • Check a replay against an exact model of the stock for air-feed moves that cut and for points that left their line.

Source and licence

  • Source: Tim Munhowen (TU Wien Space Team, Vienna), SpaceTeamSat1 Mechanical Design, Zenodo, version 1.0, published 2025-05-21, doi:10.5281/zenodo.15482346. The case uses the file Sts1MechanicalDesign_1.0.zip (2,533,985 bytes): the assembly CS_STS1.STEP, the six plates' STEP files and the 13-sheet drawing set CS_STS1.pdf. Search terms if the link moves: SpaceTeamSat1 Mechanical Design, zenodo 15482346, CS_Xminus.STEP.
  • Licence: CC BY 4.0, as the Zenodo record states (read 2026-09-30). The licence gives the material as is, without warranty. The drawings carry the watermark "SOLIDWORKS Educational Product. For Instructional Use Only.", which concerns the author's software licence rather than the data's; this page shows only HiNC's canvas and the agent's charts.
  • Attribution: “SpaceTeamSat1 mechanical design by Tim Munhowen, TU Wien Space Team (Zenodo, doi:10.5281/zenodo.15482346), CC BY 4.0. Machining set-up by Tech Coordinate's agent.”
  • Changed from the original: the part geometry is used unchanged; the stock, the clampings, the fixtures, the tools and holders, the programs, their optimization and the machine are the agent's. The pictures are HiNC simulations of the agent's set-up, and the charts are drawn from HiNC's per-step results, the optimizer's per-step log and the agent's own z-map.
  • Backup: the company site keeps a copy of the original files.

See Also