Results
Enter project details and press Calculate to see quantities, joints, adhesives, supports, costs, and schedule-based weight/pressure.
Example Data Table
| Segment | Length | Qty | Notes |
|---|---|---|---|
| Main corridor | 12 m | 2 | Supply trunk |
| Fixture branches | 6 m | 4 | Bathrooms, pantry, laundry |
| Risers | 3 m | 3 | To upper floor |
Use this as a guide. Replace with your actual segments and counts.
Formula Used
Total required length = Base run length + Waste allowance + Expansion allowance + Cut loss.
- Base run length = Σ( segment length × quantity ).
- Waste allowance = Base × (waste % ÷ 100).
- Expansion allowance = Base × (expansion % ÷ 100).
- Cut loss = Joints × cut loss per joint.
- Pipe sticks = Ceiling( Total required length ÷ stick length ).
- Supports/Hangers ≈ Floor( Total required length ÷ support spacing ) + 1.
- Estimated glued joints = 90s + 45s + 3×Tees + 4×Crosses + Couplings + Unions + 2×Valves + Caps + Adapters + Extra joints.
- Cement/Primer cans = Ceiling( Joints ÷ joints-per-can ).
- Total weight = Weight-per-length × Total required length.
Numbers are planning estimates. Always confirm with project specifications and local codes.
How to Use This Calculator
- Select units, pipe standard, and nominal size.
- Enter pipe stick length and support spacing.
- Add run segments with lengths and quantities; include risers and branches.
- Enter counts for fittings, valves, and any extra joints.
- Enable Auto coverage to set joints-per-can from selected size and can volume.
- Optionally enter unit prices for a material cost estimate.
- Click Calculate to summarize sticks, joints, hangers, cans, weight, and pressure.
- Export the takeoff via Download CSV or Download PDF.
Schedule Weight/Pressure Tables (editable)
These sample values are provided for planning only. Verify with datasheets. You can edit the library JSON and it will be saved in your browser.
{
"CTS SDR 11": {
"1\/2\"": {
"weight_per_m": 0.2,
"weight_per_ft": 0.13,
"pressure_psi": 400
},
"3\/4\"": {
"weight_per_m": 0.3,
"weight_per_ft": 0.2,
"pressure_psi": 400
},
"1\"": {
"weight_per_m": 0.42,
"weight_per_ft": 0.28,
"pressure_psi": 400
},
"1-1\/4\"": {
"weight_per_m": 0.58,
"weight_per_ft": 0.39,
"pressure_psi": 320
},
"1-1\/2\"": {
"weight_per_m": 0.75,
"weight_per_ft": 0.5,
"pressure_psi": 320
},
"2\"": {
"weight_per_m": 1.05,
"weight_per_ft": 0.71,
"pressure_psi": 320
}
},
"Schedule 40": {
"1\/2\"": {
"weight_per_m": 0.26,
"weight_per_ft": 0.17,
"pressure_psi": 450
},
"3\/4\"": {
"weight_per_m": 0.39,
"weight_per_ft": 0.26,
"pressure_psi": 420
},
"1\"": {
"weight_per_m": 0.55,
"weight_per_ft": 0.37,
"pressure_psi": 330
},
"1-1\/4\"": {
"weight_per_m": 0.78,
"weight_per_ft": 0.52,
"pressure_psi": 280
},
"1-1\/2\"": {
"weight_per_m": 1,
"weight_per_ft": 0.67,
"pressure_psi": 250
},
"2\"": {
"weight_per_m": 1.38,
"weight_per_ft": 0.93,
"pressure_psi": 210
}
},
"Schedule 80": {
"1\/2\"": {
"weight_per_m": 0.34,
"weight_per_ft": 0.23,
"pressure_psi": 630
},
"3\/4\"": {
"weight_per_m": 0.52,
"weight_per_ft": 0.35,
"pressure_psi": 560
},
"1\"": {
"weight_per_m": 0.74,
"weight_per_ft": 0.5,
"pressure_psi": 470
},
"1-1\/4\"": {
"weight_per_m": 1.02,
"weight_per_ft": 0.69,
"pressure_psi": 420
},
"1-1\/2\"": {
"weight_per_m": 1.3,
"weight_per_ft": 0.87,
"pressure_psi": 390
},
"2\"": {
"weight_per_m": 1.83,
"weight_per_ft": 1.23,
"pressure_psi": 330
}
}
}