Skip to content

Mitred dovetail corner

joints.mitred_dovetail_corner

The corner of a box made to be sawn open: through dovetails mitred at both edges.

The top and the bottom panel go into grooves along the inside of the walls, groove_width from the edges; the mitres at the edges hide where the grooves run out of the ends. Outside lengths, as dovetail_corner.

Mitred dovetail corner, assembled

Mitred dovetail corner, exploded

Parameters

Parameter Default
front_length 400
side_length 300
height 150
groove_width 6
groove_depth 8
stock 20 mm board, oak

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

from woodwright.examples import joints

design = joints.mitred_dovetail_corner(front_length=500)

Drawings

The plans in one PDF: plans.pdf.

Assembly

assembly

Parts

parts

Front

front

Side

side

Cut list

front  400 x 150 x 20 mm  oak
       - 2 x groove 6 mm, 8 deep, in bottom_face
       - sockets for 3 dovetails, mitred 15 mm at front_edge, back_edge
side   300 x 150 x 20 mm  oak
       - 2 x groove 6 mm, 8 deep, in bottom_face
       - 3 dovetails, slope 1:7, mitred 15 mm at front_edge, back_edge

Code

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

def mitred_dovetail_corner(
    front_length: float = 400,
    side_length: float = 300,
    height: float = 150,
    groove_width: float = 6,
    groove_depth: float = 8,
    stock: Stock = OAK,
) -> Assembly:
    """The corner of a box made to be sawn open: through dovetails mitred at both edges.

    The top and the bottom panel go into grooves along the inside of the
    walls, `groove_width` from the edges; the mitres at the edges hide where
    the grooves run out of the ends. Outside lengths, as `dovetail_corner`.
    """
    asm = Assembly("mitred_dovetail_corner", root_location=BOX_FRONT)
    t = stock.thickness
    front = asm.add(Board("front", stock, length=front_length - t, width=height))
    side = asm.add(Board("side", stock, length=side_length - t, width=height))
    asm.join(
        MitredCornerDovetail(
            tails=side.right_end, pins=front.left_end, tail_count=3, mitre_width=2.5 * groove_width
        )
    )
    # Along the inside faces, through the ends, within the mitres.
    for board in (front, side):
        for edge in (board.front_edge, board.back_edge):
            board.cut(Groove(board.bottom_face, groove_width, groove_depth, groove_width, edge))
    return asm

Exported with woodwright 0.9.0 on 2026-10-25.