CNC turning pricing explained
How a CNC turning price is assembled, setting by setting, with a worked example priced by the engine itself.
These are the settings that decide how the work is priced, as opposed to the machine that does it or the material it is made from. They are stored with the configuration.
Every one of them shows up in the breakdown when it affects a price, so if a number surprises you, the answer is on the screen.
A worked example
These numbers were computed by the pricing engine against the shipped CNC turning job shop configuration - the one you get if you start from the template. They are regenerated whenever the engine changes, so they cannot drift away from what your own console would show for the same part.
| Line | One part | Ten parts |
|---|---|---|
| Material | €1.31 | €13.15 |
| Production | €172.09 | €243.35 |
| Total, incl. shipping and VAT | €227.65 | €326.54 |
Note how the price per part falls with quantity: a batch shares what is done once - a set-up, a program, a whole build on a powder process, the tool in moulding. That is where the quantity break comes from. It is not a discount you are giving away; it is your cost structure, passed on.
Every setting on this page
These are in the same order as the editor, with the same help text. Each one has an anchor, and the ? beside a field in your console links straight to it - so if you are reading this because you clicked one, the setting you were looking at is highlighted.
Tolerances, finishes and threads
Tolerance classestolerancesbasic
The tolerance classes buyers can choose; the first row is the default. Tick review on any class you will not price without seeing a drawing.
Price: The time factor multiplies finishing time and the extra minutes are added to inspection; a reviewed class sends the line to you (DFM `tolerance_requires_review`).
Typical: ISO 2768-m 1.0 / 2768-f 1.25 / ±0.025 1.6 reviewed / ±0.01 2.2 reviewed.
Ididyou must set this
Buyer seeslabelyou must set this
What they getnote
Finishing timetime_factoryou must set this
Extra inspectionextra_inspection_min
Engineer reviewsreview
Surface finishessurface_finishesbasic
The surface roughness levels buyers can choose; the first row is the default.
Price: The time factor multiplies finishing time; a reviewed level sends the line to you.
Typical: Ra 3.2 1.0 / Ra 1.6 1.3 / Ra 0.8 1.8 / Ra 0.4 2.6 reviewed.
Ididyou must set this
Buyer seeslabelyou must set this
What they getnote
Finishing timetime_factoryou must set this
Engineer reviewsreview
Threads a buyer may countmax_threads
The largest number of threaded holes or threads a buyer may enter. 0 hides the option.
Price: Each thread adds the material's tapping time to the cycle and a feature to programming. Threads are never read from the file: the buyer counts them.
Typical: 40 milled, 10 turned.
Bar, cutting, operations and labour
Turnable abovemin_turned_fractionbasic
The share of a part's surface a lathe must be able to make for it to be quoted as turned.
Price: Below it the line is sent to review with a suggestion to mill it (DFM `not_turnable`).
Typical: 0.85.
Standard bar diametersbar_diameters_mmbasic
The round bar sizes you buy. The part's largest diameter plus the allowance rounds up to the next one; larger than all of them, the bar is bought to size.
Price: A 21 mm part on 25 mm bar pays for 25 mm bar and the roughing of the difference.
Typical: 6, 8, 10, 12, 16, 20, 25, 30 ... 200 mm.
Diameter allowance per sidediameter_allowance_mm
Material left on the radius beyond the largest diameter.
Price: A larger allowance can push the part onto the next bar size.
Typical: 0.5-1.5 mm.
Facing allowancefacing_allowance_mm
Bar length faced off per part.
Price: Added to the bar length every part consumes.
Typical: 0.5-2 mm.
Parting widthparting_width_mm
Width of the parting tool: bar lost between parts.
Price: Added to the bar length every part consumes.
Typical: 2-4 mm.
Parting feedparting_feed_mm_min
How fast the parting tool goes in.
Price: Parting time per part is the bar radius over this feed.
Typical: 30-60 mm/min.
Boring rateboring_rate_pct
Inside roughing (drilling and boring) as a share of the outside roughing rate.
Price: Lower is slower: bores cost more per cm³ than the outside.
Typical: 40-60 %.
Off-axis area toleratedoff_axis_limit_mm2
Off-axis surface (flats, cross holes, slots) small enough to ignore.
Price: Above it the work is done by live tools or, on a lathe without them, as a second operation.
Typical: 5 mm².
Second operation factorsecond_op_factor
How much longer off-axis work takes as a second operation on a mill than with live tools.
Price: Multiplies the off-axis time; the operation also adds a set-up and loading.
Typical: 1.3-2.
Per cross holehole_overhead_s
Positioning, approach and retract for one cross hole.
Price: Added to every cross hole recognised in a STEP file.
Typical: 4-8 s.
Deep bore above depth / Ømax_bore_depth_ratio
Bores deeper than this many diameters need a long boring bar.
Price: No direct price effect: they are reported (DFM `deep_bore`).
Typical: 4-6.
Tools per operationtools_per_op
Tools a typical operation uses.
Price: Each is a turret index per part per operation.
Typical: 4-8.
Rapids and air cuttingrapid_overhead_pct
Time moving between cuts, on top of cutting time.
Price: Multiplies the cutting part of the cycle.
Typical: 5-15 %.
Sawing a blankblank_saw_min
Sawing one blank from bar when the bar is not fed through the spindle.
Price: Charged per part at the operator rate on a lathe without a bar feeder, or when the bar is too large for it.
Typical: 0.5-1.5 min.
Programming: per partprogramming_base_minbasic
CAM programming and checking that every unique part needs, before counting anything.
Price: Charged once per line at the engineer rate, so it is a large share of a one-off and almost nothing of a hundred.
Typical: 20-45 min.
Programming: per operationprogramming_per_op_min
Programming minutes for each set-up or operation.
Price: Once per line; parts that need more set-ups cost more to program.
Typical: 10-20 min.
Programming: per featureprogramming_per_feature_min
Programming minutes per hole, pocket, boss and thread recognised in a STEP file or counted by the buyer.
Price: Once per line. A mesh upload has no recognised features, so only its threads count.
Typical: 1-3 min.
Programming: per complexity levelprogramming_per_level_min
Programming minutes per step of the part's complexity level (1 to 5).
Price: Once per line; a sculpted part takes longer to program than a bracket.
Typical: 5-15 min.
Set-up per set-upsetup_minbasic
Fixturing, zeroing and first-part checks for one set-up or operation.
Price: Charged per set-up for every lot at the technician rate; it is why one part costs so much more each than fifty.
Typical: 20-60 min.
Parts per set-uplot_size
How many parts you run on one set-up before the fixture comes off.
Price: Set-ups are charged once per lot, so a larger lot spreads them over more parts.
Typical: 25-100.
Load and unload per partload_unload_min
Clamping a part and taking it out again, per hand-loaded set-up or operation.
Price: Charged for every part at the operator rate.
Typical: 0.5-2 min.
Deburring per partdeburr_base_min
Breaking edges and cleaning a part, whatever its size.
Price: Charged per part at the finisher rate.
Typical: 1-3 min.
Deburring per 100 cm²deburr_min_per_100cm2
Extra deburring for every 100 cm² of surface.
Price: Bigger parts have more edges; charged per part.
Typical: 0.5-2 min.
Inspection per partinspection_min
The standard check of every part, before the tolerance class adds its own minutes.
Price: Charged per part at the inspector rate.
Typical: 1-3 min.