What each part of the building is actually made of

Every takeoff usage is bound to a real product — girts are 2x6 SPF, posts are the 3-ply laminated column — so changing one material price moves every place it is used.

What it is

The join between the member the 3D builder draws, the line on the estimate and the row in the price list. A takeoff says 'Girt, 64 pcs'; a yard sells 2x6 SPF by the foot. USAGE_MATERIAL maps one to the other, and the BINDING IS THE PRICE.

Also called: usage to material · girt is 2x6 SPF · material binding · change the lumber · change 2x6 price once · what is a girt made of

See it
What each part of the building is actually made of
CustomerBuildingAmountStatus
Sutter KlineBarndominium$16,970Paid
Ronan PetschEquipment Storage$7,470Approved
Sutter Kline30×40 Garage$2,530Open
Gideon Alt40×64 Shop$14,310Sent
Ivy BrubakerRiding Arena$14,500Sent
Diagram: takeoff usage Girt -> catalogue material 2x6 SPF -> tenant override, with an estimate line showing the product name. Sample data — no customer information appears here.
How it works
  1. 1Bound usages price from the catalogue and from the tenant's override of that catalogue row, so changing 2x6 SPF in Settings changes every girt, cripple and sill on every estimate at once.
  2. 2Unbound usages fall back to their usage row — the ones with no single material behind them (a truss is fabricated to span and pitch, a door is a product) or that SmartBuild prices inside a package.
  3. 3The bindings encode judgement, stated in the code: posts are the 3-ply 2x6 laminated column because it is what both tenants actually buy (758 priced lines vs 58) and what the engine draws; anything in ground or concrete contact is treated; purlins are 2x4 SPF and girts 2x6 SPF; wall and roof steel is the 29Ga AG panel, the commonest of the four gauges priced (2,415 lines).
  4. 4materialForUsage() surfaces the bound material on the estimate line so the customer-facing description names the product.
Why we built it

The post in the 3D model, the line on the estimate and the row in the price book have to be the same material, or a builder is reconciling three lists by hand and finds the mismatch after the customer has signed. Everything the takeoff can emit is bound to one catalogue row, so those are three views of one material. Where a binding does not exist the tool falls back and says so rather than force-fitting the piece onto the nearest lumber SKU, which keeps the book honest about what it does not yet know.

The problem
  • Editing an abstract usage price when what changed is a material.
  • Estimate lines naming internal usages instead of products.
Sound familiar?
What you get
One price edit moves every line made of that material.
Estimate lines name the real product.
Usages with no single material stay honest instead of being force-fitted.

See it on your own jobs

Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.

or keep browsing features →