Thursday, August 20, 2009

Revit Content - What is Interference?

For the most part Revit will help you find when various elements interfere with each other. A window that gets bumped into by a perpendicular wall will generate a warning. A wall that overlaps another will too. A desk copied on top of another will but only if it is in the exact same location.



There are instances that do not generate warnings at all. The same window that complained about a wall won't complain if another window overlaps it. Then there is a door that doesn't mind something encroaching on the swing area or the accessibility requirements. Put a desk so that it crosses into the swing area and use Interference Check between doors and furniture and you'll find no interference reported. Is Revit blind? In a way yes!



A typical door family doesn't have a real element representing the swing or panel in a plan view, it is just symbolic lines. Therefore no interference. The only solid geometry in most door families is the panel and glass which is usually confined to the extents of the wall interior and exterior faces. That desk will need to cross into that space to be a conflict.

Is all of the content for Revit missing this intelligence. Yes, nearly all of it. Why? Because except for a few instances this intelligence isn't so simple. The clearance requirements for content becomes highly specific very quickly. Even more specific when you start examining MEP equipment. Even doors that have seemingly simple push/pull clearance requirements have subtle exceptions depending upon where in the world the door is installed and the relevant code(s). Thus far the content we use ignores this issue for the most part.

The next step is for content to begin to address these design considerations and that's how content becomes more powerful and relevant. More powerful when it not only helps us model and document a design but it begins to make sure that our decisions will meet codes and design best practices. Does your content help your firm in this way? If it does then bravo, if it doesn't it could. How?

One way is to include solid geometry that represents the clearance requirements for the element. This means defining a boundary, usually parametric too, that will represent whatever clearance/interference issues a family might have. This could be a bounding box surrounding the entire element or a box defining an access door's swing clearance for maintenance.

Incidentally, with Naviswork's Clash Detective it is possible to test for Hard and Soft clashes and even define a clearance value that can be applied during a test. Revit lacks this subtlety so a family needs to provide something for it to use. That something is solid geometry.


Practically speaking this means more in each family. This extra solid will also have to be managed otherwise you'll be seeing a lot of boxes in your views.

Autodesk could help us by defining a new sub-category for all elements called Clearance or similar. This would mean that Revit could then learn how to detect a user defined clearance sub-category element and even have a default visibility behavior or setting allowing us to flip a switch to show or hide clearances. Until such time we have to do it by adding it ourselves and ensuring these solids are properly assigned and done consistently for our content.

Keep in mind that the obvious way to manage visibility by using Detail Level won't help us for now. Why? Detail Level doesn't work with Interference Checking, the solid has to be "visible". If you assign the clearance solid to use a specific Detail Level the Interference Check tool fails to see the solid at all even if you change the view to the correct detail level.

Bottom line, can't use Detail Level to manage the visibility of clearance solids. You must use sub-categories or Yes/No parameters. Using sub-categories is a broader brush solution while Yes/No is more involved because you have to manage them at the family level. When you use these methods you can turn off the visibility of a clearance solid and the Interference Check tool will still find them.

Just when you thought your content was great you find out there is something else you could do to make them even better! A toast to making content better still!

13 comments:

Robert said...

We've debated about doing something like this for doors, and toilet rooms fixtures and accessories. However what we always come back to is the problem you outlined, codes and requirements vary within the US, and across the world. While the behavior can be made parametric and flexible, the fear is that a user (cause we have alot of them) will at some point assume that "it" has been set correctly for their particular AHJ, then we're in an even bigger mess!!! In addition to a hard coded category or subcategory (similar to Hidden Lines), it would be handy if there were a way to identify the relevant code/requirements that are in force, and link "clearance" behaviors to that particular definition.

Danny P. said...

"You must use sub-categories or Yes/No parameters... Yes/No is more involved because you have to manage them at the family level."

So, sounds like this post, combined with your last post on AutoParameter could save you some time. Heck, with the API you could even manage the local code 'definitions' as well by putting the values in the family parameters.

Travis said...

Ironic, because the next thing that I was going to tackle on our pilot project were ADA clearances and FHA clearances.

Dave Baldacchino said...

Steve, you don't really need to use sub-categories. You can build solid geometry and set it to not be visible in the family editor (unchecking the Visible parameter) and the Interference Check still finds it.

Steve said...

True if you never want to see it.

DoTheBIM said...

Interesting idea. But the Revit logic you show on detail level baffles me. According to your comment that detail level won't work means that Interference checker is relavent to view settings, which make no sense at all to me. I tried it and I can completely turn off all visiblity in all detail levels and I still get an interference. Maybe I didn't follow correctly. Can you elaborate a bit more on that?

Steve said...

If you change the solid that represents the interference volume to disallow a specific detail level, for example Coarse and Medium, it won't be detected by Interference Check.

DoTheBIM said...

http://screencast.com/t/9kcmKUBo9O
What am I doing different?

Steve said...

I've posted a video in response:

http://www.screencast.com/t/jKJC7RyqtQzl

DoTheBIM said...

Link not working for me.

Steve said...

Yeah...I've pulled it till I figure out what it doesn't like.

Steve said...

Try it in a door family, add a solid. Assign the solid to use one or two Detail Levels and try the Interference Check again.

DoTheBIM said...

Ahhh... I see it now... That's messed up. If the solids both have coarse visibility turned on then it works... as soon as one solid is not visible in coarse the interference check fails. Also I was using generic models and it seems fine. and using non hosted door families it seems fine. This has got to be a bug. Or yet another non-logical limitation of Revit like why you can't schedule unconnected heights of walls.