Skip to content

Haunched stub tenon corner

joints.haunched_stub_tenon_corner

A frame corner with a haunched stub tenon: a haunch on the outer edge, no inner shoulder.

As stub_tenon_corner, the tenon is flush with the rail's inner edge; as haunched_mortise_tenon_corner, the outer shoulder is filled by a haunch in a haunch mortise running out of the end of the stile.

Haunched stub tenon corner, assembled

Haunched stub tenon corner, exploded

Parameters

Parameter Default
stile_length 300
rail_length 200
width 60
tenon_length 40
outer_shoulder 15
haunch_length 10
stock 20 mm board, oak

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

from woodwright.examples import joints

design = joints.haunched_stub_tenon_corner(stile_length=375)

Drawings

The plans in one PDF: plans.pdf.

Assembly

assembly

Parts

parts

Rail

rail

Stile

stile

Cut list

stile  300 x 60 x 20 mm  oak
       - mortise 45 x 8 mm, 42 deep, in back_edge
       - haunch mortise 15 x 8 mm, 10 deep, in back_edge at right_end
rail   240 x 60 x 20 mm  oak
       - haunched tenon 45 x 8 mm, 40 long, haunch 10 long, on left_end

Code

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

def haunched_stub_tenon_corner(
    stile_length: float = 300,
    rail_length: float = 200,
    width: float = 60,
    tenon_length: float = 40,
    outer_shoulder: float = 15,
    haunch_length: float = 10,
    stock: Stock = OAK,
) -> Assembly:
    """A frame corner with a haunched stub tenon: a haunch on the outer edge, no inner shoulder.

    As `stub_tenon_corner`, the tenon is flush with the rail's inner edge;
    as `haunched_mortise_tenon_corner`, the outer shoulder is filled by a
    haunch in a haunch mortise running out of the end of the stile.
    """
    return _corner_tenon(
        "haunched_stub_tenon_corner",
        stile_length,
        rail_length,
        width,
        tenon_length,
        outer_shoulder=outer_shoulder,
        inner_shoulder=0,
        haunch_length=haunch_length,
        stock=stock,
    )

Exported with woodwright 0.9.0 on 2026-10-25.