Hollow leg¶
joints.hollow_leg
A square hollow leg: four boards glued along their edges, each edge mitred at 45 degrees along the grain, so they meet on the diagonals of the corners and no edge grain shows; outside sizes.
Lighter than a solid leg and showing face grain on all four sides, with a square hole through its length (here 30 mm for 15 mm boards). The reference faces are outside; the boards stand with their left ends at the bottom.
Parameters¶
| Parameter | Default |
|---|---|
length |
700 |
width |
60 |
stock |
15 mm board, oak |
Change them in a design file (see Change an example):
Drawings¶
The plans in one PDF: plans.pdf.
Cut list¶
front 700 x 60 x 15 mm oak, 4 pieces: front, left, back, right
- mitre 45 deg on back_edge, bottom_face inside
- mitre 45 deg on front_edge, bottom_face inside
Code¶
From woodwright/examples/joints.py, which imports the names it uses (see From an example to your own design):
def hollow_leg(length: float = 700, width: float = 60, stock: Stock = HOLLOW_LEG_OAK) -> Assembly:
"""A square hollow leg: four boards glued along their edges, each edge
mitred at 45 degrees along the grain, so they meet on the diagonals of
the corners and no edge grain shows; outside sizes.
Lighter than a solid leg and showing face grain on all four sides, with
a square hole through its length (here 30 mm for 15 mm boards). The
reference faces are outside; the boards stand with their left ends at
the bottom.
"""
asm = Assembly("hollow_leg", root_location=orient(right_end=UP, ref_face=FRONT))
names = ("front", "left", "back", "right")
boards = [asm.add(Board(name, stock, length=length, width=width)) for name in names]
# Going round, each board's back edge meets the next one's front edge.
for a, b in zip(boards, boards[1:] + boards[:1], strict=True):
asm.join(MitreCorner(a.back_edge, b.front_edge, a.bottom_face, b.bottom_face))
return asm
Exported with woodwright 0.9.0 on 2026-10-25.