In this series of posts I am going to cover a few “other” ways utilizing in place masses in Revit projects. Not necessarily in the traditional sense of using them like driving the “by-face” creation of the building elements (floors, walls etc) or modeling geometry that is more complex than the project elements can handle, but using masses as utilities elements or helpers for your project development. I will cover at least two examples showing how masses helped me out in my day-to-day Revit work to resolve certain things in Revit project environment. I’m going to have at least one API and one non-API example. So, hopefully based on these examples you could come up with some other creative use for Revit in place masses that will save you either lots of tedious work or additional coding time.

Ok, the first example is a non-API one. Basically the problem that I ran into is that the apartment building that I’m working on has funky balconies that are wave – like and thus are different on each floor. The slab profiles are driven by 3d mass which consists of two extruded boxes that define the “skin” boundary and a bunch of “curved” wave – like shapes that drive the location and the profiles for the balconies. The slabs are defined “by – face” so when we change the mass the slabs update to their host mass floor. Take a look at the picture below to get the idea.

In Place Masses as Utility Elements
slab driving in-place mass


So, basically adjusting the balconies after each change in the apartment layouts becomes a free – form exercise, however we still need to comply with certain rules like the Min/Max depth of the balconies (we have ours at 4-6 feet). That is exactly when utility masses will come in handy because when you manually editing the profiles of these shapes it is hard to tell whether you satisfied the Min/Max depth requirements.
In Place Masses as Utility Elements
offset parameter from the face of the shell

The graphical workaround for that is to create an in-place mass that corresponds with the shell of the building (in my sample case it is just two rectangular boxes) and drive the location of the ref lines that generate profile for the extrusion with an instance offset parameter.

In Place Masses as Utility Elements
Left: Max offset (6ft)  Right: Min offset (4ft)

Also create an instance parameter for material of the extrusions and link the material of the boxes to it. Then you can create an exactly same in-place mass so you have two of them in your project – one will show the Min boundary for the balconies and another will be your Max boundary. Create 2 materials of different colors and set their transparency to 50%. Now assign one of them to the instance parameter of your “Min” mass and another one to the “Max” mass. Lastly set the offset instance parameter of Min mass to 4ft and Max mass to 6 ft – and that is about it.

Now when you do your free-form editing in the in-place mass that drives your building geometry (shape of slabs in my case) you just need to keep these two masses visible and you will always see the extent of your constrains projected on your building elements (mass floors or slabs in my case) so you can do all your editing in 3d view and not have to measure anything.

In Place Masses as Utility Elements
Free form mass profile editing. Notice that you can clearly see the boundaries of our 4′ and 6′ constrains
The great part of it is that since your utility masses are properly constrained and parameterized you won’t have to worry about editing them no more other than maybe changing the offset parameters’ values if your project constrains change.
This is a very specific example and chances are that you might not have to ever deal with this particular problem in your life. But, the only reason why I brought it up is to show that masses in project environment can be used not only as what their main application was intended to be like driving project geometry etc, but also as helpers/utility objects for all kinds of purposes due to the fact that you can parameterize the heck out of them…
Tagged with →  
Share →

Leave a Reply

Your email address will not be published. Required fields are marked *