Plumbing takeoff & estimating
Fixtures, runs, risers, and waste - typed from the plumbing sheet.
Plumbing takeoff is half symbol counting, half network topology. Kamai counts the fixtures and reconstructs the supply, waste, and vent network as a typed graph.
Fixture units, pipe lengths, riser counts, and roof-vent terminations - each lives in a different sheet, drawn in a different convention. Kamai stitches them together.
The output is a structured plumbing model: every fixture, every run, every connection - keyed back to the room, the riser, and the sheet of origin.
Inputs Kamai reads on plumbing work.
Every device, every fixture, every member - keyed to the legend.
Kamai reads the legend on the plumbing sheet and types each symbol it counts.
What lands in your pipeline.
Every plumbing detection emits a typed record. Here's the shape.
type PlumbingDetection = {
fixture_id: string;
type: string;
room_id: string;
system: enum(supply | waste | vent | gas | storm);
size: string?;
sheet: string;
};How Plumbing teams use Kamai.
Other trades.
- The same models, applied per trade.
- Every detection carries provenance back to the sheet.
- Drop-in via API, app, or direct integration.
Plumbing takeoff - minutes, not days.
Bring a plumbing sheet. See what Kamai extracts.
Minutes, not days. One real drawing. Sub-millimeter precision.