Breaking the Rules
Late with my article. Again. Luckily this isn't my first article so I suspect the editors know by now to give me an earlier deadline so I have some time left past curfew.
It's not that I didn't start this article in time. It's probably the one I worked on the longest. I began working on the first draft three weeks ago, but I got stuck. Failed to make my point, no matter how hard I tried. And as my wife so eloquently pointed out just now, in that case it's probably just a dumb point anyway. As always she is right, so I'm starting over. Already 36 hours past my deadline and the clock is ticking. Let’s do this.
I was going to discuss customizing Autodesk® Revit® through standardizing your information structure. And, as I read this, I understand this is really, really boring material. So I guess you all should thank my wife for saving you the burden of having to read all of that, especially since we established the fact that there was not going to be a real point in the entire article, which would have left you all feeling kind of violated.
My wife loves roses, by the way. Email me if you think this article turned out to be a huge improvement and I'll send you the details of the flower delivery service I often use after she saves my butt. Come to think of it, I'll probably send her some myself, because now I can get off my high horse and talk about the first add-on that I’ve gotten excited about since Whitefeet Tools...
I have talked about why I chose Revit as my primary tool in BIM a lot. Also told a lot of people that it's not the best design tool, nor is it the best analytics tool. And don't get me started on user friendliness. But it does one thing way better than anything else I've come across: manipulating the information in your model. That is what BIM is all about, in my humble opinion.
But it has some dumb limitations. Don't know why, and I certainly don't know why the Factory refuses to lift them. But I'll give you some examples:
1. Hosted objects know their Host, but they won't tell you.
Every door, window, or any other kind of hosted object you place knows which host it's on. But it is not capable of telling you in the Revit schedule. This is a huge limitation, because if I place a door in a fire rated wall, it should know—and be fire rated, too. Can't do that. So now I have to jump through hoops, create separate views with view filters that light up fire rated walls, and then manually match the door fire rating to the wall it's in.
Figure 1: No link between Host and Hosted Object properties
2. Some objects know which room/space they are in, but not all of its properties.
This one really ticks me off. Now you're just playing with my private parts, Factory guys. I know it's there, I can see nine out of ten properties, but not the one I want. Really??
Try this: Create an Air Terminal Schedule. Get the room area in that schedule. You can get all kinds of room properties, but not the area. You can have your (custom) required air flow per square foot (or, in the civilized world, square meter). But not the room area. So you can't check whether you have enough ventilation units installed.
Figure 2: AAAAAARGHHHH!
This list can go on and on, but let’s keep it at this and leave the rest to your imagination. I am going to spend the rest of this article telling you about the solution.
A Worthy Successor
One of my all-time favorite tools for Revit is Whitefeet, a simple, yet extremely powerful database manipulation tool. It has some basic features to copy parameter values between objects with a relational connection. Of course, the interface was crooked, and the possibilities for automated sequencing limited. But still, it was the only tool capable of anything like this. This tool has long been without it’s equal. Until now…
A few months ago I came across a tool called the BIMiTs Content Admin Kit. This tool, still in an early development stage, was created by Belgian Autodesk reseller called i-Theses. They were actually questioning continuous development of it because they didn’t see an immediate use case. Let that be a lesson to us all to keep talking to developers.
What Does it Do?
The Content Admin Kit has several tools: a (Shared) Parameter manager, Family Category updater and, most important, the Calculated Parameter manager. The Calculated Parameter manager allows the user to set up a sequence of rules. These rules can simply copy parameter values from one component to another, related component. But they also work with Boolean expressions and conditional statements.
Figure 3: Calculated Parameter manager
Figure 4: Content Admin Kit main functions
Rules can be applied in a few different ways:
- To all elements of the applicable category in the entire model;
- To all elements of the applicable category in the current active model view;
- To all elements of the applicable category with a certain parameter value;
- To all elements of the applicable category in a certain selection set.
Let’s see how this works using some real-life examples.
Example 1: Combining Text Parameters
One of my biggest wish list features is combining text parameters. If only we could combine mark and model values into a single identification value, and then add the room number to easily identify where components are placed. Extremely useful in large projects, especially when going into construction phase.
For this example we will be combining room number, mark value, and model number into a single parameter. In the old days, our schedule would look like this:
Figure 5: Old school schedule that needs manual input for the Element ID parameters
Now this can be done using software such as Ideate BIMLink, i-Theses Datalink, or any other Excel import/export tool. Problem with that workflow is that you need to export to Excel, apply formulas to fill out the project parameters, and then re-import into Revit. To me, that’s just too much of a hassle. Now, there’s an easier approach, without the need to “go external.”
To do this we need to define a rule that copies the Model, Mark, and Room:Number parameter into the Element ID as shown in Figure 6. We’re also adding “_” as separators. Then it’s simply a matter of hitting “OK” and the tool will perform the required actions.
Figure 6: Combining Mark, Model, and Room:Number into a single parameter
Example 2: Copying Host Properties into Hosted Objects
Another frustration is the fact that hosted objects cannot respond to parameter values (and changes in those values). In this simple example we will be copying the fire rating parameter values from walls to the doors in the walls. This can be done with a fairly simple rule, as shown in Figure 7.
Figure 7: Copying Fire Rating parameter value from Host Wall into Door
Some Administrative Points
The samples above are fairly simple. The Content Admin Kit allows you to create complex sequences of parameter calculations, copying parameter values from hosts to hosted objects, and back again.
However, this does mean your parameter naming conventions have to be pretty strict. Screwing up (either through your own mistake, some manufacturer content, or a project partner messing up) can have some serious implications.
The tools have another great feature: You can create sets of rules that can be exported and imported as desired, which means you can create Rulesets that you save externally and distribute throughout your company. Also, the Rulesets exported and imported back in will fold together so your list of Rules retains a manageable size.
- At this point the tool is basically in its first commercially available version. It has some flaws:
- You cannot exclude elements from the rules. In the case of my test file, two Plumbing Fixtures that represented Exterior Tankworks kept giving errors from Example 1, simply because they didn’t have a room they were residing in.
- The Errors/Warnings screen doesn’t refresh, but gets built with every test run (Figure 8).
- It’s not possible to select the elements that are creating warnings from the Errors and Warning screen. This might be frustrating when running large projects.
- There should be a button to test the sequence without closing the interface.
Figure 8: The Errors and Warnings screen gets rebuilt every time
And there are still some features missing. But all in all, this tool really gets me excited. If you want more information, contact the reseller i-Theses, or come to RTC Europe. I will be showing more advanced samples in my class there.
To download a trial version, look here: http://goo.gl/LsFDWL (it’s part of the BIMiTs Extensions package).
For more information about functionality and use cases look here: http://goo.gl/9fzOzX.