Skip to content

Cross lap

joints.cross_lap

Two boards crossing in their middles, each with a dado half its thickness deep.

Cross lap, assembled

Cross lap, exploded

Parameters

Parameter Default
length_a 300
length_b 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.cross_lap(length_a=375)

Drawings

The plans in one PDF: plans.pdf.

Assembly

assembly

Parts

parts

A

a

B

b

Cut list

a  300 x 40 x 20 mm  oak
   - dado 40 mm, 10 deep, in top_face
b  200 x 40 x 20 mm  oak
   - dado 40 mm, 10 deep, in bottom_face

Code

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

def cross_lap(
    length_a: float = 300, length_b: float = 200, width: float = 40, stock: Stock = OAK
) -> Assembly:
    """Two boards crossing in their middles, each with a dado half its thickness deep."""
    asm = Assembly("cross_lap")
    a = asm.add(Board("a", stock, length=length_a, width=width))
    b = asm.add(Board("b", stock, length=length_b, width=width))
    asm.join(CrossLap(a.back_edge, b.left_end))
    return asm

Exported with woodwright 0.9.0 on 2026-10-25.