Plumbing takeoff is a 3D problem. Most tools flatten it to a floor plan and quietly lose the stacks.
Plumbing takeoff (CSI Division 22) is not a count of dots on a floor plan. It is a vertical-run problem: water risers, sanitary stacks, vents, and gas mains travel between floors, jog around structure, and only reveal themselves when you read the floor plans, riser diagrams, and isometric details together. PlanSwift and STACK are slow here because the operator has to manually walk every riser across every sheet — BuildBid reads the riser diagrams and isometrics alongside the floor plans so the vertical scope is captured up front.
Material deltas drive the bid. Copper, PEX-A, PEX-B, CPVC, and PP-R each carry a different cost per LF, different labor productivity, and different fitting count. BuildBid extracts the spec section (22 11 / 22 13 / 22 40) to lock the material per system, then prices the water and drain runs against the assembly so the copper-vs-PEX delta is visible before submission rather than after.
Fixtures are counted by type with the schedule treated as authoritative. Water closets, lavatories, urinals, sinks, showers, tubs, floor drains, hose bibbs, drinking fountains, and emergency eyewash/shower units are pulled from the plumbing fixture schedule (P-001 style) and tied back to their plan locations so spot-checks are one click.
Backflow preventers, water-heater schedules, and DWV rough-in are surfaced as their own line items — not buried inside a generic 'plumbing' assembly — because they are the categories where bids get won or lost on labor hours.