Skip to content

Splined shelf corner

joints.splined_shelf_corner

The top corner of a shelf, mitred across the edges, with three short oak splines in a row along the corner, in stopped grooves (routed) with equal gaps between them, so the joint doesn't show at the front or the back. Lengths to the outside.

Splined shelf corner, assembled

Splined shelf corner, exploded

Parameters

Parameter Default
side_height 400
top_length 500
depth 250
stock 20 mm board, oak

Change them in a design file (see Change an example):

from woodwright.examples import joints

design = joints.splined_shelf_corner(side_height=500)

Drawings

The plans in one PDF: plans.pdf.

Assembly

assembly

Parts

parts

Side

side

Spline

spline

Top

top

Cut list

side    400 x 250 x 20 mm  oak
        - mitre 45 deg on right_end, bottom_face inside
        - spline groove 4 mm, 9 deep, square to the mitre with top, along the corner, stopped, 25 to 75 from front_edge
        - spline groove 4 mm, 9 deep, square to the mitre with top, along the corner, stopped, 100 to 150 from front_edge
        - spline groove 4 mm, 9 deep, square to the mitre with top, along the corner, stopped, 175 to 225 from front_edge
top     500 x 250 x 20 mm  oak
        - mitre 45 deg on left_end, bottom_face inside
        - spline groove 4 mm, 9 deep, square to the mitre with side, along the corner, stopped, 25 to 75 from front_edge
        - spline groove 4 mm, 9 deep, square to the mitre with side, along the corner, stopped, 100 to 150 from front_edge
        - spline groove 4 mm, 9 deep, square to the mitre with side, along the corner, stopped, 175 to 225 from front_edge
spline  50 x 16 x 4 mm  oak, 3 pieces: spline_1, spline_2, spline_3

Code

From woodwright/examples/joints.py, which imports the names it uses (see From an example to your own design):

def splined_shelf_corner(
    side_height: float = 400, top_length: float = 500, depth: float = 250, stock: Stock = OAK
) -> Assembly:
    """The top corner of a shelf, mitred across the edges, with three short
    oak splines in a row along the corner, in stopped grooves (routed) with
    equal gaps between them, so the joint doesn't show at the front or the
    back. Lengths to the outside."""
    asm = Assembly("splined_shelf_corner", root_location=CASE_SIDE)
    side = asm.add(Board("side", stock, length=side_height, width=depth))
    top = asm.add(Board("top", stock, length=top_length, width=depth))
    splines = tuple(
        asm.add(Board(f"spline_{i + 1}", THIN_SPLINE_OAK, length=50, width=16)) for i in range(3)
    )
    asm.join(
        SplinedMitre(
            side.right_end, top.left_end, side.bottom_face, top.bottom_face, splines=splines
        )
    )
    return asm

Exported with woodwright 0.9.0 on 2026-10-25.