Quick Start
Create a project and run your first wood beam calculation.
Prerequisites
- API key from Calcs.com (contact [email protected])
Step 1: Create a Project
All calculations belong to a project. Create one first:
Code
Response:
Code
Save the projectId - you'll need it for calculations.
Step 2: Run a Calculation
Calculate a floor joist using the single-call endpoint:
Code
Response:
Code
Done! The beam passes with 67% utilization.
Understanding the Results
| Field | Description |
|---|---|
passed | true if all checks pass |
utilizationRatio | Demand/capacity ratio (0-1). Lower is better. |
summaryCheck.failReasons | Empty array means no failures |
Input Parameters Explained
Code
Alternative: Multi-Step Workflow
For complex scenarios, use the step-by-step approach:
Code
Presets
13 presets provide sensible defaults for common beam types:
| Preset | Use Case | Key Defaults |
|---|---|---|
genericBeam | Custom configuration | Minimal defaults |
genericFlitchBeam | Steel-reinforced timber | Flitch plate configuration |
floorJoist | Repeating floor joists | 16" spacing, top braced |
floorGirder | Multi-ply floor beams | 3-ply default |
ceilingJoist | Ceiling framing | 16" spacing, top braced |
rafter | Inclined roof members | 4:12 slope default |
hipValley | Hip/valley rafters | 4:12 slope default |
roofGirder | Ridge beams | 2-ply default |
roofHeader | Roof openings | No lateral bracing |
floorHeader | Floor openings | No lateral bracing |
comboBeam | Combined loading | Floor + roof loads |
deckJoist | Deck joists | Wet service, 16" spacing |
deckBeam | Deck beams | Wet service, 3-ply default |
Next Steps
- Timber Beam Guide - Detailed beam documentation
- Presets Reference - All preset options
Common Issues
"projectId is required" - Create a project first using POST /v1/projects
"Invalid preset" - See the presets table above for valid preset codes
Results show passed: false - Check summaryCheck.failReasons for details
Results show NaN utilization - Check your loadsDist format. The correct format is:
Code
For joists: ["Floor Load", 0, "L", "spacing", "TW_s", {"D": [15], "L": [40]}]
For headers/beams: ["Wall Load", 0, "L", 1, "One", {"D": [100], "L": [200]}]