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
Category: Roof Framing › Timber Roof Framing › Hip and Valley Roofs
By Huu Khanh Nguyen · Updated November 5, 2026
| Name | Default | Unit |
|---|---|---|
| Length | 9000 | mm |
| Span | 7000 | mm |
| Wing Length | 2000 | mm |
| Pitch | 25 | ° |
| Maximum Rafter Spacing | 600 | mm |
| Rafter Thickness | 45 | mm |
| Rafter Depth | 190 | mm |
| Valley Rafter Thickness | 45 | mm |
| Valley Rafter Depth | 240 | mm |
| Wall Plate Width | 88.9 | mm |
| Ridge Board Thickness | 19 | mm |
| Wall Height | 2400 | mm |
| Width | span + wingLength | mm |
| Depth | length + hipFace / 2 | mm |
| Height | atticHeight + Math.max(bandHeight, hipDepth * Math.sqrt(1 + slope * slope / 2)) + wallHeight | mm |
| Slope | Math.tan(pitch * Math.PI / 180) | |
| Rafter Run | (span - ridgeThickness) / 2 | mm |
| Notch Height | seatWidth * slope | mm |
| Band Height | rafterDepth * Math.sqrt(1 + slope * slope) | mm |
| Attic Height | slope * run - notch | mm |
| Valley Face Offset | hipThickness / Math.SQRT2 | mm |
| Main Intervals | Math.ceil((length - rafterThickness) / maximumSpacing) | |
| Main Unit Spacing | (length - rafterThickness) / mainIntervals | mm |
| First Back Rafter | Math.ceil(span / mainStep - 1e-9) | |
| Main Jacks Valley 1 | span / 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 2 | Math.ceil(((span / 2 + ridgeThickness / 2) + hipFace + rafterThickness / 2) / mainStep - 1e-9) | |
| Main Jacks Valley 2 | Math.max(0, backFirst - jackSecond) | |
| Wing Grid Start | (span / 2 + ridgeThickness / 2) | mm |
| Wing Intervals | Math.ceil((span + wingLength - rafterThickness - wingStart) / maximumSpacing) | |
| Wing Unit Spacing | (span + wingLength - rafterThickness - wingStart) / wingIntervals | mm |
| First Wing Common | Math.ceil((span - wingStart) / wingStep - 1e-9) | |
| First Wing Jack | Math.ceil((hipFace + rafterThickness / 2) / wingStep - 1e-9) | |
| Wing Jacks | Math.max(0, wingBack - wingJackFirst) |