Jun 2, 2013
The last few months have been busy with work and alas I have not gotten a chance to revisit my Revit classical architecture project in a while. This morning however, I found a blog post in my feed from Revit Swat that had a great tip. I enjoy this blog because not only are there some very useful tips, but the site is very nicely designed. Everything just feels clean and crisp and has that “new blog smell…” (well, I am kidding about the smell thing, but if it did have a smell it would smell like my new car.
Anyhow, the latest post deals with scaling families in Revit. This is naturally a topic that I have spent a good deal of time on and so I was pretty interested to read it. Well, I was not disappointed. The tip is on scaling families and I decided to see if it would work on my Corinthian column family. What a cool tip! It turns out, that the “Planting” family template is scalable. Now I must admit, I never stumbled across this little tidbit because I have not had the opportunity to create any planting families. However, it just goes to show that there are little gems lurking in all the dusty corners of Revit. For some time now I have been planning to create a family from EVERY provided template to put them all through their paces… Guess it is time to move that little pet project further up on the priority list, above or below finishing the classical families project… hmmm, now there is a tough one… But again I digress.
So, with a planting family, you get a built-in “Height” parameter. This is a type parameter and it controls the “height” of the planting element. However, it does more than that. When you flex it, it will scale the entire family proportionally based on the height value. So, the tip over at Revit Swat was to simply nest in your component family into a Planting template and voila! You have a scalable family. Now it became a little convoluted as you have to “double” nest to get it to work, but the advantage of doing the double nest is you can “bury” the planting category. This is because the top level family can be whatever category you need. Just make sure that the nested families are NOT shared. This will effectively hide the planting category deep inside the nesting and allow you to drive the nested family’s size with the nested family’s planting height parameter.
So it looks like this:
Base Planting Family containing your geometry or a nested family of your geometry.
–> Nest this into –>
Another Planting Family (Just place an instance of the first one. This one controls the scale)
–> Nest this into –>
A final Family of the desired category. This family has a parameter driving the nested planting family’s Height parameter.
In the Planting family, the parameter cannot be renamed. It must be called Height. But your final family can use any name you like for the driving parameter. Furthermore, since the nested families are NOT shared, you can drive the Planting family’s type-based Height parameter with an instance parameter in the top level family if you like. Here is a simple illustration of the nesting:
Here is a link to the file.
A few things to note:
Now more than ever, seeing that this feature exists for at least one family template, I can’t help but wonder why we can’t have this option for more of them (or all of them). Heck, just make it a checkbox in the properties so we can toggle it on and off when needed. When I first started my classical project several years ago, I noticed that if you edit the properties of a nested CAD import that it had a scale value. I was really bothered that this was not available for native family geometry. This is kind of what started the whole project for me. I did not want to have to export my native geometry to CAD and import it back in to be able to scale it. So I have been researching and developing ways to scale native Revit geometry ever since. Well, now we have one more option. I am not wild about having to double-nest Planting families, but this is not too bad considering that we can set the top level family to anything we need. So it is not a bad trade-off. But Autodesk, if you are reading, please consider adding the scaling toggle switch for ALL family categories. (or at least more of them).
One last thing, my Corinthian capital is an Adaptive component. Since you cannot nest adaptive families into traditional families, you have to keep all the families either adaptive or not. However, an adaptive family CAN be changed to Planting, so the technique still works.
Very cool tip. Be sure to check out Revit Swat. And thanks!