In production we build CNC quotes from a fixed set of cost drivers that never change order-to-order. Material blank size and grade come first, then machine time calculated from tool paths and spindle load, followed by setup hours, cutter consumption, surface treatment, and the tolerance stack that forces us to slow feeds or add inspection. Every line on the quotation is tied to one of these CNC machining cost factors; nothing is estimated from experience alone.
Material blank size and grade set the floor before any tool touches the part
We start every quote by measuring the finished envelope against standard stock sizes. If the part needs a 52 mm square blank and the nearest plate is 60 mm, the extra 8 mm on two sides is pure scrap cost that the customer still pays. Alloy choice multiplies the same volume: 6061-T6 is baseline, 7075-T6 runs 1.6–1.8×, titanium 6-4 runs 4–5×, and stainless 316L sits between them. Harder alloys also cut tool life, so the material line already contains a hidden tooling surcharge that appears later as higher cutter cost.
From the CAM side we flag oversized blanks immediately. When the designer leaves 3 mm stock on every face "just in case," that stock becomes paid chips. Most factories will re-quote with the next smaller commercial size if the customer accepts a 0.5 mm reduction in finished dimension; otherwise the material cost stays locked.
Machine time is driven by chip load, not by the number of features on the drawing
Cycle time is calculated from the actual tool path length, spindle rpm, and chip load the material will accept. A pocket that looks simple on the CAD screen can force a 3 mm end mill to run at 0.05 mm/tooth because of thin walls or deep corners. That single reduction doubles the minutes on the machine. We also add non-cutting time: tool changes, probe cycles, and air moves between features. On a 3-axis machine these secondary moves often equal 15–25 % of the total cycle.
When the part requires 5-axis simultaneous motion the same geometry jumps 30–50 % in machine rate because the hourly rate of the 5-axis cell is higher and the tool engagement becomes less predictable. We never quote pure cutting time; the number that reaches the customer already includes a 10–12 % contingency for tool wear and unexpected chip evacuation stops.
Setup and fixture time dominate any order below fifty pieces
Every new job starts with a soft-jaw or modular fixture that must be cut, indicated, and proven. That work is charged once, regardless of quantity. On a 10-piece order the setup can exceed the pure machining cost; on a 200-piece order it becomes almost invisible. We also count the first-article inspection and the time to load the program into the controller. If the part needs two or three orientations, each additional setup is treated as a new job for cost purposes.
Factories absorb part of this cost only when the customer commits to a blanket order or releases the next batch within the same month. Otherwise the full setup hour rate appears on every quote under fifty pieces.
Tooling consumption rises sharply once hard materials or tight corners appear
Carbide end mills are consumable. In 6061 we expect 40–60 minutes of actual cutting life before the edge needs replacement. In 17-4 PH or titanium that life drops to 8–12 minutes. Every tool change also costs spindle time while the operator swaps and re-probes. Deep pockets that force long-reach tools accelerate this further because deflection forces lower chip loads and more passes. The tooling line on the quote is therefore a calculated average of cutter cost divided by expected life, not a fixed percentage.
We flag designs that call for 0.5 mm internal radii in steel. That radius requires a 1 mm tool running at reduced feed; the same geometry opened to 1 mm radius lets us use a 2 mm tool at full speed and cuts both cycle time and tool cost.
Surface treatment and secondary operations sit outside the machine hour rate
Anodizing, hard anodizing, passivation, powder coating, or bead blasting are outsourced or done in a separate cell. Each adds its own minimum lot charge and lead time. A clear anodize on aluminum may add 8–12 % to the part cost; Type III hard anodize with tight thickness control can add 20–25 %. Thread locking, insert installation, or laser marking are treated the same way—each is a separate cost center that appears after the CNC work is finished.
When the drawing calls for "anodize and dye black" without specifying thickness or masking, we quote the highest common process and add a note. Any later change to a simpler finish reduces the price, but only if the change arrives before the parts leave the shop.

Tolerance stack forces slower feeds and extra inspection loops
A general tolerance of ±0.1 mm lets us run the machine at full recommended chip load. When the drawing tightens critical features to ±0.02 mm or adds geometric call-outs such as 0.01 mm true position, we drop feed rates 30–40 % and insert probing cycles after every second pass. That extra time is pure cost. We also add a statistical process control buffer—usually 5–8 % of machine time—to cover the risk of scrap on the tight features.
Most factories will quote two prices when the tolerance is borderline: one for the stated requirement and a lower price if the customer can open the non-critical dimensions. The difference is almost always accepted once the customer sees the cycle-time impact.
Quantity breaks change the weighting of every fixed cost
Below 20 pieces the quote is dominated by setup and first-article cost. Between 50 and 200 pieces the machine-time line becomes the largest single item. Above 500 pieces material volume discounts and dedicated fixtures start to appear, and we can amortize special tooling. The same part can drop 35–45 % in unit price simply by moving from 10 pieces to 200 pieces because the fixed costs are spread thinner.
We never invent volume discounts; the price curve is generated directly from the same cost model used for the single-piece quote. The only variable that changes is the divisor on setup, fixture, and first-article hours.
Where we can reduce cost without changing function
Designers who open internal radii to at least 1 mm, keep wall thickness above 1.5 mm in aluminum, and allow ±0.05 mm on non-mating surfaces usually cut 15–25 % off the quote. Specifying commercial stock sizes instead of odd dimensions removes the oversize blank penalty. Combining multiple small parts into one multi-up fixture or accepting a longer lead time so we can batch similar materials also lowers the unit price. None of these changes require new drawings if the original model already contains the functional datums; we simply note the relaxed features on the quote and re-run the tool paths.
Exceptions are allowed when the part is a one-off prototype or when the customer accepts higher scrap risk in exchange for speed. In those cases we still show the full cost breakdown so the trade-off is visible. For production quantities the same rules apply every time: the CNC machining cost factors listed above determine the number that appears on the order confirmation.