3D viewOrbit the frame
Orbit, snap to views, export to glTF.
The 3D view draws the same 150 solids the plan, the iso and the cut list come from. There is no second model to keep in step.
- Solids
- 150
- Footprint
- 27'-2" × 34'-7"
Describe your build once. 2by draws the framing plans, checks the spans, and writes the cut list and shopping list, and keeps every one of them in sync when the design changes.
2by started with one real loft design. While it was being drawn, a beam changed type, posts were added, a beam was deleted, the stair opening moved. Every change rippled through the parts list, and several changed it in more than one place.
The list was kept by hand, so it was re-counted by hand. Every time.
At one point the summary said every piece of lumber on the job was 2×10, while a line 40 lines above it listed 22 pieces of 2×8.
A parts list is a derived document.
Stop writing it by hand.
Keeping a derived document by hand guarantees drift. 2by keeps one model of the structure and derives the list from it, so the list and the design cannot disagree.
You describe the building once, as a plain-text model. The drawings, the checks and the lists are all derived from it. Change one value and every one of them follows.
joist_fields: - id: CATWALK label: Catwalk section: 2x10 span_axis: x bounds_x: [2-3/4", 9'-9-1/4"] bounds_y: [12, 34'-4-1/4"] framing: drop hung_at: [WALL-TRACK] cantilever_ft: { INNER-TRACK: 2 } spacing_in: 16 hanger: LUS210 bears_on: [WALL-TRACK, INNER-TRACK] blocking: true phase: p2Line 596, the model’s own comment: # was 2x8; INNER-TRACK drops a full 2x10 so the deck stays level
2×10 @ 16" o.c.
catwalk joists, labelled from the model
was 2×8 @ 16" o.c.
9¼" deep
joist depth, drawn to size
was 7¼" deep
150 solids
painter-sorted, redrawn
85 pieces
members in the model
was 87 pieces
14 sheet types
S-6, S-7, S-8 re-issued
0 errors
bending 67% · L/1020
was 2 errors · bending 93% · L/496
85 sticks
catwalk: 25 × 2×10
was 87 sticks · catwalk: 8 × 2×10 + 19 × 2×8
38 lines
lumber order: 21 rows
was 41 lines · lumber order: 25 rows
17 × LUS210
catwalk: hangers fit the joist
was catwalk: hangers do not fit the joist
38 tasks
re-derived, in build order
was 40 tasks
Line 596: section 2×8 → 2×10. Both versions derived by the tool: bending 93% → 67%, deflection L/496 → L/1020, errors 2 → 0. It computes and flags; a person approves.
The 3D view is not a separate model. It is drawn from the same solids as the framing plan and the cut list for the Freestanding Timber Loft (r28), so it cannot show a building the drawings don’t.
Orbit, snap to views, export to glTF.
The 3D view draws the same 150 solids the plan, the iso and the cut list come from. There is no second model to keep in step.
Slice anywhere to see how it goes together.
A cutting plane sweeps through the loft. The members it passes through light up, so you can see what bears on what: joists on beams, beams on posts.
See every member in the order it’s built.
The layers lift apart from the top down and settle back from the bottom up: footings, posts, floor and deck. The order is the one the drawings use.
Measure anything, snapped to real geometry.
Pick two points and each one snaps to a member corner. Here it is the clear span between posts P6 and P7: 13'-0-1/2".
Plans, elevations and isometric views, drawn from the same model.
Look straight down and the model becomes the framing plan: the same members, the same ids, the same revision. Change the model and every view redraws.
Every beam and joist field is checked for bending and deflection under the loads in the model: 50 psf live, 10 psf dead. Every post base is checked against its catalogue rating. A check that is close to its limit is flagged, not rounded away.
2-ply 2x10
2-ply LVL-11.875
2x10 @ 16" o.c.
2-ply 2x10
Both rows are the saved model files for r25 and r26, run through today’s checks. The load did not change; the part did.
Flagged for review. The model marks it deliberate on a shop stair. 13 riser boards close the gap if the loft becomes living space.
Lumber design values and connector ratings are cited to the published tables they came from. A value is marked verified only after someone has read it on the printed page. At r28: 6 of 6 connector types this model relies on are marked verified, and 11 of 11 lumber entries.
The Freestanding Timber Loft cuts into 85 sticks across 10 cut-list rows. Every piece is packed onto a stock board, and the tool keeps whichever stock length buys the fewest total feet. The shopping list and the hardware schedule are counted from the same model, so they agree with the drawings.
2×10North Platform30 sticks10'-0" / 12'-0"waste 3%
+ 24 more sticks in this row
6×6North Platform6 sticks8'-0" / 10'-0"waste 8%
LVL-11.875North Platform2 sticks28'-0"waste 3%
2×4Stair1 stick8'-0"waste 59%
| Quantity | Item |
|---|---|
| 8 pcs | 2×6 post, PT · 10'-0" |
| 5 pcs | 6×6 post, PT · 8'-0" |
| 6 pcs | 6×6 post, PT · 10'-0" |
| 54 pcs | 2×10 · 12'-0" |
| 3 pcs | 2×12 · 16'-0" |
| 23 sheets | T&G subfloor · 3/4" × 4' × 8' sheet |
+ 7 more lines
| Quantity | Item |
|---|---|
| 28 ea | 1/2" × 6-1/2" through-bolt set |
| 38 ea | H2.5A |
| 39 ea | LUS210 |
| 156 ea | SDWS FRAMING 0.160 x 3 |
+ 17 more lines
| Quantity | Item |
|---|---|
| 30 bags | Concrete, 80 lb bags (4,000 psi) · 16.3 cu ft + 10% |
| 10 bags | Concrete, 80 lb bags (4,000 psi) · 5.4 cu ft + 10% |
+ 2 more lines
38 linesUnit prices: yours to enter
Showing 12 of the 38 lines the tool prints for this model.
Each connector is picked from the hardware catalog for the member it carries and the load at that end. A part the catalog cannot rate is flagged, not guessed.
The SHEETS button builds the whole set on letter paper: plans, elevations, details, schedules and the review notes. Every page is drawn from the same model as the screen, so a beam that changes on the plan changes on the cut list and the order list too.
Shown: the Freestanding Timber Loft, r28. The set prints in English or Spanish. Pick a sheet from the index to bring it to the top.

The loft went through 5 saved revisions, r24 to r28. Each card is the saved model file, run through today’s checks and compared with the one before it. The build log is derived from the model in the order the building goes together, so when a revision adds a stair, the stair gets its own tasks.
Captions are quoted from the project’s engineering log.
Earliest saved revision
13 posts · 11 beams · 39 joists
Changed from r24
Changed from r25
Changed from r26
Changed from r27
Whether you are building your own shed or pricing a deck for a client, the plan, the checks and the lists all come from one description of the frame.
Owner-builders
Sheds · decks · lofts
Describe the frame once. 2by draws the plan, checks the spans, and writes the cut list and the shopping list from that same description, so a change to one joist changes every list.
| Size | Stock | Sticks | Waste |
|---|---|---|---|
| 2×6Floor Frame | 10'-0" / 12'-0" | 7 | 4% |
| 4×4Floor Frame | 8'-0" | 1 | 0% |
| 2×4Walls and Roof | 8'-0" / 10'-0" | 42 | 16% |
| 2×6Walls and Roof | 8'-0" / 12'-0" | 9 | 10% |
| Total | 8 lines on the lumber order | 59 |
It computes and flags. Where your permit needs an engineer, an engineer still signs it.
Small contractors
Small wood-framed jobs
Price from the order list, print the set, and hand the crew sheets in the language they read. When the client moves a post, the next revision goes out with every sheet redrawn.
Each of these is a working model in the demo, with its own plans, span checks, cut list and printed set. Open one, change a member, and every schedule follows.
27'-2" × 34'-7" overall
38 joists, 2×10 at 16" on centre
No errors, 1 warning to confirm
8'-1-3/4" × 6'-1-3/4" overall
7 joists, 2×6 at 16" on centre
No errors, 3 warnings to confirm
32'-2-3/4" × 24'-2-3/4" overall
41 joists, 2×10 at 16" on centre
In review · 6 errors open, 22 warnings
Rev r3 has open findings: a worked example of what the checks catch.
The demo opens on the last model you used. Switch models with the MODEL ▾ menu beside the project title.
Still being built. Try the demo today; get early access when accounts open.
No account needed. The demo runs in your browser.