Skip to content

Rules

Rules of thumb that fill in joint dimensions you leave out.

rules

Rules of thumb for default joint dimensions.

tenon_thickness

tenon_thickness(
    stock_thickness: float,
    chisels: tuple[float, ...] = CHISEL_WIDTHS,
    count: int = 1,
) -> float

About a third of the stock, snapped up to the nearest chisel width.

For count tenons across the thickness, each about as thick as the gaps between them and the shoulders: a fifth of the stock for two.

tenon_length

tenon_length(mortise_depth: float) -> float

Two thirds of the material behind the mortised side.

dado_depth

dado_depth(stock_thickness: float) -> float

A third of the housing board.

rabbet_depth

rabbet_depth(stock_thickness: float) -> float

Half of the rabbeted board.

groove_depth

groove_depth(stock_thickness: float) -> float

Half of the stock thickness, a common depth for panel grooves and tongues.

lap_thickness

lap_thickness(stock_thickness: float) -> float

Half of the stock: the two laps together make up its thickness.

dovetail_thickness

dovetail_thickness(stock_thickness: float) -> float

Of a sliding dovetail's tongue at the shoulder: half of the stock.

key_depth

key_depth(mitre_length: float) -> float

Of a key's kerf across a mitred corner: a third of the mitre line.

butterfly_waist

butterfly_waist(width: float) -> float

Of a butterfly key at its narrowest: a third of its width at the ends.

dovetail_lap

dovetail_lap(stock_thickness: float) -> float

Of the pin board of half-blind dovetails, left in front of the tails: a quarter.

finger_width

finger_width(stock_thickness: float) -> float

Of the fingers of a box joint: as wide as the stock is thick.

round_tenon_diameter

round_tenon_diameter(
    size: float, drills: tuple[float, ...] = DRILL_DIAMETERS
) -> float

Of a round tenon on square stock size thick: about 0.6 of it, snapped down to a drill bit (the hole is drilled, the tenon cut to fit it).

screw_clearance

screw_clearance(diameter: float) -> float

Of the hole a screw passes through freely: a bit wider than its shank.

screw_pilot

screw_pilot(diameter: float) -> float

Of the pilot hole a screw cuts its thread into, in hardwood: about 0.7 of it.

screw_head

screw_head(diameter: float) -> float

Of a countersunk screw's head: about twice the screw.

peg_distance

peg_distance(tenon_length: float) -> float

Of a peg through a tenon from the shoulder: a third of the tenon.