Archive for March, 2011


SARUG March 2011 Meeting

March 28, 2011

Post Meeting Follow-up:

Much thanks to JSR for hosting our March meeting and to Steve our Co-Chair for the munchies.

This was one of our more lively meetings with lots of conversation on JSR’s operational and procedural issues surrounding a collaborative project utilizing both Revit and Non-Revit capable consultants.  As with any new venture into a new technical realm you can start to feel like Wile Coyote in a mine field, constantly blowing yourself up. Add to that the size, scope and complexity of the healthcare project they collaborated on and you can imagine the hurdles they had to overcome.  It does sound like there were some good lessons learned and no shyness about sharing those experiences.  It took some time to get everyone settled down and back into the presentation mode.  

So Jake & I proceeded to go technical on everyone with self-calculating schedules driven by outrageously long conditional statements topped off by Jake’s nested door family (very nice).  So if that didn’t scare the begezus out of you or go right over your head then you may have an aptitude for being a Revit Techie.  It does however speak to the depth of capability within Revit that in many cases lies untapped.  This can be a productivity gold mine for those willing to implement it and can lead to substantial improvements in quality control and document production efficiency.

Unfortunately the recordings of these presentations were very poor and we lost the audio on Jake’s presentations, for some of you this may be of no great loss, but I’m talking with Jake about re-recording these sessions for our Livestream Channel (in studio) now that I’ve done some troubleshooting on the settings and arrived at a combination that should vastly improve the quality.  I’ll let you know as soon as these go up on the channel.

Steve is coordinating our April meeting with Carmen at Pima College and he is also talking with Shannon at CADsoft about a Revit 2012 New Features presentation.  I’m also considering showing how to build some controls into your detail components to expand their usability for a future meeting.

More to come.
Original Meeting Notice

Our March meeting is scheduled for tomorrow (March 29th) at JSR.
   Time: 5:30 – 8:00 pm
   Location: Johnson, Smitthipong, Rosamond Assoc Inc.
                     4067 E. Grant, Tucson
                     Suite 203

Presentations will cover the following: 

  1. JSR will present on their collaborative process to date. 
  2. Jake will cover his multiple nesting technique for the Designed by Many shade competition.
  3. I’ll cover the automation techniques I set up for Rick Joy’s Revit template as it pertains to doing an electrical plan.
  4. Jake & I will cover techniques for constructing a 2D furniture family that can be viewed in 5 orthographic directions.

 Some interesting stats:

 Our blog traffic is steadily increasing. 

Our SARUG Discussion Group on Linked in is up to 75 members and the Integrated Project Delivery Discussion Group I started on Linkedin is approaching 500 members.


Steve is working with Carmen to have one of our meetings at Pima College.  The format will include presentations by her students of their Revit projects in order to engage our members in a dialog on Revit techniques and processes.

We would like to invite CADsoft to give a presentation on Revit 2012 features. 

If you have any particular subjects you would like to cover or present on please let us know so we can get it on the meeting agenda.

As always bring your Revit inquiries and we will try and help you work a solution. 


Steve, Jake, Neada (one of our new members) and I are continuing to work with the Architecture College’s ARC 441 construction documents class assisting them with technical support for assembling CD’s as well as working with Revit. This class is being moved to the fall semester and we are excited to continue our support for this class and strengthen the connection with the professional community.  There is also a contingent within CALA that is strongly supporting the technical aspects of the architectural education and is looking to make the Revit workshops (previously a voluntary offering) a mandatory part of the curriculum in support of that effort.

Pima College is looking to offer summer classes in Revit and we are hoping to get the class offerings out to the CALA students that will be taking the ARC 441 class in the fall so they can get a jump on using Revit.  One of our senior SARUG members maybe teaching one of the classes.



Autodesk’s Building Design Suite

March 27, 2011

Autodesk has been doing some bundling that might interest you A/E’s out there.  This looks like a nice fit for those Architects doing residential and light commercial that have design experience in M.E.P. and/or Structural in that you can get Revit MEP and Revit Structure in some of these packages.

Of course the last thing many of us want to hear right now is how we can spend more money than we already are, especially when there is a shortage of work; however, for those interested in what the future may hold here’s one offering you may want to keep on your radar.

Check out the offerings at:

You will find pricing at the link above but I would love to know the corresponding prices for an upgrade path on these bundles.

Thanks Jake for the Heads up on this.


Structuring a Conditional Statement

March 27, 2011

I need a label in my family that will monitor a numerical input and change its value as a specific number value limit of another label is reached.

Wire gauge values in a panel schedule change as the wattage goes up.  This would be one example where the numerical input (watts) is being monitored by the wire gauge (label) and will change at specific thresholds.

The label requires a conditional statement that checks each wire gauge threshold and when a specific value is reached renders the appropriate wire gauge.

NEC Table 310-16 sets the following AWG (wire gauge) values for 75 degree (F) temperature rated copper conductors

14 AWG = 15 amps
12 AWG=  20 amps
10 AWG= 30 amps

Watts / 120v = Amps

CL1 = Circuit Load 1 (represents that manually input Volt*Amps VA or Watts for Circuit 1)

Label Value:
Wire 1 (represents the wire gauge value in the panel)

Conditional Structure for Wire 1 Label
    is assigned in the Type dialog of the family as follows:

if(CL1 = 0, 0, 
__This first logical check says if the value for the label CL1 = 0 then return 0 which is
__assigned to the label  Wire 1.  The comma after the last 0 is where you put in the
__results if the value is not 0 which is your  next conditional check.  In my working
__version I used the 0 value to drive a visibility control of a text  based label which
__had the value of “—“ since I did not want to see a 0 value for the wire gauge.

if(CL1 / 120 < 15, 14, 
__ The next logical check says convert CL1 to amps by CL1 / 120 (as per our
__formula) and if it is less than 15 set the value for CL1 to 14 for 14 gauge wire. 
__This conditional follows the previous giving us a  structure of
__if(CL1 = 0, 0, if(CL1 / 120 < 15, 14, 
__the trailing comma is looking for the results if the value is 15 or larger and is
__where we place the next logical check

if(CL1 / 120 < 20, 12, 
__ The next logical check is similar to the previous only this condition checks
__for amp values from 15 to  just below 20 and assigns the value of 12 to the label
__Wire1 giving us a structure of 
__if(CL1 = 0, 0, if(CL1 / 120 < 15, 14, if(CL1 / 120 < 20, 12,
__ Again we have a trailing comma so we  need another logical check or
__closing value.

if(CL1 / 120 < 30, 10,
__The next logical check is again similar to the previous but checks for the
__amp values from 20 to just below 30 and assigns the value of 14 to the label
__Wire1 giving us a structure of 
__ if(CL1 = 0, 0, if(CL1 / 120 < 15, 14, if(CL1 / 120 < 20, 12, if(CL9 / 120 < 30, 10,

At this point we need to address what the value will be if we exceed the 30 amp limit.  In reality this conditional statement has numerous more checks for 50, 65, 85, … 200 amp conditions but I’ve shortened this example.  In my working version of this I had the statement return a value of 100 if I exceeded the wire size limit of the largest breaker that would typically be put in an electrical panel.  I used the 100 as a trigger for the visibility of a warning label that resided right on top of the location where the wire gauge was on my panel schedule so it was obvious that a value was entered that would not be accepted by the panel. The final statement reads as follows:

if(CL1 = 0, 0, if(CL1 / 120 < 15, 14, if(CL1 / 120 < 20, 12, if(CL9 / 120 < 30, 10,100))))

Note that you need 4 )))) to close the statement, if you count the corresponding ( brackets you will also find 4 so you will need to balance the brackets to close the statement otherwise Revit will return a Boolean error warning. 

This is an example of a nested conditional statement.  The working version was more complex in that the Wire1 label had to check two different CL1 values.  One where the values were as input and another where the values were bumped up by 25% for continuous loading as is the case with commercial lighting circuits.

When you start to build this type of intelligence into your Revit families you will begin to see how long and complex the conditional statements can become but this kind of automation is very valuable for improved accuracy and quality control.  Also when you create these kind of families I highly recommend running a performance check on every formula driven label to assure it’s working properly.  Given the time it takes to create one of these gems you will begin to see why the B.I.M. operators that build these high performance components have issues with sharing their B.I.M. files or turning the B.I.M. over to the Owner.  Personally I strip these components from my B.I.M. model before I share it with anyone.  One word of warning.  Nested Conditional Statements rigorously test your ability to handle logic and will drive you crazy.





Seeing my Psychiatrist Tomorrow.


Revit Linework Tip

March 26, 2011

Ever had the edge of your 3D geometry not properly showing and you want to use the “Linework” tool to change the edge attribute or just bring it forward?

When edges of elements get buried in other geometry they can become unselectable and the linework tool becomes useless.  What’s nice about the Linework tool is that once you change the geometry’s edge value Revit treats the line as a symbolic and brings it forward of the geometry.  So even if the edge is buried in the geometry the Linework tool will make if visible.

To get around the inability to select an edge switch to wireframe>Linework the edge> and return to Hidden line and your line is now visible.

The Linework tool can be found under the Modify Tab.

Draw the Line!!


Revit Families – Manufacturer’s Content Grows!!

March 26, 2011

Plumbing Fixtures:
…Toto –
Just navigate to the product, select “Downloads & Resources” and the BIM
Families (Revit Only) will come up. Be aware these are faced based families so you will need to select Place on Face or Place on Workplane in your Tools ribbon assuming your workplane is set to the appropriate face.

…Solatube –
You can find the Revit families under the BIM menu on this page. The family places well on roofs but is without a curb component so you will need to construct a separate family or modify the Solatube family. The family does cut a round hole in the roof component but I haven’t determined if Revit sees the family as a window portal yet. I’ll post an update after testing.

If you are on our Linkedin Discussion group you’ll notice this is a repeat notification.  Sometimes content like this gets bridged between the two resources and sometimes it doesn’t so if you want to montior the Linkedin Discussion group please feel free to join Linkedin and search out our group under “SARUG”



Know Your REVIT Interface

March 19, 2011


Wall Based Families-Controlling their Height and Project Placement

March 19, 2011

Things to know in order to control the height of wall based families such as light fixtures are as follows:

  1. The family should have a defined origin.
  2. The family should have an elevation parameter to control post placement height.
  3. Revit 2011 likes to use the last value used for “Elevation” and subsequently overrides the default elevation for the particular family. (an annoying idiosyncrasy).

Item #1  Typically you want to define a critical reference plane in your family as the origin, this may be the light source as in the image example below or the top or bottom limit of the family.  Select the preferred reference plane and in the properties dialog to the left check the “Defines Origin” box.

Item #2   To add a height control parameter place a dimension between your floor reference to your critical reference plane.  With the dimension selected click the drop down “Label” in the Options Bar, select <Add Parameter>, Give it a name and set it to “Instance”.

Item #3  Occurs in the project during the placement of the family.  Select the wall based family and drag it over to the wall you want to place it on. Click it down and immediately go to the “Elevation” parameter of the “Properties” dialog and set the elevation you want subsequent wall based objects to set themselves to.  You can change this during the placement of any wall based family using this same process.  Just be aware that it will become the default elevation for all subsequent wall based families.  An annoying little quirk I hope they resolve in the 2012 release.

I found the Origin control and Project Elevation issue while trouble-shooting my wall based families which were not placing properly inside my rooms and subsequently were not scheduling in the luminaire schedule based on room location.

Unraveling the Revit Mystery

Follow up March 26, 2011:
For families that have a preset height that you want to conform to like an ADA setting, in your project set the “Elevation” parameter to 0′-0″ and your family should set itself at the preset elevation from it’s referencing level.


Want to schedule a Family by Room in Revit?

March 14, 2011

As I understand it, the ability to schedule a family by room is limited. Furniture, plumbing fixtures, lights and specialty equipment are some of the categories that are room aware. 

To get the room parameter into your schedule you will need to go to the Fields tab of your Schedule Properties and in the lower left corner the “Select available fields from” drop down has the “Room” field.

So once you add the appropriate “Room: Name” parameter to our schedule you may notice some objects don’t schedule properly.  Typically it’s due to the fact that the family is not residing inside the room boundary.  Intuitively you think the room boundary is everything within the surface envelope of the space.  Unfortunately Revit isn’t intuitive so its boundaries are different.

In particular some floor based families present a challenge.  Here’s a excerpt from a recent post I made to AUGI addressing a Plumbing Fixture Schedule that sorts by Room location.

The particular plumbing fixture families that are presenting a problem are floor based. When I check the room boundary settings in the project (mouse over room name>tab once>select X-box) the properties dialog indicates the Base Offset = 0’-0” it’s not until I push the Base Offset down below -1’-0” to -1’-1” that the floor based families properly see the room they are in and schedule properly.

In doing this I discovered that the base offset has to be equal to or less than the floor thickness minus 1’-0” so a 4” concrete slab has to have the Base Offset of the Room boundary set to -1’-4” or less (since we are into negatives that might be -1’-5”).

So the resulting question is where is the 1’-0” coming from? Upon investigating the families the default floor thickness in the floor based family is 1’-0”. So you would think changing this value to something less than 1’-0” would change the resulting value in the project. It doesn’t.

This offset is unique to each Room Boundary so you have to do a select all (Select room boundary>type SA) and change them simultaneously.

Area & Volume Computations (under the Home Tab>Room & Area drop down) doesn’t appear to give you global control of this value.

This also raises the question of the Base Offset value affecting room volume computations.

The only reason I can see for having a Base Offset for defining a room would be if you had a step down area of a room like a sunken living area or bathing area, which points out Revit’s shortcomings in computing this boundary buy giving only a planar offset.

Regardless you need to be spatially aware of the structural thickness of your room when using the Room Name parameter in your schedules, specifically the floor.

Roomless in Revit!!

Conversations with Jake: A follow up on this post.

I had a toilet family I down loaded from TOTO that was being identified by the room parameter in my schedule so I sent it to Jake for comment.  Here’s his response:

“Your toilet family is a face based family and is not hosting to a floor, but any face. This is most likely why it is functioning better than your floor hosted families. Another advantage of the FB families is that they will not be deleted if the host is deleted. To create one you can start with the generic model face based template. You can then change it to any family category desired. Disadvantage as you noted as you could end up with a toilet on the ceiling or a wall.  Might make for a great art installation.”

Thanks Jake!

That disadvantage Jake is referring to occurs at the initial placement of the object. In the image below you can see how the toilet wants to place it self on the wall. Note the ribbon “Placement” options.  You need to select “Place on Face” or if your work plane is assigned to the floor level the “Place on Work Plane” to get the object to orient correctly.


Rooms in Revit – Deleted!! (Not quite)

March 14, 2011

So you dropped in the room and tagged it, but latter decided to delete it.  Guess what!  It still shows up in your room schedule.  Did you notice that little requestor that popped up when you deleted the room?  It’s telling you that it still exists.  You can select the offending room tag in your schedule and right mouse click and select delete to get rid of it but Tony Isenhoff has a little more info. on handling these aberrations, especially when you have lots of rooms.

I had a nightmare I couldn’t find my way out of the building.