Wednesday, April 15, 2009

Revit MEP (Plumbing) Piping Flow: another second class citizen

Warning: What follows is a rant fest filled with WAY more information about MY ideas of how both plumbing design and Revit MEP work. Any deviation from reality on either subject can wholly be attributed to a 14 month old daughter, a pregnant wife and a looming Revit configuration deadline. Please excuse my definite lack of plumbing design knowledge. See one, do one, teach one, I always say.

Revit MEP is ALL about propagating information throughout the model.

Spaces can be assigned a required Air Flow value.
Air Terminals know what space they are in.
Spaces know how much Air Flow is coming from the Air Terminals it contains.
Duct connected to an air terminal knows how much air is flowing through it (based on what the terminal is providing to the room.)
Variable Speed Fans (VSF) know the SUM of the flow from all the terminals connected to it downstream (Revit is doing the math on the fly.)
And so on and so forth all the way back to the Roof Top Unit (RTU) that SUMS all the VSF (and therefore all the terminals) that are connected to it.

We can tag and schedule this information fairly easily. And, it's used in sizing calculations.

Sounds keen.

Enter Plumbing pipe systems. (Cue ominous musical score.)

On the surface they work similarly to HVAC duct systems. But any plumbing designer will tell you (you have to listen closely they probably won't repeat it) that flow through a plumbing systems is different than duct systems. It's even different than flow through hydronic, or process systems.

The difference is DIVERSITY. No we're not talking about multiculturalism. Simply put, a system that contains 1 watercloset (WC) (that's toilet to the rest of us) has a 100% chance that all WC will be flushed at exactly the same time. Therefore the system is designed to accommodate the flow of that WC. A system with 100 WC has about a 0% chance that ALL will be flushed at the same time (aside from High School pranks.) Plumbing designers use a diversity factor along with Fixture Units (FU) to determine the most likely (design) flow in their systems. FU are assigned to fixtures (WC, sinks, etc) by Authorities Having Jurisdiction (AHJ(why is it always a TLA(Three Letter Acronym?))) so they can vary by locale. In short the designer totals the FU on a system and applies the diversity factor (which they get from a table) for the number of actual fixtures and that tells them the flow they need and therefore the pipe size. Whew! (Did I really have a 3rd level parenthetical statement back at AHJ?)

Why does all this matter? Well, for one, Revit doesn't get to look at that diversity factor table when it's computing flow. I can't even imagine the math used to derive flow from FU without it. All in all Revit does a darn good job of computing that flow and reporting it out to us. Connect a bunch of sinks to a pipe that connects to a water heater and the pipes will total the FU (and the resultant flow) from however many it is actually connected to.

Now the rub. The pipe that connects to the equipment (water heater) reports it's FU and flow fine, but NEITHER THE FU OR THE FLOW propagates to the equipment. You can create family or shared parameters based on both FU and flow. However, when mapped to the same parameters on the family's connectors (similar to how you cause Air Flow to propagate through VSF) you receive NO report. And, it will not propagate upstream.

At least I can't get it to work (and I tried every combination of connector settings related to those two parameters.) After talking with an Autodesk rep, it came to my attention that Revit MEP wasn't designed to pass flow through equipment in plumbing systems (where flow is calculated from FU.) So that means, I can't schedule equipment (like water heaters or softeners) and have the schedule show the actual flow demand on the unit (based on the system it is connected to.)

A bug? Unforeseen functionality need? I think it's just that the Revit code jockeys took it the wrong way when they were told to work on the FU systems...

BTW, this has been logged as a functionality request to the development team. Here's to making plumbing flow as useful as it's first class cousins Air Flow and (hydronic) piping flow. :)

Friday, April 3, 2009

Trouble finding hidden elements in Revit? Use; Select by ID

This handy feature can really save you when you are trying to figure out what objects are causing issues in your project.


The other day I was trying to resolve some warnings related to switching a wall from one type to another that was not as wide in section. I wish that I had taken a screen shot of the warnings... there were 18 warnings (cannot be ignored) and 9 errors (Revit telling you that you should pay attention and see if what you just did was really what you meant to do.)
The project was fairly far along (actually CDs have been issued, but there is some clean up going on in the model.) Swapping walls at this stage can cause all sorts of issues.
In this case all of the warnings and errors were related to a ceiling. I created a new section and oriented a duplicated 3D view to it so that it encompassed the wall in question. I selected the ceiling in the warning tree and clicked the "Show" button but it wouldn't highlight in the view.
So, I wrote down the ID number (you can't copy/paste here, so you have to go old school.)

(I guess you could screen capture like I just did to get this image though.)
Now, go to "Tools" Drop-down menu>Element IDs>Select by ID
Enter the # into the dialog and now you can either use the "Show" button to highlight the element, or the "Select" button to grab the item and modify or delete it.
If you are trying to scout something that is deeply hidden in the model:
Duplicate the Default 3D view
Use the Select by ID feature
Use the "Isolate Element" command (click the eyeglasses) to hide everything else in the project.

Now you can activate the Scope Box for this view and crop out most of the model to get a better idea of where the elemnt is and what may be causing your issue.
Good Luck and Good Hunting.