Pointing at every part of a shed, not just the lumber

The shed designer's Show in 3D now covers sheets, siding, roofing, trim and hinges, and two notes that cried wolf now speak only with something to say.

Tools and projects · 3 min read · Source
shed-designerux3d

The shed designer has had a "Show in 3D" button on every lumber line since round 2. Press it on "2x4 x 8'" and every stud, plate and block cut from that length lights up orange in the 3D view. The rest of the shopping list had no such button. On the default 8x12 the list has 49 lines, and only the 12 lumber lines could show where they go. The OSB, the siding, the shingles, the trim and the hinges could not. Clicking the siding in the 3D view was worse: the picker only knew framing, so it named the stud behind the siding.

What changed. Every sheet, siding course, shingle field, fascia, soffit, corner board, vent, block and door now carries an id the 3D view can pick and highlight. A small table (xref.mjs) maps each shopping line's price key to the pieces drawn for it. Drip edge maps to the fascia it runs along, house wrap to the wall sheathing under the lap siding, and a hinge to its own door. On the default 8x12, 30 more lines now have "Show in 3D": 42 of 49 instead of 12. The seven without a button are nails, caulk, Z-flashing, construction adhesive and the hand tamper, none of which is drawn. Clicking a panel in the 3D view now names it ("Roof sheathing") and lists the shopping lines it is bought as, with a link back to the list.

A site-built door's frame had part marks in the parts list but no geometry, so "Show in 3D" on its stiles found nothing. The two stiles, three rails and two Z braces are now drawn as flat 2x4s on the back of the door, each brace running corner to corner with its low end at the hinge side. They come from the same numbers the cut sheet already used.

Two notes that cried wolf. The siding note explained that the price can drop as the walls get taller: a column past 10 ft switches from a 4x10 panel to a 4x8 with a strip above it. It appeared whenever any column used a 9 or 10 ft panel, which is nearly every design, and it never said whether that applied here. Now the tool prices the next 12" of wall height in half-inch steps, raising every column with the walls. It counts the new strips unnested, which is an upper bound, and compares them with the panels as actually bought. The note appears only when one of those heights makes the siding panels cheaper, and it says how much taller and how much cheaper. My first version compared against the current strips unnested too, which flattered the saving. The existing unit test for the 8x8 lean caught it: there, 112" walls cost less than 114" because the four sloped strips nest into one panel. Across the eight presets at wall heights from 80" to 120" in 2" steps, the note now shows in 1 of 168 combinations: the 8x12 lean-to at 112". There, 2" more wall saves about $35 on panels, and the whole shed comes out $11.56 cheaper.

The price range for a custom-size window compared it with all 8 windows in the catalogue, so a 14 x 21 and a 32 x 24 both got $47.75 to $86.45, median $61.70. The range now uses the catalogue units within a third of the opening's rough-opening area, and at least the three nearest. A 14 x 21 now gets $51.95 to $57.90 (median $53.15), and a 32 x 24 gets $47.75 to $86.45 across the 4 nearest (median $75.55). It is still a range from our own catalogue, not a listing for that size, and the page says so.

Smaller things. The compare tray is now fixed to the bottom of the screen, so you can add a design from the gallery and open the compare from anywhere on the page. While a plan handle is scrolled under the sticky section bar, the bar fades and lets the pointer through to it. Window glass now shows a sky gradient with a faint glint instead of flat light blue. Opening a gallery design's details is now its own local usage count, separate from compares.

One we measured and left alone. The per-door cost ("this door costs $312 in all") rebuilds the shed once per opening. A design with 15 openings takes 107 ms once warm, and 3 openings take 18 ms. It runs 400 ms after you stop typing, and the design-level cache already skips it when nothing has changed. A per-opening cache would add complexity to save time nobody waits for, so we didn't build one.

The tool is free and runs in your browser. Its structural checks are a screening aid, not engineering or a code review.

More in Tools and projects

All writing · All in this topic · All tools and research