Monday, March 30, 2009

Volume Frenzy

In my last post I made mention to some behavior I ran across when scheduling volumes. The reported figures varied when scheduling Volume or Material: Volume, so I set out to study Revit’s logic. Note that Material: Volume is available in a Material Take-Off schedule, which is the schedule type used for these tests.

To understand the behavior, I ran 3 scenarios by creating a simple family made up of a 1’x1’x10’ solid and then scheduled it. Here are the first set of findings based on the solid’s LOD (Level of Detail):

Scenario 1

Next I added a 1’x1’x1’ “control” solid to further understand how these two volume parameters look at solids in families. This control solid was set to Fine only for now (in the same family).

Scenario 2

Lastly, I set the control solid to both Coarse and Fine.

Scenario 3

As you can see, these values vary depending on the LOD of solids within your families. So you have to be very careful how you build them if you intend to use them for quantity take-offs. I guess you can now understand why I used the word “Frenzy” in the post title ;)

I personally think this logic is a little crazy, but I’ll be eager to read your comments. At least now you have an in-depth study of Revit’s “logic”. Now on to a summary in words:

  1. For an object to schedule in a Material Takeoff Schedule, there HAS to be a solid set to Fine detail. A regular schedule doesn’t have this requirement.
  2. Material: Volume reads the Total of Fine solids.
  3. Volume reads the Total of Fine solids if no Coarse and or/Medium solids exist. Otherwise, it first reports the Total of Coarse solids and if there are none, it reports the Total of Medium solids.
  4. There's no clear cut winner of which is the most reliable parameter. My suggestion? If you want to schedule the volume of particular solids, make sure to set their LOD to Fine and then use Material: Volume. Why? Because it has less obtuse rules!

So I ask myself: instead of these “fuzzy” rules, why not have parameters built into each family template which we would use to control what and how volume is scheduled?

PS: Thanks to Daniel for the extensive brainstorming ;)


Share/Save/Bookmark

Tuesday, March 24, 2009

Scheduling the Unschedulable

The more we venture into BIM (taking real advantage of our Revit models), the more this subject is starting to tick me off. You’ve been warned!

Let’s take a look at what caused this “rant”.

FamCatParam

Here you can see the family parameter “Structural Material Type”. I want to use this really bad because I’m doing quantity take-off schedules for all elements, which include structural framing elements residing in a linked file. So I want to create a framing schedule for steel and another for concrete. The reason is that I want to find the total weight of each material in the job and as you know, concrete and steel have different densities.

So to calculate this, one can create a calculated parameter in the schedule and voila. I would prefer to expose the density used in the schedule (so everyone can see it. I don’t like to bury assumed values in formulas if possible). However since the families reside in a linked file, you cannot add this information to your project via a project parameter, so you can only have one formula with a fixed value (one density value). So the only way to do this is to create schedules for framing members with different densities. I know, I can get into the linked file, but that’s beside the point.

Unfortunately, you cannot schedule the above highlighted parameter, which would typically raise the question, then why the %^&**&?!!@? do we have it? How can I filter views/schedules of my insanely intelligent model? I cannot even filter by family name or type either!

This is only one little thing I came across and is very irritating. I found more issues when calculating volumes, but that will be another very lengthy post, so stay tuned.


Share/Save/Bookmark

Thursday, March 19, 2009

Schedule Discrimination

Here’s what I’m trying to do:

  1. I have multiple “Parts” built as shared families (Specialty Equipment);
  2. Then I’m building multiple Assemblies (also Specialty Equipment) made up of nested families from (1);
  3. I want to create a schedule for Assemblies and another for Parts.

There’s no direct way to do this. So I decided to add a Yes/No shared parameter to the Assembly families and filter the schedules for it. You don’t even need to worry about the value and just filter for it’s existence. Now I can easily build the Assembly schedule by filtering for parameter exists.

Schedule Discrimination

Notice how every filter option has an opposite (equals, does not equal, etc.), with the exception of parameter exists. Because of that, I cannot really filter for it’s non existence, which is forcing me to care about the value of the parameter instead. I deem that as discrimination!

So the solution is to check the parameter in the Assembly families and filter for equals “Yes” instead. The schedule will then grab all Assembly families. For the Parts schedule, set the filter to does not equal “Yes” (no need to add the parameter to the parts families).

Schedules


Share/Save/Bookmark

Monday, March 16, 2009

Houston Revit User Group

This Month's Topic : Construction Administration and Revit.

Wednesday, March 25th, 2009

6:00pm - 7:30pm

This month's meeting will be held at the Gensler office at 711 Louisiana St, 4th Floor.

Please RSVP no later than NOON on Tuesday, March 24, if you plan to attend, so we can put your name on the security list for the building.

Entry into Pennzoil Place is available off Louisiana St after 6:00pm, but your name must be on the security list to gain entry into the building. Several downtown garages are available for parking.

We welcome change of scenery! If you would like to host a future meeting, please send an email to hrug@gensler.com


Share/Save/Bookmark

Thursday, March 12, 2009

Rooms

In Architecture, one of the most important parts of the whole process is to decide what to build. In the US, we call it “Programming”. In Europe, we call it “Briefing”. And I’m sure in some other region around the world it’s called something else!

Essentially this is a process by which we ask questions about the spaces we’re designing for. Questions such as, “what size”, “what finishes”, “what height”, “what equipment”…once we have this information, then and only then can we design something. We can later assess and gauge whether we did a good job by ensuring that at least we met these agreed upon requirements.

Arguably, the most important “what” question is about size: the “Program Area” or “Target Area” of a room. Why isn’t this a built-in parameter in Revit rooms? This is becoming increasingly frustrating as we start looking at API tools to enhance our workflow. For example in the SDK, there is a handy “Room Schedule” tool (thanks for pointing this out Guy!) and the example Excel file has a column for “Room Area”. This example is “flawed” if you ask me, because that column should be called “Target Area”. It’s not “Room Area” until the room is placed in an enclosure This API tool can create Revit Rooms from an Excel workbook and can also update the workbook from the Revit Room data.

Assuming the column was called “Target Area”, the only way to really populate that parameter in a project is to add it beforehand to your project/template file as a Project or a Shared parameter and customize your code to write to it. But WHY NOT have it already built-in? The act of programming is central to Architecture, and the information collected during this process should be easy to record in our B I M. It should not require additional custom parameters. Because of this, we cannot exploit the full potential of this SDK tool as it needs further customization to have it copy the “Target Area” column to our version of “Program Area” in a project.

Another example where we have to deal with this same issue is when using Trelligence Affinity with Revit. Even in this case we have to customize our installs to map to the correct Program Area parameter. These are totally unnecessary pains that both 3rd party software developers and us working in this field have to endure. We’d all rather direct our energy to more important parts of our respective projects instead!


Share/Save/Bookmark

Friday, March 6, 2009

Text Notes

So in Jumpy Text, we looked at a technique that we can employ to alleviate the well known deficiencies of text in Revit. Now you know how to use Key Schedules for this purpose, but I wanted to take this a little step further after a great tip I learned from a discussion with my good friend Daniel Hurtubise of RevitIt.

I mentioned the problem of the schedule title being the same as the name of the key schedule in the Project Browser (PB). So if you prefix the names to group them nicely in the PB, you’ll have a problem with your title. To get around this, we can disable the title and group the headings. Then we can type in our new “title” in this new space, independently of the name!

The problem though is that for notes on documents, we don’t need the headings, so this solution wouldn’t be very clean as we don’t want to see the parameter names and if we turn them off, so does the new group “title”. However Revit lets us edit these names and to my surprise (and here comes my little contribution), it lets us make them blank! So by unchecking the option Blank row before data, we can still end up with a separate title, a blank row and our text notes indented with a number for each paragraph, as you can see below (click to see larger animation). This is without a doubt a better solution than typing text for the title. Enjoy!

KeySchedTrick


Share/Save/Bookmark

Thursday, March 5, 2009

New blog worth noting

The number of Revit and BIM blogs out there keeps proliferating. I don’t announce every new one I come across, but I think this one is worth noting.

Inside the Factory

Inside the Factory is a new blog by “factory workers” Tom Vollaro, Lilli Smith and Erik Egbertson. It should give us an inside look at how the entire Revit user experience is designed, implemented and documented. I look forward to following it as it promises to be interesting!

Make sure to keep an eye on my Revit & BIM Reading Essentials blog roll on the sidebar and the list of links below it, which I keep religiously updated :)


Share/Save/Bookmark

Sunday, March 1, 2009

Jumpy Text

This is one of the most annoying behaviors in Revit. I can’t believe that we’ll have to deal with it for at least another year. Pretty sad.

We need text, don’t we? Unfortunately creating project notes in Revit is a frustrating endeavor. Text re-formats itself depending on the zoom factor, which is totally insane if you ask me. Take a look at this animated gif.

Jumpy Text

So how do we deal with this issue? You could link in a dwg that contains your text, but this can potentially result in more headaches as mtext boxes are sometimes ignored by Revit. And honestly, I want to stop using DWG files altogether. Another huge limitation is the inability to indent text so you can number each paragraph and be able to adjust the column width of your text without resulting in a formatting do-over.

Back at AU2007, I learned a tip which I’ll be employing from now on. I feel really dirty using it, but there’s no other solution I can think of. I’m not sure where it originated but I learned about it through a hallway chat with the “Rock-n-Roll Architect”, aka Steven Shell. If you know who contributed it, please post a comment. Here it goes…

Create a Key Schedule for a category that you never use. No, the Roads category is not available ;) In this example I chose the Sprinklers category but you’re free to pick anything you want.

New Schedule

Notice the Name field. That’s the name of your key schedule in the project browser, and will also be your Title when you drag this onto a sheet. It’s not necessary to change it in this dialog since you can rename it later in the Project Browser. I named my example “GENERAL NOTES”. Next, type in a Key name and click OK, which leads us to the Fields tab.

Schedule properties

Add a new parameter to house your text notes; I used “MyText”. In the Sorting/Grouping tab, sorting will be set by default to the Key Name, which is exactly what we want. This will contain the numbering of each paragraph. To finish up, set your appearance preferences. In my case, I wanted a wide outline and turned off the option to Show Headers as we don’t really need them. Once you click OK, you’ll be in schedule editing mode which will just show the title (If you choose to not have a title, you’ll get a blank page). The next step is to add rows to your key schedule. Let’s use Revit’s new interface to illustrate (click animated gif for larger view).

KeySchedule

Now you just drag this onto a sheet and make final adjustments there. This should eliminate the problem of Jumpy Text. A couple of issues that you’ll face are the fact that you don’t have Project Browser sorting/grouping capabilities and that you cannot use the same schedule name twice, so you’ll have to get creative. One option is to have these key schedules named with a prefix so they’ll be grouped together in the Project Browser and separate from “real” key schedules (ex: txt_Roof General Notes). Then you would turn off the Title and just type in text directly on your sheet as seen below.

PS: Autodesk, PLEASE, this needs fixed. Seriously.

OnSheet


Share/Save/Bookmark