Loose tongue panel¶
joints.loose_tongue_panel
Boards glued edge to edge, a loose tongue in a groove along each of the two edges at every joint.
The tongues are strips of 6 mm oak, their grain along the joint,
tongue_width wide, half of it in each board. They stop stop short
of the ends of the boards, in stopped grooves (cut with a router, here
square-ended) 1 mm deeper than the tongues reach, so the ends of the
panel show no grooves.
Parameters¶
| Parameter | Default |
|---|---|
length |
500 |
width |
150 |
count |
3 |
tongue_width |
20 |
stop |
20 |
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¶
board 500 x 150 x 20 mm oak, 2 pieces: board_1, board_3
- stopped groove 6 mm, 11 deep, in back_edge, 20 mm short of left_end and 20 mm short of right_end
board_2 500 x 150 x 20 mm oak
- stopped groove 6 mm, 11 deep, in front_edge, 20 mm short of left_end and 20 mm short of right_end
- stopped groove 6 mm, 11 deep, in back_edge, 20 mm short of left_end and 20 mm short of right_end
tongue 460 x 20 x 6 mm oak, 2 pieces: tongue_1, tongue_2
Code¶
From woodwright/examples/joints.py, which imports the names it uses (see From an example to your own design):
def loose_tongue_panel(
length: float = 500,
width: float = 150,
count: int = 3,
tongue_width: float = 20,
stop: float = 20,
stock: Stock = OAK,
) -> Assembly:
"""Boards glued edge to edge, a loose tongue in a groove along each of
the two edges at every joint.
The tongues are strips of 6 mm oak, their grain along the joint,
`tongue_width` wide, half of it in each board. They stop `stop` short
of the ends of the boards, in stopped grooves (cut with a router, here
square-ended) 1 mm deeper than the tongues reach, so the ends of the
panel show no grooves.
"""
asm = Assembly("loose_tongue_panel")
boards = [
asm.add(Board(f"board_{i + 1}", stock, length=length, width=width)) for i in range(count)
]
for i, (a, b) in enumerate(itertools.pairwise(boards)):
tongue = asm.add(
Board(f"tongue_{i + 1}", SPLINE_OAK, length=length - 2 * stop, width=tongue_width)
)
asm.join(LooseTongue(a.back_edge, b.front_edge, tongue, through=False))
return asm
Exported with woodwright 0.9.0 on 2026-10-25.