Skip to content

Through round tenon

joints.through_round_tenon

A square leg with a round tenon through a seat, flush with its top.

Through round tenon, assembled

Through round tenon, exploded

Parameters

Parameter Default
leg_length 400
diameter 25

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

from woodwright.examples import joints

design = joints.through_round_tenon(leg_length=500)

Drawings

The plans in one PDF: plans.pdf.

Assembly

assembly

Parts

parts

Leg

leg

Seat

seat

Cut list

seat  300 x 300 x 30 mm  oak
      - through hole ø25, in bottom_face, centered
leg   430 x 45 x 45 mm  oak
      - round tenon ø25, 30 long, on right_end

Code

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

def through_round_tenon(leg_length: float = 400, diameter: float = 25) -> Assembly:
    """A square leg with a round tenon through a seat, flush with its top."""
    asm = Assembly("through_round_tenon")
    seat = asm.add(Board("seat", THICK_OAK, length=300, width=300))
    leg = asm.add(Board("leg", LEG_STOCK, length=leg_length, width=45))
    asm.join(
        RoundMortiseTenon(
            tenon=leg.right_end, mortise=seat.bottom_face, diameter=diameter, length=30
        )
    )
    return asm

Exported with woodwright 0.9.0 on 2026-10-25.