Cutter Geometry
How a cutting tool is described to the simulation: what kind of tool it is, how its cutting envelope is expressed, and the individual quantities the force, wear and thermal models read off it. Every value here is a property of the tool rather than of a cut, so it is entered once per tool and reused by every step that tool takes.
Ordered from the classification, through the two ways an envelope is expressed and the assembly above the flute, to the quantities that hang off it and what to enter when a tool sheet leaves them out.
Cutter Body Types
Cutter body types include:
- Milling Any tool that machines by rotation is classified as milling in HiNC, including drilling and boring.
- Freeform Subtraction Cutting tools, EDM (electrical discharge machining) dies.
Milling Tool Description Parameters
- Material: Shank material, cutter body material, (multi-layer) coating material and thickness.
- Cutting edge rotation envelope: Can use simplified parameters (APT) or a custom ZR table.
- Simplified (yield-equivalent) edge center rotation envelope:
- Solid space ratio of the cutting edge rotation envelope.
- Custom ZR table.
- Clamping end (non-cutting zone) shape: Custom ZR table.
- Per-tooth geometry (including side edges and bottom edges):
- Simplified parameters: Helix angle position, rake angle, relief angle.
- Custom per-Z value: Helix angle position, rake angle, relief angle, radius length.
- Hone radius, tool weight, insert weight, and (thermal-equivalent) thickness.
For information on measuring rake angle and relief angle, refer to Radial Angle Measurement.
APT — the Simplified Edge Envelope
APT (Automatically Programmed Tool) is a universal tool definition, and the simplified alternative to a custom ZR table for the cutting-edge rotation envelope. Refer to the APT parameter diagram:
Note
APT parameter description:
D: DiameterRc: Corner radiusRr: Distance from corner center to tool centerlineRz: Distance from corner center to tool tip horizontal planeAlpha: Angle between horizontal plane and tool tip cone surfaceBeta: Angle between tool centerline and tool wall cone surface
Tapered Cutters: Which APT
D is measured where the flank line, carried down, meets the bottom line — the tool-tip plane when
Alpha is 0 — not at the height of the corner's centre. The six values of a general APT therefore
have to agree; with a flat bottom:
D / 2 = Rr + Rc·cos(Beta) − (Rz − Rc·sin(Beta))·tan(Beta)
- Taper APT is a sharp-cornered taper defined by
D,Alpha,Betaand the length of cut. ItsRzisD/2 · tan(Alpha)— 0 for a flat bottom — and nothing else: the web API derives it, answers 400 to aPUT /api/Cutter/{id}/shaper-profilewhoserz_mmsays otherwise, and the Tool House form does not ask for it. A saved sharp-cornered APT whose corner is off its lines — a file written before this, or a General APT withRc0 edited half-way — is refused at tool change withCutter-ShaperProfile--AptRefused: the flute envelope is not built, and the tool removes no material and runs no physics until the profile agrees with itself. - A tapered ball end mill is a general APT with the ball on the axis:
Rr0,Rzequal toRc, andD = 2·Rc·(1 − sin Beta) / cos Beta. A catalogue that gives the radius at the tip plane givesDdirectly;Rc = (D/2)·cos Beta / (1 − sin Beta). For a 6° cutter whose flank has radius 3 mm at the tip plane:D6,Rc=Rz= 3.332,Rr0,Beta6°. A General APT whose round misses the flank or the bottom by more than the tolerance is refused like a sharp corner off its lines — at tool change withCutter-ShaperProfile--AptRefused, naming theDthe round fixes,D = 2·(Rr + Rc·cos Beta − (Rz − Rc·sin Beta)·tan Beta) / (1 − tan Alpha·tan Beta), or theRzat which the round touches the bottom line,Rz = Rr·tan Alpha + Rc / cos Alpha; the flute envelope is not built until the profile agrees with itself. Within the tolerance the profile is snapped to the round's exact tangent points silently, so aDrounded to a few decimals builds the exact tool. A negativeRc, or a negativeRr(the round's centre, or the corner, across the tool axis — a Column APT'sRrisD/2 − Rc, so itsRcmust not exceedD/2), is refused as well.
With no round (Rc 0) the corner sits on both lines: Rz = Rr·tan(Alpha) and
D/2 = (Rr − Rz·tan(Beta)) / (1 − tan(Alpha)·tan(Beta)), and the flank must meet the bottom line at
all: Alpha + Beta below 90°. Each relation is held to 1e-4 of D, at least 0.1 µm; within that the
corner is snapped to the exact point, beyond it the profile is refused.
The tool-offset table shows the radius at the top of the flutes; for a tapered cutter it is a quick check that the cone came out as intended (3 + 28·tan 6° = 5.943 mm for the cutter above with 28 mm flutes).
Upper Beam (Clamping End / Shank) Geometry
The upper beam is the cutter's shank / body above the flute — the non-cutting, clamping zone. It can be modeled with several geometry types; the two common choices are:
Cylindroid — an explicit ZR table. You author every
(Z, r)pair, so the shank radius (and any stepped / necked profile) is whatever you type in. This faithfully reproduces a known shank, but every value is data you must supply.Extended Cylinder — a cylinder whose start (bottom) profile is driven by the flute and whose only parameter is the total length. Its radius follows the cutter (flute-top) radius automatically, so it needs no shank measurements — only a length long enough to reach the holder.
⚠
FullLengthis the beam's FULL length measured fromZ=0(the cutter tip), so it includes the flute span — it is not the remaining segment from the flute top to the exposed end. It must therefore be larger than the flute height: e.g. flute height 20 mm and 10 mm of shank above it →FullLength = 30, not 10. A value at or below the flute height inverts the beam solid; thermal physics then cannot build its shank shell layers and reports aCutter-UpperBeam--ExtendedCylinderFullLengthTooShortconfiguration error at tool change (the web editor rejects such a value outright).
Convention — when the shank is not given, take it from a catalog tool of the same size. Most tool sheets (especially at quoting stage) list only the cutting diameter, corner radius, and stick-out. A small end mill is rarely a straight rod of its cutting diameter all the way to the holder: a Ø1–Ø4 cutter sits on a standard shank (Ø4 or Ø6 is common) and reaches it through a taper of roughly 12–16° per side (15° is typical), right after the flute or after a neck. So when the sheet gives no shank, use the shank diameter, neck and taper of a standard catalog tool of the same size, record that assumption with the tool, and build the beam as a Cylindroid (below). Neither shortcut is the cautious choice: an Extended Cylinder on a small cutter makes the whole stick-out as thin as the flute, which overstates the deflection and misses the contacts a real shank would make, while a shank that steps out right at the flute top reports collisions the real taper would not. The Extended Cylinder is the right model where the shank diameter equals the cutting diameter — most end mills from Ø6 up.
Tip: because the Extended Cylinder's radius tracks the flute, set its length comfortably past the exposed cutter height so the beam reaches into the holder with no gap; the overlap is harmless for clearance checks.
Cylindroid Pairs Are Measured from the Cutter Tip
Like the Extended Cylinder's length, a Cylindroid beam's Z is the distance above the cutter tip,
not above the flute top. The first pair sits at the flute top (the length of cut), Z ascends, and
the last pair is the tool's overall length; the part above the stick-out sits inside the holder,
which is where the real shank is. The beam's top also sets the cutter's overall height, and the
stretch of beam below the holder nose is part of the bending check behind the yield-stress ratio.
A beam whose Z is counted from the flute top instead is accepted without a message: it overlaps
the flute and ends short by the length of cut. What is reported — in the upper-beam warnings at edit
time, and again as a configuration error at tool change — is a profile that never rises above the
flute top (Cutter-UpperBeam--BelowFluteHeight), or one whose Z runs downward so that its volume
comes out zero or negative (Cutter-UpperBeam--DegenerateGeometry). Over the HTTP API the beam is
created with POST /api/Cutter/{id}/upper-beam/create?kind=Cylindroid, which answers with the key
the beam is published under; the pairs are written whole with
POST /api/Cylindroid/UpdateAllPairs?cylindroidKey=… and a body such as
[{"z": 3.5, "r": 1.45}, …]; and POST /api/Cutter/{id}/upper-beam/resync then returns the
warnings. An empty list is the pass.
A necked ball end mill is the common case: a Ø3 ball with a 3.5 mm length of cut, a Ø2.9 neck to 16 mm from the tip, a 10° half-angle taper up to a Ø6 shank, 60 mm overall. The taper ends 16 + (3 − 1.45) / tan 10° ≈ 24.79 mm from the tip:
| Z (mm) | R (mm) |
|---|---|
| 3.5 | 1.45 |
| 16 | 1.45 |
| 24.79 | 3 |
| 60 | 3 |
An Extended Cylinder cannot describe this tool. Its start section is the flute top, so its radius is the ball's: the neck comes out Ø3 rather than Ø2.9, and the shank stays Ø3 instead of Ø6.
Holder Profile, Stick-Out and Tool Length
A cylindroid holder is a solid of revolution given as (Z, R) pairs, in a frame that starts at the
holder's nose — the end the cutter is clamped in, Z = 0 — and rises toward the spindle. The
last pair is the spindle gauge line, where the holder meets the machine, and the holder's gauge
length is the last Z minus the first. So a profile starts at Z = 0: one that starts higher keeps
its length but is drawn shifted away from the nose by that amount.
A collet holder with a Ø25 nose 50 mm long, a Ø40 body and a Ø63 flange whose upper face is the gauge line, 90 mm above the nose:
| Z (mm) | R (mm) |
|---|---|
| 0 | 12.5 |
| 50 | 12.5 |
| 50 | 20 |
| 74 | 20 |
| 74 | 31.5 |
| 90 | 31.5 |
The cutter hangs below the nose by its exposed cutter height — the stick-out, measured from the holder nose to the cutter tip, or from the gauge line when the tool has no holder. The tool's length from the gauge line to the tip is therefore the holder's gauge length plus the stick-out — 90 + 28 = 118 mm for the holder above on a 28 mm stick-out — and that is the number the tool-length row of the same tool number receives when the controller's offset table is refreshed from the tool house (see Tool Offsets).
With the offset table following the tool house, which is the default, the tip lands where the program puts it even when one of these numbers is wrong, because the table and the modelled tool agree. What a wrong holder length or stick-out moves is everything measured from the machine side: machine-axis positions and the stroke checks on them, and — for a wrong stick-out — how close the holder comes to the part. The cutting depth moves only when the offset table does not follow the tool house: a tool-length row typed in from the real machine then disagrees with the modelled tool by the error, and the tip lands that much away from where the program puts it.
Two starting values catch a tool built step by step, and nothing reports either:
- A new cylindroid holder is a placeholder. Its profile is a Ø6 cylinder from
Z = 40toZ = 80, and it adds no length to the tool until the holder re-derives its length from a profile — after an edit on the holder's Geometry node, after the resync call below, or on a project reload, at which point an untouched placeholder counts as 40 mm. Replace the whole profile rather than appending to it. Over the HTTP API, afterPOST /api/ToolHouse/SetHolderType?toolId=…&holderType=Cylindroid: read the profile's key withPOST /api/CylindroidHolder/Get?toolId=…&sessionKey=…(the key comes back only when a session key is given), send the complete list withPOST /api/Cylindroid/UpdateAllPairs?cylindroidKey=…, then runPOST /api/CylindroidHolder/UpdateGeometryContent?toolId=…so the holder re-derives its length. A profile kept as a.Holderfile in the library's Holder folder goes in the same way: itsPairZrentries are(Z,R)pairs in this frame, and no endpoint loads the file onto a tool. - A new tool has an exposed cutter height of 0, which hides the whole cutter inside the holder with its tip at the nose. The stick-out comes from the tool sheet.
The check for both is the refreshed tool-length row against the arithmetic above.
Rake Angle Setting
The rake angle of a side contour is the radial rake of each edge point, and it is not a sharpness dial. For the rake-face parameter files the library ships, whose coefficients are constants, each coefficient acts along the edge, across the rake face or along its normal, so the rake angle turns the frame each edge element's force is built in. It does not lower the specific cutting energy the way a sharper rake does on a real tool: the coefficients stay what the parameter file says, the force of every element points in a different direction, and the rake-face area the coefficients act on grows slightly as the face tilts away from the chip. A parameter file also records the rake angle it was calibrated at; that value sets the minimum uncut chip thickness and does not rescale the coefficients. (A trained rake-face map looks its coefficients up by the local rake orientation, so there the rake does change them; a radial–tangential–axial parameter does not read the rake at all.)
The effect can run against intuition. Because a larger rake turns each edge element's force rather than weakening it, a sharper rake can leave the simulated peak force unchanged or even raise it, since the turned element forces can add up to a larger resultant. So the rake is entered as the tool has it — measured, see Radial Angle Measurement, or inferred as in When the Tool Sheet Leaves Values Out — and never tuned to move a force; the levers for that are Cutter Adjustment Levers.
Relief Angle Setting
The relief angle setting in HiNC refers to the primary relief angle. It is used to calculate flank wear width (Flank Wear, VB).
Cutter Body Weight
Cutter body weight is used for thermal transfer calculations.
- Solid tools: Enter the weight of the solid tool as the cutter body weight.
- Indexable tools: Enter the total insert weight as the cutter body weight, excluding the weight of the tool body.
A new cutter evaluates its body weight from its beam volume and the density of its shank material —
the default alloy steel until a material is picked, and on a solid tool the flute material once one
is — which is a fair value for a solid tool: leave it unless the tool sheet gives a weight. A weight typed into the Shank Mass field, or sent as shankMass_g with
PUT /api/Cutter/{id}/general, is held as a custom value: it survives geometry edits and the
project's save and reload, and the cutter's XML carries it as
<ShankMass_g MassAssignmentMode="Custom"> followed by the value. To return to the estimate, press
the field's return-to-estimate button or send { "shankMassAssignmentMode": "EvaluateByVolume" }
on its own; a mass and that mode in one request are refused, as is a mass that is not a positive
finite number. The tool detail reports the mode beside the mass as shankMassAssignmentMode.
Hone Radius
The hone radius represents the sharpness of the tool and is the radius at the cutting edge tip. Typical values range from 20 to 50 um.
Tools used for machining easy-to-cut materials typically have a smaller hone radius (e.g., Al6061-T6, which can be assumed as 20 um); tools used for difficult-to-cut materials typically have a larger hone radius (e.g., stainless steel, which can be assumed as 50 um).
When the Tool Sheet Leaves Values Out
Catalogues give the diameter, length of cut, flute count and helix reliably; the rake angle and the coating are often missing, especially for small solid end mills. What the sheet does give comes first — the grain of the carbide, the coating it names or shows, the hardness range the series is made for — and only what it leaves out is inferred from the work material the job cuts, each inferred value recorded as an assumption beside the project:
| Work material | Coating | Radial rake | Hone radius |
|---|---|---|---|
| Aluminium alloys | none — a bright, uncoated carbide tool is the norm | sharp and positive, about 15° | about 20 µm |
| Steels, stainless steels and harder materials | coated; the layer the maker lists for the series | smaller — zero to slightly negative on a hardened-steel series | larger — about 50 µm for stainless steel, less on a small tool whose chip is thinner than that |
A tool is often chosen for a reason other than the work material — it was the one on the shelf — so model the tool as it is, not as the material would have it. A hardened-steel series run on aluminium keeps its coating, its fine-grain carbide and its series' small rake; the table above fills in only what its sheet leaves out, and the mismatch goes into the project's assumptions rather than being corrected away.
Neither value is neutral, which is why a reasoned guess beats leaving the field alone. The rake orients every edge element's force (see Rake Angle Setting), and a fluting written through the HTTP API without a rake gets 0° — for an aluminium tool, a guess in the wrong direction. The outermost coating layer supplies the friction coefficient behind the friction heat on the rake face and adds its layers to the tool's thermal model; with no coating the flute material supplies the friction coefficient. The coating therefore moves the friction heat and the temperatures, not the forces.
Runout Is Not Modelled
The tool model carries no runout parameter: every flute of a uniform fluting sits on the nominal profile, so the simulated flutes share the load evenly. A runout reading in the delivered data — a dial-indicator reading, a TIR in micrometres — is recorded as an assumption beside the project rather than entered anywhere. Neither of the two flute angles is a substitute. The flute offset angle says where a flute sits around the cutter body, and the tool's setup angle says how far the whole cutter is turned in its holder: both only move flutes around the axis, relative to the sensor axes, and neither changes the radius a flute cuts at, which is what runout does.
It shows where simulated and measured data meet. A recording from a tool with runout alternates between a heavier and a lighter flute where the simulation does not, so a comparison reads per-revolution peaks or averages rather than single flute peaks.
Edge Profile and Edge Grind — Bottom Edge Grind
The bottom edge grind needs to be configured when the bottom edge is horizontal or concave, and it affects segments with downward cutting.
Drill bits do not require bottom edge grind configuration — only the side edge grind needs to be set. This is because drill bit bottoms are not horizontal or concave. If a custom drill bit has a horizontal or concave bottom, then the bottom edge grind must be configured.
Typically, only bull-nose cutters require bottom edge grind configuration. Note that flat end mills usually do not perform downward cutting and should not, but if the process does so, the bottom edge grind must be configured.
Insert Cutters — a Worked ZR Table
Insert cutters can be modeled in the virtual environment. See the examples below.


| Z | R | S.Ang. | R.Ang. |
|---|---|---|---|
| 0 | 8 | 1 | 3 |
| 0.2 | 8 | 0.5 | 3 |
| 0.4 | 8 | 0 | 3 |
| 0.5 | 8 | 0 | 3 |
| 3 | 8 | 3 | 3 |
| 6 | 8 | 4 | 3 |
| 8 | 8 | 4 | 3 |
See Also
- Radial Angle Measurement — how to measure the rake and relief angles entered here
- Designing a Training Cut Set — why the helix angle entered here decides whether a training run can recover the shear coefficients
- Cutter-Location (CL) Playback — a CL file's
TLDATAfeeds this same tool-geometry model - Cutter Adjustment Levers — the three of these quantities a process engineer can actually move to cut a force peak
- Cutter — where a tool carrying this geometry is created and edited in the application
- APT Profile Panel — the Flute Profile node's fields where the APT parameters above are entered
- Tool Offsets — the tool-length row the holder's gauge length plus the stick-out is written into
- Cylindroid Holder Panel — the holder's Geometry node, and the resync that re-derives the holder's length after an edit
- Smart Tool Holder — the observation point counted from the holder nose defined here
- Recomputing a Finished Strip — what an edit to this geometry does to a strip already played: a flute-geometry change reruns the force kernel, a changed edge envelope needs a replay