Wedged round tenon¶
joints.wedged_round_tenon
A round leg through a stool's seat, held by a wedge in a kerf across the grain of the seat.
The wedge is two thirds of the seat long, at its head as wide as the kerf and the spread both ways, and 24 mm thick, so that its corners stay within the 25 mm tenon.
Parameters¶
| Parameter | Default |
|---|---|
leg_length |
400 |
diameter |
25 |
kerf |
2 |
flare |
2 |
Change them in a design file (see Change an example):
Drawings¶
The plans in one PDF: plans.pdf.
Cut list¶
seat 300 x 300 x 30 mm oak
- through hole ø25, in bottom_face, centered
leg ø40 x 430 mm oak
- round tenon ø25, 30 long, a saw kerf 2 mm, 20 deep, for a wedge, on right_end
wedge 20 x 6 x 24 mm oak
- taper 2 mm on front_edge towards right_end
- taper 2 mm on back_edge towards right_end
Code¶
From woodwright/examples/joints.py, which imports the names it uses (see From an example to your own design):
def wedged_round_tenon(
leg_length: float = 400, diameter: float = 25, kerf: float = 2, flare: float = 2
) -> Assembly:
"""A round leg through a stool's seat, held by a wedge in a kerf across
the grain of the seat.
The wedge is two thirds of the seat long, at its head as wide as the
kerf and the spread both ways, and 24 mm thick, so that its corners
stay within the 25 mm tenon.
"""
asm = Assembly("wedged_round_tenon")
seat = asm.add(Board("seat", THICK_OAK, length=300, width=300))
leg = asm.add(Rod("leg", ROUND_LEG_OAK, length=leg_length))
wedge_stock = Stock.board(thickness=24, species="oak")
wedge = asm.add(Board("wedge", wedge_stock, length=20, width=kerf + 2 * flare))
asm.join(
WedgedRoundMortiseTenon(
tenon=leg.right_end, mortise=seat.bottom_face, diameter=diameter, wedge=wedge, kerf=kerf
)
)
return asm
Exported with woodwright 0.9.0 on 2026-10-25.