Contacts that only push

Which way it comes out

Drop the rotation from the inequalities and the cone lives in two dimensions rather than three, so it can be drawn as an angle: a block in a vee has ninety degrees of directions out, a key in a slot has exactly one and no arc around it, and a dovetail has none at all. Three answers, and each of them is a different kind of joint.

Assumes A constraint that only pushes and The escape is a place.

A finished assembly is a set of parts touching, and the question a maker asks about it is not whether a part is held. It is which way it comes apart — and if the answer is no way at all, that is a design rather than a defect.

A joint with no way out in the plane it is drawn in. A dovetail. The tail is wider at its far end than at the mouth it went in through, so every direction out of the mouth is blocked by a slanted face and every direction further in is blocked by the floor. In the plane of this drawing the joint cannot be taken apart at all, and the direction it does come apart in is the one the drawing does not show. The moving part touches the rest at 3 faces, each contributing one inequality on the direction it may be translated in — the direction must not have a negative component along that face's inward normal — and the set of directions that satisfy all of them is a cone in two dimensions rather than three, because a translation has no moment term. That is why a removal cone can be drawn as an angle where a mobility cone cannot. Here it is empty: every direction is refused by one face or another, so the part cannot be taken out by any translation and cannot have been put in by one either. That is a statement about the assembly and not about the part, and the direction the joint does come apart in is perpendicular to this drawing. positioned by solving, not by drawing.
Fig. 1 A dovetail. Every direction out of the mouth is blocked by a slanted face and every direction further in by the floor, so in the plane of this drawing the joint cannot be taken apart.

One dimension less

Restrict the twists to translations — ω=0\omega = 0 — and the inequalities become

nid    0n_i \cdot d \;\ge\; 0

for every face in contact, with dd the direction the part is pulled in. The moment term drops out entirely, so the cone lives in two dimensions rather than three and its normals are the contact normals themselves.

A cone in the plane can be exactly three things: an arc, a single ray, or nothing. That is the whole classification, and each of the three is a kind of joint.

Three assemblies, and the three answers a removal cone gives. A cone in the plane can be an arc, a single ray, or nothing, and each of the three is a different kind of joint. An arc is a rest: the part is put there and lifted off, and nothing about the faces decides where it goes. A single direction is a slot: the part has one way in and one way out and is located in every other respect. Nothing at all is a joint in the sense a woodworker means it — the pieces cannot be separated in this plane and the assembly happens somewhere the drawing does not show. The whole classification is the width of one cone, computed from the faces that touch.
Fig. 2 The three answers, from three assemblies, computed from the faces that touch.

Enumerated rather than sampled

The same argument that enumerates an escape cone’s extreme rays works one dimension down and is even shorter. An extreme ray of {d:Nd0}\{d : Nd \ge 0\} in the plane lies on the boundary of at least d1=1d - 1 = 1 constraint, so every one of them is perpendicular to some contact normal. Take both perpendiculars of every normal, keep the feasible ones, dedupe by direction.

If two survive, the cone is the arc between them and its width is the angle. If one survives, the cone is a single ray — width nought, and not empty, which is a distinction a sampled scan cannot make reliably and this enumeration makes exactly. If none survives, the cone is empty and the part is blocked.

The middle case is the one that matters and it is the one a scan gets wrong. A key in a rectangular slot is free in exactly the direction straight up and in no other; a grid of sampled directions either hits that direction and reports an arc a cell wide, or misses it and reports the part blocked. Both answers are wrong and neither is obviously so.

One direction out, and no arc around it. A key in a slot. Three faces, all at right angles. Every direction but one is blocked by something, and the one that is left is a single direction rather than an arc: the cone has collapsed to a ray without becoming empty. The moving part touches the rest at 3 faces, each contributing one inequality on the direction it may be translated in — the direction must not have a negative component along that face's inward normal — and the set of directions that satisfy all of them is a cone in two dimensions rather than three, because a translation has no moment term. That is why a removal cone can be drawn as an angle where a mobility cone cannot. Here it is a single direction — the cone has collapsed to a ray without becoming empty, which is a third answer distinct from an arc and from nothing, and the one every slot gives. positioned by solving, not by drawing.
Fig. 3 Three faces at right angles, and the cone collapsed to a ray without becoming empty. A scan reports this as an arc half a degree wide.

The three joints

A vee is a rest. Two faces at ninety degrees, a block sitting in them, and a cone ninety degrees wide. Any direction inside that quarter turn lifts the part out, so the faces locate the part and hold it in no sense at all — which is what a vee is for, and why nobody expects a vee to retain anything.

90° of directions out. A block in a vee. Two faces at right angles, and a square resting on both. The part lifts out along any direction inside a quarter turn, which is what makes a vee the thing a part is dropped into rather than fitted into — and what makes it useless as a hold. The moving part touches the rest at 2 faces, each contributing one inequality on the direction it may be translated in — the direction must not have a negative component along that face's inward normal — and the set of directions that satisfy all of them is a cone in two dimensions rather than three, because a translation has no moment term. That is why a removal cone can be drawn as an angle where a mobility cone cannot. Here it is an arc of 90.0°, so the part lifts out along any of a range of directions and is not located by these faces in any useful sense. positioned by solving, not by drawing.
Fig. 4 Two faces, two inequalities, a quarter turn of directions out. The part is located and not retained.

A slot is a slot. Three faces at right angles, and every direction but one is refused by something: the floor refuses downward, and the two walls refuse each horizontal sense between them. What is left is a single direction. The part is located in two coordinates and free in the third, which is precisely the specification of a key, a tenon or a spline.

A dovetail is a joint. The tail is wider at its far end than at the mouth it went in through, so the two slanted faces refuse every direction that has any component out of the mouth, and the floor refuses the rest. The cone is empty.

That last one is worth stating carefully because it sounds like a contradiction: the joint was assembled, so there was a way in. There was, and it is perpendicular to the drawing. A dovetail slides along its slot, which in a two-dimensional cross-section is a direction that does not exist — so the computation is telling the truth about the plane it is given, and the thing it says is this joint’s assembly direction is not in this picture.

Blocked is not held

The dovetail’s tail cannot be translated in any direction, and it is not held. Those are different statements and the difference is the rotation.

The removal cone drops ω\omega, so it answers can this part be slid out and not can this part move. A tail in a socket with a little clearance can rotate — very slightly, and enough to matter — and a computation that has thrown the rotation away cannot see it. Put the rotation back and the full cone is a cone in three dimensions again, with the same machinery as every other rung of this field, and the answer for a real dovetail with clearance is that a small rocking motion is permitted.

So the removal cone is a projection of the escape cone rather than a special case of it, and the two answer different questions:

  • the escape cone: what can this part do at this instant;
  • the removal cone: which directions can this part be translated in, from here, without penetrating anything.

An empty removal cone with a non-empty escape cone is an ordinary situation — it is the dovetail — and it means the part can wobble and cannot leave.

4 contacts, and the centres they still allow. A square in a vee. Two edges held by two contacts each. The count is four and the directions repeat: it is the wrong four in a second way, and this time the part goes straight out of the open side. Each contact contributes one half-plane of permitted centres per sense, and the shaded regions are what survives all 4 of them: the darker one is where an anticlockwise rotation is still permitted and the lighter one where a clockwise one is. What is left is the escape, and it is a region rather than a direction: any point inside it will do as a centre. The enumeration finds 4 extreme rays, of which 2 are rotations and the rest are translations — the corners of the region and its unbounded directions respectively. positioned by solving, not by drawing.
Fig. 5 The full picture for the vee: rotations as well as translations. Two of its four extreme rays are the translations the removal cone finds, and two are rotations it cannot see.

Why a translation is the right question

Restricting to translations looks like a simplification made for the sake of drawing, and it is not: it is the question a maker actually asks.

An assembly comes apart by parts being moved away, usually along a straight line for at least the first part of the motion, and whether that is possible is decided by the contacts at the moment the motion starts. A part that cannot be translated in any direction cannot begin any motion that starts with a translation — which is not quite all motions, but is all the motions a fitter attempts.

And the projection is exact rather than approximate. A part with an empty removal cone genuinely cannot be translated in any direction whatever; the computation does not miss any because it enumerates rather than samples.

The count, one dimension down

The counting argument from the minimum-contacts rung applies here with d=2d = 2, and gives a number that is easier to believe than the one it gives for holds.

To block every translation, the contact normals must positively span the plane, which needs at least three faces. Two faces at any angle leave a wedge — the vee’s ninety degrees, or a narrower one for a sharper vee, but never nothing. Three can block, and the slot’s three do not because two of theirs are exact opposites and the third leaves a direction.

So a blocked part needs at least three faces with normals that spread, and it is easy to check by eye: draw the normals from a common point and ask whether they surround it.

Every subset, and the one that moves. The same question asked three times: which directions can this set of parts be translated in, given the contacts between it and everything not in it. The rows are the two parts alone and the two of them together, and the answers are none, none, and one. What changes between the last row and the two above it is not the geometry — nothing has moved — but which contacts count: the four between A and B are internal to the pair and drop out of the question entirely, leaving only the tray. A disassembly problem is therefore a search over subsets rather than over parts, and the number of subsets is what makes it hard for an assembly with more than a handful of pieces.
Fig. 6 The counting applied to subsets rather than parts, which is where it goes next.

The contacts have to be found, and finding them is the hard part

Everything above assumes a list of faces in contact with their normals, and getting that list is the part of this rung that took the most care — which is worth recording, because it is where a figure quietly becomes a picture of nothing.

Two polygon edges are in contact when they face each other, lie on the same line, and overlap in extent. Each of those is an equality up to a tolerance, and each of them fails silently: an obstacle typed as coordinates a rounding away from the part’s own edge produces no contact at all, and a part with no contacts has a removal cone of everything and reports itself free in every direction. The picture still draws, the parts still look as though they touch, and the answer is the opposite of the truth.

The repair is to build each obstacle from the part’s own edge rather than typing it twice. An obstacle plate is the part’s edge reversed and extruded outward, so the two edges are collinear by construction rather than by arithmetic — and the contact-finding routine refuses a pair touching at a vertex only, because a vertex contact has no normal and the honest answer to what it constrains is a cone of normals rather than one.

That is the same class of defect as a stale figure cache reporting a canvas failure or a normal pointing the wrong way: the routine is doing what it says and the input is not what anybody thinks. What makes this one worth a paragraph is that its failure mode is maximally permissive — no contacts means no constraints means everything is allowed — which is the direction an error should never fail in.

Where a gearset met this

The site has already had an assembly that could not be assembled, and it is worth connecting because the failure is a different one.

A planetary gearset with the wrong tooth counts cannot be built: the planets do not mesh with both the sun and the ring at the spacing they are meant to sit at, and the condition is an integer one on the tooth counts. That is an assembly failure decided by arithmetic, and it does not depend on which order anything goes together in or on any direction of approach.

The dovetail’s is decided by geometry and it is directional: the joint assembles perfectly well in one direction and in no other. And it is not a failure — it is the design.

The two together suggest a rough taxonomy of cannot be assembled that this site now has both halves of: an arithmetic obstruction, which is about counts and holds at every position, and a geometric one, which is about directions and is what a cone measures.

The same cone, at the other end of the site

Two other fields compute something with this shape and it is worth naming both, because in each the cone is asking a question about directions permitted rather than about a mechanism.

A strand leaves a reachable region rather than a configuration: a rope constrains one way only, so the set of places a body can be is bounded on one side and open on the other, and the boundary is where the strand goes taut. That is one inequality rather than several and the region is a set of positions rather than of directions, but the asymmetry is the same asymmetry.

And a rolling wheel’s permitted velocities are a subspace rather than a cone, since a wheel forbids sideways motion in both senses equally — which is exactly what makes rolling an equation and contact an inequality, and is why the two fields have different instruments. The rolling field’s surprise is that permitted directions compose into forbidden ones; nothing of the kind happens here, because a cone is closed under addition by construction.

What this cannot do yet

Two limits, and the second is the next rung.

It is one part against everything else. The removal cone above is computed with the moving part’s contacts against every other part treated as fixed. That is the right question when everything else is a frame, and it is the wrong question when the other parts can move too.

And it is a first move. An empty removal cone says the part cannot start a straight-line motion. A non-empty one says it can start one and says nothing about whether it can continue: a part may translate a little way and then meet something it was not touching to begin with, which is a global question of the kind the previous rung is about.

Free in every direction, and it cannot get outA disc of radius 1 among 3 point obstacles on a circle of radius 1.100. The shaded discs are the obstacles grown by the part's own radius, which is what the part's centre may not enter — the configuration space, and for a round part it is the plane itself. The part is caged when those grown discs overlap enough to close a ring around it, which happens below R = 1/sin(π/3) = 1.154701, and here it does. **At every configuration inside the cage the part is free.** The three normals all point at its centre, the rank of its rows is two, the escape cone is a whole line, and none of that has anything to do with whether it can leave. A hold is a statement about velocities at one configuration; a cage is a statement about where a finite motion can go, and the second does not follow from the first in either direction. positioned by solving, not by drawing.R 1.100 of a threshold 1.1547caged — reachable area 0.061
Fig. 7 The global version: a part whose removal cone is the whole plane and which cannot get out.

Both of those are genuine and neither undermines the classification. An arc, a ray or nothing is what the faces in contact permit at the instant the joint is complete, and for a joint whose faces stay in contact through the whole disassembly — which is what a slot and a dovetail are — that instant decides everything.

Read as a hold, all three fail

It is worth running the field’s own test on these three assemblies, because two of the three are things everybody calls fastened and none of them is a hold.

The vee’s block has an escape cone containing a whole quarter turn of translations, and rotations besides. The key in the slot can be lifted straight out, and can rotate a little about centres far off to either side. The dovetail’s tail cannot be translated and can rotate.

So fastened, as a maker uses the word, is a much weaker condition than held, and the gap between them is what glue, wedges, screws and gravity are for. That is not a criticism of joinery; it is the observation that a joint is designed to be assembled, which requires a direction in, and a hold is designed to have none.

The two specifications are in direct opposition, and a joint that satisfied both would be one that could not have been made. Every held part in this field is held by contacts that were brought to it from outside — jaws that close, a clamp that comes down — and the arrangement is a hold only once they have arrived.

Seven arrangements, one routine, and the two that hold. Every row is the same three steps: write down one row per contact — the moment of its normal about the origin, then the normal itself — take the convex hull of those rows, and ask whether the origin is inside it. The parts differ, the numbers of contacts differ, and the routine does not. Two of the seven hold. The other five leave the part something, and the interesting column is what: four rays of rotation for the pinwheel, a translation straight out of the vee, and for the last two a whole line rather than any number of rays, which is what a rank below three means and is the case a reader has to be warned about. Note that the four contacts of the second row are the four of the first row, on the same four edges of the same square, at the same distance along each. positioned by solving, not by drawing.
Fig. 8 The field’s ledger, none of whose seven rows is an assembly. A hold is a configuration of contacts and an assembly is a configuration of parts, and the difference is whether anything can be brought to it.

A single ray is a knife edge

The three answers — an arc, a ray, nothing — are not equally robust, and the middle one is worth marking because it is the one a drawing most often claims and a part almost never has.

A cone in the plane is a single ray exactly when the contact normals bound a half-plane precisely: one more degree of spread and the cone closes to nothing, one less and it opens into an arc. That is a codimension-one condition — a coincidence among the normals rather than a range of them — and every condition of that kind is destroyed by an arbitrarily small perturbation.

So a key in a slot has a removal cone that is a single direction only in the exact drawing. Cut the slot with a thousandth of clearance, or a fraction of a degree of draft on one wall, and the faces are no longer in contact along their whole length; the effective normals spread differently, and the cone becomes a narrow arc or closes entirely depending on which way the error went. Which of the two happens is not a matter of degree — the two outcomes are comes out and does not.

That is the practical reason a slot is made with clearance and a dovetail is not. A clearance opens the ray into an arc of a fraction of a degree, which is a robust answer: perturb it again and it is still an arc, narrower or wider. Aiming for the exact ray is aiming at a boundary between two qualitatively different outcomes, and there is no tolerance band around it at all.

Read the other way, it says which of the three answers a design should be specified against. An arc and an empty cone are stable and a ray is not, so a joint should be designed to be clearly one or clearly the other, with margin, and never to sit at the transition. A part that comes out along an arc of five degrees still comes out when the arc shrinks to four; a part that comes out along one ray may not come out at all.

The same reasoning explains why the counting condition is stated with a strict inequality. Three faces whose normals positively span the plane give nothing, and three whose normals bound a half-plane give a ray — so the count of three is necessary for blocking and the arrangement decides whether it is achieved. Adding a fourth face well away from the others is how a maker buys margin: the cone is empty by more than a coincidence, and it stays empty when everything is a thousandth out.

The cone as a specification

The most useful way to read all of this is backwards, and it is how a joint gets designed rather than analysed.

Decide the answer first. This part must come out in exactly one direction is a specification, and it says: three or more faces, with normals positively spanning everything except one direction. This part must not come out in this plane at all is a specification, and it says: normals positively spanning the plane, which needs three faces that are not two opposites plus a third.

That is a small thing to get from a field’s worth of machinery, and it is the thing the machinery is for — the same reading a transmission angle gets in the linkage field, where a number computed from the geometry turns into a rule about what to draw. Every joint a woodworker has a name for is a point on that menu, and the names distinguish exactly what the cone distinguishes: the housing and the rebate are rests, the tenon and the spline are slots, and the dovetail is the one that does not come out.

What this makes readable

Essays that name this one as a prerequisite.

About the same objects

Not linked from either essay — found by the objects both name.

What links here

Essays that link to this one from their own argument.

The objects this essay names

Each one links to every other essay that touches it.

BlockingContact normalDisassemblyEnumerationEscape coneForm closureRemoval coneTranslationUnilateral constraint