Mortise tenon frame¶
frames.mortise_tenon_frame
Two stiles and two rails, the rails tenoned into the stiles at their ends.
Parameters¶
| Parameter | Default |
|---|---|
stile_length |
600 |
rail_length |
300 |
width |
60 |
shoulder |
10 |
stock |
20 mm board, oak |
Change them in a design file (see Change an example):
Drawings¶
The plans in one PDF: plans.pdf.
Cut list¶
stile 600 x 60 x 20 mm oak, 2 pieces: stile_left, stile_right
- 2 x mortise 40 x 8 mm, 42 deep, in back_edge
rail 380 x 60 x 20 mm oak, 2 pieces: rail_top, rail_bottom
- tenon 40 x 8 mm, 40 long, on left_end
- tenon 40 x 8 mm, 40 long, on right_end
Code¶
From woodwright/examples/frames.py, which imports the names it uses (see From an example to your own design):
def mortise_tenon_frame(
stile_length: float = 600,
rail_length: float = 300,
width: float = 60,
shoulder: float = 10,
stock: Stock = OAK,
) -> Assembly:
"""Two stiles and two rails, the rails tenoned into the stiles at their ends."""
def corner(rail_end: SideRef, stile_edge: SideRef, position: Position, outer: SideRef) -> Joint:
return MortiseTenon(
tenon=rail_end, mortise=stile_edge, position=position, shoulder=shoulder
)
asm, _ = _frame("mortise_tenon_frame", corner, stile_length, rail_length, width, stock)
return asm
Exported with woodwright 0.9.0 on 2026-10-25.