Skip to content

Rod in hole

joints.rod_in_hole

A rod (a rung, a stretcher) going with its whole cross-section into a blind hole in a square leg, two thirds of the leg deep.

Rod in hole, assembled

Rod in hole, exploded

Parameters

Parameter Default
leg_length 450
rod_length 300

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

from woodwright.examples import joints

design = joints.rod_in_hole(leg_length=562.5)

Drawings

The plans in one PDF: plans.pdf.

Assembly

assembly

Parts

parts

Leg

leg

Rod

rod

Cut list

leg  450 x 45 x 45 mm  oak
     - hole ø25, 32 deep, in back_edge, centered
rod  ø25 x 330 mm  oak

Code

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

def rod_in_hole(leg_length: float = 450, rod_length: float = 300) -> Assembly:
    """A rod (a rung, a stretcher) going with its whole cross-section into a
    blind hole in a square leg, two thirds of the leg deep."""
    asm = Assembly("rod_in_hole", root_location=STANDING)
    leg = asm.add(Board("leg", LEG_STOCK, length=leg_length, width=45))
    rod = asm.add(Rod("rod", ROD_OAK, length=rod_length))
    asm.join(RoundMortiseTenon(tenon=rod.left_end, mortise=leg.back_edge))
    return asm

Exported with woodwright 0.9.0 on 2026-10-25.