Skip to content

Round mortise tenon

joints.round_mortise_tenon

A rung with a round tenon (a shoulder all round, its end chamfered) in a blind hole in a square leg.

Round mortise tenon, assembled

Round mortise tenon, exploded

Parameters

Parameter Default
leg_length 450
rung_length 300
diameter 16

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

from woodwright.examples import joints

design = joints.round_mortise_tenon(leg_length=562.5)

Drawings

The plans in one PDF: plans.pdf.

Assembly

assembly

Parts

parts

Leg

leg

Rung

rung

Cut list

leg   450 x 45 x 45 mm  oak
      - hole ø16, 32 deep, in back_edge, centered
rung  ø25 x 330 mm  oak
      - round tenon ø16, 30 long, end chamfered 1 mm, on left_end

Code

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

def round_mortise_tenon(
    leg_length: float = 450, rung_length: float = 300, diameter: float = 16
) -> Assembly:
    """A rung with a round tenon (a shoulder all round, its end chamfered)
    in a blind hole in a square leg."""
    asm = Assembly("round_mortise_tenon", root_location=STANDING)
    leg = asm.add(Board("leg", LEG_STOCK, length=leg_length, width=45))
    rung = asm.add(Rod("rung", ROD_OAK, length=rung_length))
    asm.join(
        RoundMortiseTenon(tenon=rung.left_end, mortise=leg.back_edge, diameter=diameter, chamfer=1)
    )
    return asm

Exported with woodwright 0.9.0 on 2026-10-25.