Skip to content

Butt frame corner

joints.butt_frame_corner

An L-shaped corner of a frame: the end of the rail glued to the edge of the stile.

Butt frame corner, assembled

Butt frame corner, exploded

Parameters

Parameter Default
stile_length 300
rail_length 200
width 40
stock 20 mm board, oak

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

from woodwright.examples import joints

design = joints.butt_frame_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 40 x 20 mm  oak
rail   200 x 40 x 20 mm  oak

Code

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

def butt_frame_corner(
    stile_length: float = 300, rail_length: float = 200, width: float = 40, stock: Stock = OAK
) -> Assembly:
    """An L-shaped corner of a frame: the end of the rail glued to the edge of the stile."""
    asm = Assembly("butt_frame_corner", root_location=STANDING)
    stile = asm.add(Board("stile", stock, length=stile_length, width=width))
    rail = asm.add(Board("rail", stock, length=rail_length, width=width))
    asm.join(Butt(stile.back_edge, rail.left_end, position=flush_with(stile.right_end)))
    return asm

Exported with woodwright 0.9.0 on 2026-10-25.