Haunched mortise tenon corner¶
joints.haunched_mortise_tenon_corner
A frame corner with a haunched tenon: shoulders on both edges, a haunch on the outer one.
On the inner edge the tenon has a small shoulder, which hides the
mortise; on the outer edge the shoulder sets the mortise back from the
end of the stile, and a haunch, a short, shallow continuation of the
tenon, fills it in a haunch mortise running out of the stile's end, so
the rail can't twist. Unlike haunched_stub_tenon_corner (no inner
shoulder) and stub_tenon_corner (no haunch either).
Parameters¶
| Parameter | Default |
|---|---|
stile_length |
300 |
rail_length |
200 |
width |
60 |
tenon_length |
40 |
outer_shoulder |
15 |
inner_shoulder |
10 |
haunch_length |
10 |
stock |
20 mm board, oak |
Change them in a design file (see Change an example):
from woodwright.examples import joints
design = joints.haunched_mortise_tenon_corner(stile_length=375)
Drawings¶
The plans in one PDF: plans.pdf.
Cut list¶
stile 300 x 60 x 20 mm oak
- mortise 35 x 8 mm, 42 deep, in back_edge
- haunch mortise 15 x 8 mm, 10 deep, in back_edge at right_end
rail 240 x 60 x 20 mm oak
- haunched tenon 35 x 8 mm, 40 long, haunch 10 long, on left_end
Code¶
From woodwright/examples/joints.py, which imports the names it uses (see From an example to your own design):
def haunched_mortise_tenon_corner(
stile_length: float = 300,
rail_length: float = 200,
width: float = 60,
tenon_length: float = 40,
outer_shoulder: float = 15,
inner_shoulder: float = 10,
haunch_length: float = 10,
stock: Stock = OAK,
) -> Assembly:
"""A frame corner with a haunched tenon: shoulders on both edges, a haunch on the outer one.
On the inner edge the tenon has a small shoulder, which hides the
mortise; on the outer edge the shoulder sets the mortise back from the
end of the stile, and a haunch, a short, shallow continuation of the
tenon, fills it in a haunch mortise running out of the stile's end, so
the rail can't twist. Unlike `haunched_stub_tenon_corner` (no inner
shoulder) and `stub_tenon_corner` (no haunch either).
"""
return _corner_tenon(
"haunched_mortise_tenon_corner",
stile_length,
rail_length,
width,
tenon_length,
outer_shoulder=outer_shoulder,
inner_shoulder=inner_shoulder,
haunch_length=haunch_length,
stock=stock,
)
Exported with woodwright 0.9.0 on 2026-10-25.