Which feature to hold tight
Assumes The same part, dimensioned twice.
The tolerance field allocates a budget by giving each length a share in inverse proportion to its worst sensitivity over the turn: the length the output cares most about gets the tightest tolerance, and the arithmetic is a division.
Redo it on the features and one of two things happens.
The null result first
If every part is made the same way, nothing changes at all.
The transmission factor from a hole’s error to a length’s band is √2 · √(1 − f), and if f is the same for all four parts then that factor is the same for all four. It multiplies every weight in the allocation equally, and a common factor divides out of a division.
Measured rather than argued: at f = 0.6 for every part, the lengths-only allocation and the feature allocation are
g 0.005405 a 0.004115 b 0.003861 c 0.006619
and
g 0.005405 a 0.004115 b 0.003861 c 0.006619
identical to the last digit printed, and identical in the routine’s own comparison to 10⁻¹⁵.
Feature-based tolerancing does not automatically change the allocation. That is worth having as a result rather than as a caveat, because it says exactly when the extra work is worth doing.
When it changes
It changes when the four parts have four different shared fractions, and a machine’s parts routinely do.
Take a frame jig-bored in one setup at f = 0.9; a crank drilled twice on a drill press at f = 0.1; a coupler at 0.6 and a rocker at 0.3. The transmission factors are then 0.447, 1.342, 0.894 and 1.183 — a spread of three.
length naive feature shared
g 0.005405 0.009644 0.90
a 0.004115 0.002448 0.10
b 0.003861 0.003445 0.60
c 0.006619 0.004464 0.30
The tightest tolerance moves from b, the coupler, to a, the crank, and the frame’s loosens by a factor of 1.78.
Both allocations spend the same total budget. What has changed is the recognition that a hole tolerance on the frame buys much less band than a hole tolerance on the crank, because the frame’s holes are made together and most of their error cancels.
What the allocation is actually about
It is worth restating what a budget allocation does, because the feature version makes it clearer than the lengths version did.
A budget is a quantity of effort, expressed as a total tolerance to be divided. The division should give the tightest tolerance where a unit of tolerance buys the most band reduction — which is where the sensitivity is highest.
The feature version adds a second factor to “buys the most”. A unit of tolerance on the frame’s holes buys 0.447 units of length band; on the crank’s it buys 1.342. So the effective weight is sensitivity times transmission, and the allocation follows the product rather than the sensitivity alone.
The lengths-only version is the special case where the transmissions are equal. That is not a bad approximation, it is an exact answer to a question about a machine whose parts are made alike, and machines whose parts are made alike exist.
The arithmetic, in one place
The whole calculation is short enough to write out, and writing it out makes clear how little of it is new.
For each length ℓ, take sᵢ, the largest magnitude of ∂ψ/∂ℓᵢ over the turn, computed by the implicit route at forty-eight configurations. Take tᵢ = √2 · √(1 − fᵢ), the transmission from a hole’s error on that part to the length’s band. The weight is wᵢ = sᵢ tᵢ, and the allocation is the budget divided in proportion to 1/wᵢ.
Set every fᵢ equal and the tᵢ are all equal, so they cancel in the ratio and the allocation is the lengths-only one. Let them differ and they do not.
That is four multiplications more than the tolerance field’s version, and the four numbers they use are read off a process sheet. The cost of doing this properly is four multiplications and one conversation with a manufacturing engineer, and the conversation is the expensive half.
What is allocated is a hole tolerance
A subtlety in the output that changes what the numbers mean.
The lengths-only allocation returns four length tolerances: hold g to ±0.0054, and so on. The feature allocation returns four hole tolerances — hold each of the frame’s two holes to ±0.0096, each of the crank’s to ±0.0024 — and those are not comparable numbers to the first set even though they are printed in the same units.
A hole tolerance of ±0.0096 on a part with f = 0.9 gives a length band of 0.447 × 0.0096 = ±0.0043. A hole tolerance of ±0.0024 on a part with f = 0.1 gives 1.342 × 0.0024 = ±0.0032. Those are the length bands the two allocations deliver, and they are what should be compared.
A budget allocated on features is spent in a different currency, and a reader comparing the two tables column by column without converting will conclude that the frame has been loosened enormously and the crank tightened enormously. It has, in hole tolerances; in length bands the change is much smaller and is in the same direction.
The frame is where it lands
The largest single move in the table is the frame’s, and it is not a coincidence of the numbers chosen.
The frame is the part most likely to have an extreme shared fraction, in either direction. Bored in one setup on a machining centre it is near 0.9 and its holes’ errors barely reach the mechanism; assembled from two pedestals on a base it is near 0 and they reach it fully. There is not much in between, because a frame is either machined as one piece or it is not.
And the ground length is often among the more sensitive: the output angle is read at O₄, so moving that pivot rotates the reading directly as well as through the mechanism.
So the frame combines the most extreme transmission with a high sensitivity, and the product swings the furthest. A machine’s frame is the part where knowing the process changes the answer most, and it is the part whose process is least often stated on the drawing.
Why the null result is the useful half
It is worth dwelling on the identical columns, because a result that says nothing changes is easy to skip past and this one earns its place.
Feature-based tolerancing sounds like it must always matter, and a reader who accepted that would redo every allocation on the site. The measurement says most of that work would produce the same numbers, and knowing which work is wasted is worth as much as knowing which is not.
It also protects the tolerance field’s existing results. Everything that field allocated remains correct for a machine made by one process, which is most of what it drew. Those figures did not need revising and this field has not revised them.
And it makes the positive result sharp. The allocation changes exactly when the transmission factors differ, so the question to ask about a machine is not is a feature analysis worth doing but are its parts made differently. That is a question a manufacturing engineer answers in one sentence, and the answer decides whether any of this matters.
What a machinist is handed
The output of a feature allocation is a different document from the output of a lengths allocation, and that is most of its practical value.
A lengths allocation says: hold the coupler to ±0.0039. A shop cannot act on that directly. It has to decide how to bore two holes such that their distance is within ±0.0039, which means deciding the setup, which means making exactly the choice this field is about — and making it without being told what it is worth.
A feature allocation says: hold each of the coupler’s two holes to ±0.0034, in one setup with at least sixty per cent common error. That is an instruction about an operation. It can be planned, it can be verified, and it can be argued with — a shop that cannot do the setup can say so and ask for a different budget, which is a conversation the first document cannot have.
The allocation and the process specification are one document, and separating them is what makes a tolerance a demand rather than a plan.
The sensitivities come from somewhere
Worth noting where half the arithmetic comes from, because it is not new.
The worst sensitivity of the output angle to each length over the turn — 0.293, 0.385, 0.410, 0.239 for g, a, b, c — is computed by the tolerance field’s implicit route, one linear solve per length per configuration, against the same analytic Jacobian everything else on this site uses. Nothing about it changes here.
What is new is only the second factor, and it is one line: √2 · √(1 − f) per part.
That is the whole extension, and its cheapness is worth remarking on. The boundary essay that named this as the next thing to do said it was “a straightforward extension of exactly the machinery in this field — the same implicit differentiation, one layer further out”, and it was right about the arithmetic. What it did not anticipate is that the extension is inert unless the parts differ, which is the finding rather than the formula.
Three parts of one decision
Standing back, the feature half of this field has produced three numbers that a tolerance study needs and a lengths-only one has no place for, and it is worth seeing them as one set.
A shared fraction per part, which scales the band and, when it differs between parts, moves the allocation. Measured by making twenty parts and comparing the spread of a distance against the spread of a position.
A datum scheme per part with three or more features, which decides which distance is derived and therefore which one is √2 worse. Chosen, by whoever draws the part.
And the sensitivities, which the tolerance field already computes and which nothing here changes.
The first two are facts about how a part is made and drawn; the third is a fact about the mechanism. A study that has all three produces an allocation a shop can act on. A study that has only the third produces one it must reinterpret, and the reinterpretation is where the accuracy goes.
What is still not modelled
Naming the remaining gaps, since the essay reads as though the feature model were complete and it is not.
Orientation and form. A hole is treated as a point with a two-dimensional positioning error. Its roundness, its cylindricity and its perpendicularity to the face are real and are outside this model — the first two because a mechanism’s kinematics does not see them, the third because it enters through the pin’s length rather than through a distance.
Assembly. The model tolerances holes on parts and then assumes the parts go together at their holes. A bolted joint, a dowel, a press fit each add their own error between the part’s feature and the mechanism’s joint, and none of them is here.
And the distribution. Everything is stated in standard deviations and combined in quadrature, with a worst case computed as a sum. Whether a shop’s errors are Gaussian and what happens in the tails is a question this site hands elsewhere and does not answer.
Each of those is a layer further out in the same direction, and each would make the model more like a part and less like a mechanism. The line is drawn where the inputs stop being geometry, which is the same line the whole site draws.
Two allocations that are both defensible
A complication worth naming rather than resolving, since the field cannot resolve it.
The allocation above minimises the output band for a fixed total tolerance, treating a unit of tolerance as equally expensive everywhere. It is not. Holding a jig-bored pair to ±0.005 may be free and holding a press-drilled pair to ±0.005 may be impossible, and a budget expressed as a sum of tolerances does not know that.
An allocation that minimised cost rather than a sum would need a cost-per-tolerance curve for each operation, which is a fact about a shop with a price attached — and prices are exactly the kind of input this site’s boundary excludes. Not because they are unimportant but because a figure resting on one could not be checked by anybody who builds the mechanism.
So this field allocates a sum of tolerances and says so. The geometric half of the problem is here and complete; the economic half is real and is outside. Anyone doing it properly needs both, and the two multiply rather than compete.
The same question asked of a calibration
The two halves of this field mirror each other and this is the clearest place to see it.
An allocation asks: given a budget, where should the effort go so the output band is smallest? A pose selection asks: given a number of measurements, where should they go so the recovered parameters are best determined?
Both are optimisations over a division of a fixed resource. Both weight by a sensitivity that comes out of the same identification Jacobian. Both have a null result in the same place — allocating on features changes nothing when the parts are made alike, and choosing poses changes little once the pool is saturated — and both have their effect in the middle of the range.
The difference is the direction of the arrow. An allocation runs from parameters to output and asks how tightly the parameters must be held. A calibration runs from output to parameters and asks how well they can be recovered. They are the forward and inverse readings of one matrix, which is the same statement the field’s first essay makes about the tolerance field and this one, arriving from the practical end.
That symmetry has a use. Whichever of the two is easier to compute for a given machine can be used to reason about the other, and the quantity that matters in both is the sensitivity — which this site has computed for every mechanism it carries since its ninth phase.
An allocation nobody can act on
A last observation about the shape of the output, which is really a complaint about the whole practice.
An allocation returns four numbers. It does not return an ordering of confidence, a statement of how much the answer would change if one input were wrong, or any indication of which of the four is the load-bearing one. Four numbers, printed, and downstream they are treated as a specification.
Every input to those four numbers has an uncertainty. The sensitivities are computed from the nominal geometry, which is not the machine’s. The shared fractions are estimates from a process that varies. The budget itself is chosen rather than derived. None of that uncertainty propagates into the output, because an allocation is a division and a division of uncertain things returns a number with no uncertainty attached.
A tolerance allocation is the least examined number in a design, and this field’s contribution is to have added one more input to it rather than to have improved its epistemics. That is worth saying plainly at the end of an essay arguing for a refinement: the refinement is real, it moves the answer by up to a factor of two, and the answer it moves was never presented with an error bar.
What to take away
Three sentences.
Under one process for the whole machine, allocate on the lengths — the answer is identical and the extra work buys nothing.
Under mixed processes, allocate on the features, because the transmission factors differ by up to threefold and they multiply the sensitivities.
And write the process into the allocation. A tolerance without a setup is an instruction a shop must reinterpret, and the reinterpretation is the decision this whole half of the field is about.
About the same objects
Not linked from either essay — found by the objects both name.
- The error that is an integral calibration · sensitivity · tolerance · worst case
- A band with a direction in it sensitivity · tolerance · worst case
- A clearance inside a tolerance box sensitivity · tolerance · worst case
- The ratio that has a tolerance sensitivity · tolerance · worst case
- What a drop cannot be smaller than sensitivity · tolerance · worst case
- Where an error at the shoulder ends up sensitivity · tolerance · worst case
What links here
Essays that link to this one from their own argument.
- Where the two analyses cross Numbers that were measured
- Where a length comes from Numbers that were measured
- Where the boundary moved again As built
The objects this essay names
Each one links to every other essay that touches it.
CalibrationDatum schemeDerived lengthFeature toleranceSensitivitySetup errorToleranceWorst case