Skip to content

Bow saw frame

projects.bow_saw_frame

The frame of a bow saw: two arms and a stretcher between their middles, tenoned into their inner edges.

The blade (at the bottom) and the string (at the top) aren't modelled.

Bow saw frame, assembled

Bow saw frame, exploded

Parameters

Parameter Default
arm_length 350
arm_width 40
stretcher_length 500
stretcher_width 30
stock 22 mm board, oak

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

from woodwright.examples import projects

design = projects.bow_saw_frame(arm_length=437.5)

Drawings

The plans in one PDF: plans.pdf.

Assembly

assembly

Parts

parts

Arm

arm

Stretcher

stretcher

Cut list

arm        350 x 40 x 22 mm  oak, 2 pieces: left_arm, right_arm
           - mortise 20 x 8 mm, 27 deep, in back_edge
stretcher  550 x 30 x 22 mm  oak
           - tenon 20 x 8 mm, 25 long, on left_end
           - tenon 20 x 8 mm, 25 long, on right_end

Code

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

def bow_saw_frame(
    arm_length: float = 350,
    arm_width: float = 40,
    stretcher_length: float = 500,
    stretcher_width: float = 30,
    stock: Stock = BOW_SAW_STOCK,
) -> Assembly:
    """The frame of a bow saw: two arms and a stretcher between their middles,
    tenoned into their inner edges.

    The blade (at the bottom) and the string (at the top) aren't modelled.
    """
    asm = Assembly("bow_saw_frame", root_location=STANDING)
    left = asm.add(Board("left_arm", stock, length=arm_length, width=arm_width))
    right = asm.add(Board("right_arm", stock, length=arm_length, width=arm_width))
    stretcher = asm.add(Board("stretcher", stock, length=stretcher_length, width=stretcher_width))
    # The arms face each other with their back and front edges.
    for tenon, mortise in [
        (stretcher.left_end, left.back_edge),
        (stretcher.right_end, right.front_edge),
    ]:
        asm.join(MortiseTenon(tenon=tenon, mortise=mortise, tenon_length=25))
    return asm

Exported with woodwright 0.9.0 on 2026-10-25.