Have you ever woke up after a bad dream about your project being filled up with tons of levels and you couldn't make heads or tails as to why so many were created? Feel free to post comments of similar dreams :)
Anyway, in my case it wasn't a dream at all. Over the past few weeks I've been slowly coaching some new Reviteers as they work on a good sized project. For most of the team it's their first Revit job, with the exception of a few. They're doing a very nice job so far...modeled the site, walkways, linked two separate projects into a site project, etc. (stadium and arena renovation). But to my horror, there were close to 20 levels with most of them within a few inches of each other, with no logical naming convention. As you can imagine, that makes it really hard to navigate when you're trying to help on an unfamiliar project, and even the team couldn't figure out what each level was for or what was assigned to it.
Obviously this led to a team sit-around-the-PC session and we tried to clean up these levels in the site project first. Here's a list of why having too many levels is a bad thing:
- Underlays don't work as one would expect. Since an underlay shows elements between the chosen level and the one right above it, with levels closely spaced, it becomes hard to get the desired results.
- It is hard to visualize your project and it is next to impossible to correctly constrain geometry when you're constantly guessing which is the right level.
- You'll soon become suicidal at the thought of having to manually hide all the junk levels in each view in your document set, especially when you're also having to adjust all the 2D extents.
Those three points alone should be plenty of good reasons. So now how do we handle the situation once claustrophobia sets in?
- We can create a new workset and uncheck the visible by default in all views option. Now place the junk levels on that workset and they won't show up on views unless you manually make the workset visible. This however does not solve the constraining issues.
- Bite the bullet and clean your project up.
So in this case we opted for 2. The earlier you can do this, the better. Which brings me to a newly formed wish: When I delete a level, I want Revit to ask me whether I want to delete all elements hosted on that level or whether I want to assign them to the nearest level with the appropriate offset so they stay in the same position. Since this is not currently possible (maybe through the API one could build an app. to do this...I'll ask Guy), the process is a little more painful, which is a huge reason to be very careful before going level-happy. Here's what we did:
- In a 3Dview, we set all categories and subcats to be visible. Then we window-selected everything in the 3D view and the handy new filter tool told us how many objects we had in the selection set.
- In a section/elevation view, we picked one level and deleted it. If we visually saw elements disappearing, then we undid immediately. If not, we reselected objects and checked how many elements were selected. Unfortunately, sometimes the Undo function quit working when elements were deleted so we had to start over and began saving after each successful deletion. This is a really annoying Revit trait. The Undo should never stop working!
- This worked for levels that had nothing hosted on them, but how do we figure which elements pertain to a level? We had plenty of levels with around 10-20 hosted objects and wanted to clean them out. So instead we tried a different technique: we raised the level up by 300 feet at a time. This made it easy to see elements constrained to that level, such as walls. Elements that were completely hosted on the elevated level were then moved to another one. Once nothing was referencing the level, we deleted it.
- If views associated with this level existed, Revit told us it was about to delete them, so we canceled and checked these views. We set the view parameter Display Model to NONE and checked if there were any view-specific elements. If there were, we copied them, deleted the view and recreated a new one associated to a different level. Then we pasted these elements in. Once all views were taken care of, the level could be deleted.
- I took a sip of caffeine and moved on to the next...
I can sense that by now you're exhausted reading this. Imagine having to do this for several levels. I'm sure you'll think seriously next time before you copy a level or create a new one! Just keep in mind that levels are "vertical organizational devices". You could build a 100 story tower with one level at the base for example, and set offsets relative to it. Would it be wise to do so? Absolutely not. You want to use levels where it makes sense, such as where floor to floor heights might change. This will help you manage those changes easily later on by simply moving a level instead of having to deal with multiple object offsets.