Saturday, July 26, 2008

Are generic REVIT components 2nd Class Citizens?

Often we use generic components as place holders in the early stages of design development. In most cases they have at least some of the same parameters as more defined objects. However, this seems to not be the case with generic ceilings in REVIT.

A client using REVIT MEP to do electrical design ran into an issue where the light fixtures that he was placing in a project were hosting upside down.
Some background into light fixtures and REVIT might be appropriate. There is an issue with REVIT MEP in that light fixtures and other object hosted components will disappear if the host was deleted. Imagine the frustration if you were involved in Electrical design and the Architectural department deleted the ceiling and modeled new without telling you. So, often, families are used that host by face instead. Now the fixture will just hang out in 3D space where the face was located if the ceiling or wall is deleted. Hosting components to ceilings in REVIT can be tricky as it is, due to the way that REVIT handles RCP (reflected ceiling plans.) In short, REVIT treats RCP the way we were taught to draft them; The view you are seeing is as if you are looking at a mirror below the ceiling and what you see is the reflection of the ceiling. That is subtly different than a view that you would see laying on you back looking directly at a ceiling. In this instance it doesn't matter which we are looking at, only that we are looking at the bottom face of the ceiling (for a more in depth and very clear explanation of REVIT RCP click here.) REVIT knows that you are looking at the bottom face of the ceiling so that is where the object is hosted. That solves the disappearing light fixture problem, but creates a new one.

After some investigation it came to light (pun totally intended) that our client was placing their fixtures "by workplane." Which means that instead of selecting the face of a ceiling he selected a named plane (either a refrence plane created just for this or a level within the project) and hosted the fixtures that way. The problem comes from the fact that you don't "see" the reference plane and host the fixture, you select it before hand and place the fixture in space on that plane. REVIT assumes that the "face" of the plane is the upper face. That's why his lights were upside down.

To complicated matters, when I explained this behavior to him and told him he should host to the face of the ceiling in the linked in Architectural model, he had the same problem. The lights were STILL upside down. I'm sure he was thinking; "Way to go, REVIT support!"

So what was causing this problem? Come to find out, the ceilings in the project are "basic-generic." The only parameters they have are what level they are associated with, what the offset from the level is and whether they are room bounding or not. Since their appears to be no geometry other than a plane associated to this type ceiling, it makes sense that they behave the same as a reference plane. And that is exactly what they do.

So after all of this my client has two choices that I can think of (short of placing lights upside down and then flipping them.)

1.) He can get the architectural designer to use ceilings that have "substance."
2.) He can place his own ceiling in the model, host his lights to it and hide it. The only problem with that is; He will have to hide it in each view or create a view template where it is hidden and apply it to each view.

It seems like a problem that Autodesk should look into. It would seem to me that any ceiling in REVIT should host lights in the correct orientation. Generic ceilings have rights too!

No comments: