About Piping for Stacked Residential Units
Adding plumbing to a stacked apartment unit succeeds or fails on riser space and fitting clearance. Code sizing comes second. These guidelines cover domestic cold and hot water, sanitary drainage, and venting for bathrooms and kitchens, modeled in Revit from fixture connectors to vertical risers and garage-level trunks.
Workflow Roadmap
The workflow runs in seven phases with two hard gates. Phase 4 is the pivot: everything above it is reused, so problems found in later phases are fixed in the prototype one-level pattern and re-run.

Key Design Considerations
Consideration | What to decide or check | What the sample project showed |
Riser chase size | Clear width and length for every stack plus fitting bodies; one chase per wet core | Bath chase was about 6" wide; branches could only enter risers along the chase's long axis |
Fitting clearance | Measure the actual elbow and tee families before setting riser spacing | A 3" PVC sanitary tee's branch hub reaches about 8" from centerline; copper tees about 4-3/4" |
Stack order | Order risers so branches and garage trunks reach them without crossing | Kitchen risers ordered HW, CW, Vent, SAN west to east so trunks never cross |
Tee spacing on stacks | Vertical gap between branch tees on the same stack | 3" sanitary tees need at least 8" between centers; base elbow plus lowest tee needs about 9" |
Consideration | What to decide or check | What the sample project showed |
Fixture connectors | Family connector sizes, directions and heights; whether all fixtures are true plumbing fixtures | Dishwasher was Specialty Equipment with no CW or vent connector |
Code and sizing | Fixture units, stack and branch sizes, trap-arm length, vent sizing and connection height above flood rim | Sizes were provisional; vents connected at 4'-0" to 5'-2" AFF |
Drain slope | 1/4" per ft on branches 3" and smaller; space below slab for the fall | Drains were modeled level; slope still to add |
Venting | Individual, common or wet venting; where each vent rises; vent-through-roof or AAV | Vents rose in walls and chases; roof terminations not yet modeled |
Water distribution | Supply direction (up-feed or down-feed), HW return, shut-offs per unit, hammer arrestors | Up-feed from a garage trunk; no HW return or valves yet |
Materials | Water piping (Copper L, PEX), DWV (PVC, cast iron for noise or fire rating) | Copper L water; PVC DWV and vent by default |
Rated walls and slabs | Penetrations through rated corridor and party walls; firestopping; sleeves | Several runs sat in 2-hour walls and will need firestop details |
Structure and coordination | Slab thickness, beams, ducts, sprinklers, electrical below the floor | 12" slabs; trap arms ran just under them |
Example - Piping Systems for Stacked Residential Units

Note: The sanitary, vent, hot domestic water, and cold domestic water lines would connect to sources and terminals (for example, the sanitary sewer connection) at the Garage level.




You can download this model file here:
AI Prompts
Creating Plumbing Systems for Stacked Residential Units
Prompt | Tool Options
🟢 = Autodesk Asst
🔵 = Revit MCP
🟣 = Python + Dynamo |
Add piping systems to the bathrooms and kitchen in this multi-story apartment building.
Bathrooms:
• Run copper cold water supply lines to the lavatory sink, toilet, and shower.
• Run copper hot water supply lines to the lavatory sink and shower.
• Run sanitary drain lines from all three fixtures to a single drainage stack in the bathroom riser space.
• Run vent piping from all three fixtures to a single vent stack in the bathroom riser space.
• Repeat this piping design on Levels L1 though L3.
Bathroom Riser:
• A bathroom riser space is provided behind the toilet and shower.
• Route the cold water, hot water, drainage, and vent lines through vertical risers that extend from the garage level (below L1) to the roof (level L4).
Kitchens:
• Run a copper cold water supply line to the kitchen sink.
• Run copper hot water supply lines to the kitchen sink and dishwasher.
• Run sanitary drain lines from the kitchen sink and dishwasher to a single drainage stack in the kitchen riser space.
• Run vent piping from both fixtures to a single vent stack in the kitchen riser space.
• Repeat this piping design on Levels L1 through L3.
Kitchen Riser:
• A kitchen riser space is provided at the north end of the closet at the left side of the kitchen.
• Route the cold water, hot water, drainage, and vent lines through vertical risers that extend from the garage level (below L1) to the roof (level L4).
Garage Level Connections:
• Run horizontal trunk lines that connect the base of the vertical risers for each piping system at 10’ above the Level Garage floor level.
As you work, send me a message after each step saying what you did and what you found. | 🟣 |
Claude Response
I'll connect to Revit on your computer, inspect the model (levels, rooms, riser spaces, fixtures, and available pipe types), then build the piping in stages and report after each step.
Step 1 — Model survey done. Here's what I found in 261104 Sample Mult-Story Apartment:
- Levels: Garage (−12'), L1 (0'), L2 (12'), L3 (24'), L4/roof (36'). Garage trunk elevation = 10' above Garage = −2'-0". Floors are 12" thick.
- Fixtures (identical on L1–L3): shower (1½" drain, ½" CW/HW), wall-hung flush-valve WC (3" drain, 1" CW), vanity lav (1¼" drain, ½" CW/HW), kitchen sink (1½" drain, ½" CW/HW), and a dishwasher modeled as Specialty Equipment (1" drain, ½" HW).
- Bath riser chase: ~6" × 6'-0" space formed by the 3⅛" wall behind the WC (x ≈ −30.3 to −30.8, y ≈ 3.5 to 9.5).
- Kitchen riser chase: north end of the closet, ~2'-0" × 5" (between the closet partition at y=8.95 and the corridor wall).
- No existing pipes. Pipe types: only "Standard" (Copper K, welded fittings) and "PVC - DWV". Copper L/K/M segments are available. Systems for Domestic CW/HW, Sanitary, and Vent exist.
Next: I'll set up a copper (Type L) pipe type and lay out the riser positions.
Step 2 — Pipe type + risers placed.
- Created a new pipe type "Copper - Type L" (Copper L segment, generic elbows/tees) for all domestic water. Sanitary and vent use the existing "PVC - DWV" type (you didn't specify DWV material — easy to swap later).
- Placed 8 vertical risers, each running from −2'-0" (Garage trunk elevation) up to L4 roof (36'):
- Bath chase (all on one line, x = −30.58): Sanitary 3" · Vent 3" · CW 1½" · HW 1¼", spaced south→north so branches can enter without crossing.
- Kitchen chase (along y = 9.30, west→east): HW 1¼" · CW 1½" · Vent 3" · Sanitary 3". I ordered them this way so the Garage trunks can run without crossing each other.
- Each riser is tagged in Comments (e.g.
RISER-BATH-SAN) for easy selection.
Next: bathroom branch piping on L1, then repeat for L2–L3.
Step 3 — First bathroom pass on L1 (test run) — found a fitting-clearance problem, re-planning.
6 of 8 L1 bath branches routed cleanly (WC drain + vent, WC CW, shower CW/HW, lav CW/HW). Two failed:
- Shower vent and lav vent: the PVC-DWV 3" sanitary tee at the stack is large — its branch hub reaches ~8" out from the stack centerline. That left no room inside the 6" chase to take the vent off the trap arm in a wall, so the vent would have had to rise in the open bathroom floor.
Fix I'm applying:
- Re-route the shower trap arm under the floor to the chase wall, then into the stack from the south, so the shower vent can rise inside the chase wall.
- Move the lav drain/vent into the west (party) wall so the lav vent rises in-wall, and shift the lav/WC water lines to separate lines in that wall to avoid clashes.
- Create a "PVC - Vent" pipe type (PVC segment, generic tees) for vent stacks and vent branches — compact tees for the tight chase. Drains keep sanitary tees.
Because several committed L1 branches would clash with the revised layout, I'm clearing the test piping and rebuilding risers + L1 from the revised design.
Now the revised L1 bathroom routing.
Step 3 (cont.) — Measured fitting sizes and found the real constraint.
A connectivity check showed several branches committed but with fittings that overlapped and disconnected. I measured the actual fittings in this model:
- Copper tee branch outlet: ~4¾" from centerline · PVC 3" sanitary tee branch: ~8" · generic vent tee branch: ~5½" · 3" PVC bend: ~4½"
- The bath chase is only ~6" wide, so no branch can enter a riser from the side — they must run along the chase's long axis into the riser.
Revised layout:
- Bath risers (S→N along chase): SAN y=4.0 · Vent 6.6 · CW 8.0 · HW 9.1 — branches drop into the chase between risers and run along the axis into each tee.
- Kitchen risers: HW, CW, Vent (on y=9.30) and SAN (on y=9.20). Drains enter the SAN stack from the kitchen side; water and vent branches cross the closet just south of the chase and turn north into their risers.
- Tee spacing on each stack set to clear the fitting bodies (≥ 7–8" on the 3" sanitary stack).
Clearing and rebuilding risers + L1 bath with these dimensions now.
Step 4 — L1 bathroom complete and fully connected. All 8 L1 bath branches routed with zero open connectors:
- WC: 3" drain into SAN stack; 3" vent off the WC drain tee, rising in the chase to the vent stack; 1" CW through the west wall into the CW riser.
- Shower: 1½" trap arm under the floor to the chase, into SAN stack; 1½" vent rising in the chase wall; ½" CW and HW through the corridor wall into the risers.
- Lav: 1¼" drain and vent in the west wall; ½" CW and HW in the west wall into the risers.
- Vent connections to the stack are at 4'-0", 4'-7", 5'-2" AFF (above fixture flood rims).
Two connecting pipe pieces are very short (~3/16") where fittings nearly touch. They're valid and connected.
Repeating on L2 and L3 next.
Step 5 — L2 and L3 bathrooms complete. All 16 branches (8 per level) routed and connected with 0 open connectors; every shower, WC and lav on L1–L3 is now connected to CW/HW/SAN, with vents to the vent stack.
Next: kitchens on L1–L3 (sink CW/HW/drain/vent, dishwasher HW/drain/vent).
Step 6 — Kitchens on L1–L3 complete. 15 branches routed, 0 open connectors. Every sink and dishwasher connector is connected:
- Sink: 1½" drain into the kitchen SAN stack, 1½" vent off the trap arm rising in the corridor wall, ½" CW and HW.
- Dishwasher: 1" drain into the SAN stack, 1" vent rising in the corridor wall, ½" HW.
- Vents cross over to the vent stack at 4'-6" and 5'-0" AFF. Water lines run below the counter and cross the closet just south of the chase.
Issue found before trunks: on L1, the shower's tee on the bath SAN stack sits at −1'-5", only 7" above the −2'-0" trunk. The 3" base elbow plus that tee need about 8". I'll raise the L1 shower trap arm 1" (still below the slab) to make room, then build the garage trunks.
All the requested piping is now in the model, and the connectivity check shows 0 disconnected connectors and 0 pipe-to-pipe clashes (314 pipes, 304 fittings). The model is not saved yet; save it when you've reviewed it.
What's in the model
- Bathrooms, L1–L3: WC, shower and lav each have their copper cold water, copper hot water (shower and lav), a sanitary drain to the bath sanitary stack, and a vent to the bath vent stack.
- Kitchens, L1–L3: the sink has copper cold and hot water; the dishwasher has copper hot water. Both have a drain to the kitchen sanitary stack and a vent to the kitchen vent stack.
- Risers: 8 vertical risers (4 in the bath chase, 4 in the kitchen chase), each running from −2'-0" up to L4 (36'). They're tagged
RISER-BATH-*andRISER-KIT-*in Comments. - Garage trunks: 4 horizontal trunks at −2'-0" (10' above the Garage floor), one each for sanitary, vent, cold water and hot water. Each connects the bath riser base to the kitchen riser base. They're tagged
TRUNK-GARAGE-*and routed so none of them cross. - New types and view: a "Copper - Type L" pipe type for the water lines, a "PVC - Vent" type (PVC with compact generic tees) for vents, and a review view called "3D - Plumbing Risers".
Decisions you should know about
- DWV material: you didn't specify one, so drains use the existing "PVC - DWV" type and vents use the new PVC vent type.
- Sizes are provisional: risers are SAN 3", vent 3", CW 1½", HW 1¼". Branch sizes match the fixture connectors.
- Routing in the chases: the chases are only ~5–6" wide, so branches turn and run along each chase into the risers. Some lines run in the west party wall and the corridor wall, which are 2-hr rated, so they'll need firestopping. Kitchen water and vent lines cross the closet just south of the chase.
- L1 shower drain height: the L1 trap arm sits 2" higher (−1'-2.4") than on L2 and L3. That leaves room for the base elbow above the −2' trunk.
Not modeled yet
- No slope: drains and vents are level.
- Riser tops are open: nothing is at the roof yet (no vents through the roof or caps).
- Trunks don't connect out: they join the riser bases only, with no building sewer or water service.
The simplest next step is to add 1/4"/ft slope to the drains and extend the vent stacks through the roof.
Claude Spreadsheet Summary of Systems Created
I’ve made Plumbing_Systems_Summary.xlsx, which summarizes the four systems: cold water, hot water, sanitary and vent.
Revit stopped responding before I could read the model directly, so I built the workbook from the exact coordinates I used to create every pipe. As a check, it comes to 304 fittings, the same total the model reported. Lengths are centerline lengths, so they run slightly longer than the modeled pipe where fittings take up part of a run.
System | Material | Total length | Branches | Fittings |
Domestic Cold Water | Copper Type L | 178.6 ft | 12 | 69 |
Domestic Hot Water | Copper Type L | 196.7 ft | 12 | 70 |
Sanitary | PVC DWV | 193.7 ft | 15 | 72 |
Vent | PVC Vent | 227.5 ft | 15 | 93 |
Total | 796.5 ft | 54 | 304 |
The workbook has these sheets:
- Summary: the table above, broken into riser, branch and trunk lengths, elbow/tee/reducer counts and sizes used, plus a table of the 15 fixtures and their connection sizes.
- Risers: all 8 risers with location, size, extent, and every branch connection by level and height above floor.
- Branches: all 54 fixture branches, each with fixture, size, which riser it joins, connection height, length and a plain-language route.
- Garage Trunks: the 4 trunks at −2'-0", which riser bases each one connects, and its route.
- Length by Size: footage for each system and pipe size, for takeoff.
- Notes: source, assumptions, and what isn’t modeled yet.
- Pipe Segments and Fittings: the raw data behind all of the above.
The totals are live formulas, so editing a coordinate or size on Pipe Segments updates the summary.