Valley Rafter Roof

Valley Rafter Roof

An L-shaped roof framed with site-cut members: a main gable and a wing gable of the same span and pitch meeting in two valleys, with common rafters, valley rafters, valley jack rafters and a ridge board on each roof. Main length, span and wing length over the wall plates, Pitch and largest rafter spacing, Common rafter, valley rafter and ridge board sections, Wall height

Details

Category: Roof Framing › Timber Roof Framing › Hip and Valley Roofs

By Huu Khanh Nguyen · Updated November 5, 2026

Parameters

NameDefaultUnit
Length9000mm
Span7000mm
Wing Length2000mm
Pitch25°
Maximum Rafter Spacing600mm
Rafter Thickness45mm
Rafter Depth190mm
Valley Rafter Thickness45mm
Valley Rafter Depth240mm
Wall Plate Width88.9mm
Ridge Board Thickness19mm
Wall Height2400mm
Widthspan + wingLengthmm
Depthlength + hipFace / 2mm
HeightatticHeight + Math.max(bandHeight, hipDepth * Math.sqrt(1 + slope * slope / 2)) + wallHeightmm
SlopeMath.tan(pitch * Math.PI / 180)
Rafter Run(span - ridgeThickness) / 2mm
Notch HeightseatWidth * slopemm
Band HeightrafterDepth * Math.sqrt(1 + slope * slope)mm
Attic Heightslope * run - notchmm
Valley Face OffsethipThickness / Math.SQRT2mm
Main IntervalsMath.ceil((length - rafterThickness) / maximumSpacing)
Main Unit Spacing(length - rafterThickness) / mainIntervalsmm
First Back RafterMath.ceil(span / mainStep - 1e-9)
Main Jacks Valley 1span / 2 - ridgeThickness / 2 - hipFace - 3 * rafterThickness / 2 >= 0 ? Math.floor((span / 2 - ridgeThickness / 2 - hipFace - 3 * rafterThickness / 2) / mainStep + 1e-9) + 1 : 0
First Main Jack Valley 2Math.ceil(((span / 2 + ridgeThickness / 2) + hipFace + rafterThickness / 2) / mainStep - 1e-9)
Main Jacks Valley 2Math.max(0, backFirst - jackSecond)
Wing Grid Start(span / 2 + ridgeThickness / 2)mm
Wing IntervalsMath.ceil((span + wingLength - rafterThickness - wingStart) / maximumSpacing)
Wing Unit Spacing(span + wingLength - rafterThickness - wingStart) / wingIntervalsmm
First Wing CommonMath.ceil((span - wingStart) / wingStep - 1e-9)
First Wing JackMath.ceil((hipFace + rafterThickness / 2) / wingStep - 1e-9)
Wing JacksMath.max(0, wingBack - wingJackFirst)