BILT Speaker

BILT Speaker
RevitCat - Revit Consultant

Wednesday 23 September 2015

Weird Revit Railing Stuff - part 6 - SubCategory Overrides

I was recently asked to solve a tricky Revit railing puzzle:  Someone wanted to show their glass panel balustrade as semi-transparent in elevation.  Simple, you might think.  Think again.
All good Revit experts would know that any element with a glass material that has a (semi-)transparency property will display transparent in a 3D view, but in elevation or section it shows solid.
Glass transparent in 3D view

Why is this?  Because it has always been an architectural drafting convention to make window glass opaque in elevation, so you cannot see through windows to all the stuff inside.  This is pretty sensible as elevation drawings would look a terrible mess otherwise.  So this convention was hard-coded into Revit software, as were many other conventions that we now see as restrictions .  Unfortunately this also applies to any glass element - even a glass balustrade that hides vital information behind it on a balcony.
Opaque glass balustrade in elevation

The obvious solution is to make either the railing category or just a selected railing semi-transparent

Semi-transparent Railing category override
But that is not much use as the handrail and balustrades have become transparent too.  So what about the railing subcategories?  Unfortunately the actual subcategories do not have individual transparency overrides - it is all or nothing for the whole category.
Railing subcategories in Visibility Graphics
 In addition to that, if you wanted to override the surface patterns there are some random restrictions:  some new railing sub-components allow overrides, some don't;  the old railing components do allow surface pattern overrides.
  • Balusters (old subcategory) - Yes
  • Rails (old subcategory) - Yes  - these are the original horizontal rail structures
  • Supports (new subcategory) - Yes
  • Terminations (new subcategory) - Yes.  Great, I can override the surface pattern but there is no possible way to make them visible in plan.  how good is that?
  • Top Rails (new subcategory) - No!   This is a newly added subcategory (in 2013), so why build in a restriction to the subcategory most likely to need an override pattern?
Most experienced Revit users would not attempt to create glass balustrades using 'Balusters' because they are almost impossible to control the spacing of (and width).  Instead they would use the old rail subcategory and have one rail for the handrail on top and another long tall, skinny glass rail for the balustrade (crashing through the actual support balusters).


Next stop view filters to see if the same restrictions apply.  Perhaps we could filter the glass rail separately from the top rail structure?
More inconsistencies here:  Balusters (old subcategory) can be filtered, but not the old Rail subcategory.  Foiled at the next turn by yet another inconsistency.  But this time all the new subcategories can be filtered, including 'Top Rails'.  So maybe we could (mis)use that for the glass balustrade, and create a view filter for the Top Rail only?
 You could even take it one step further (no stair pun intended) and restrict it to Top Rails with the word 'glass' in them.  Note that I have used the filter "contains" rather than "equals" as it would then find all types with that word in the name.  To make it more robust, you could filter by "contains" "lass" so that it would pick up lower and upper case glass and Glass types.
Once the filter is set up, it needs to be applied to the view, and then have its transparency override set

All that remains is to make sure the railing definition is set to use a 'Top Rail' for the glass balustrade, and a 'Rail' for the actual rail along the top.

And finally it works as desired - but it shouldn't be this hard to achieve.
Semi-transparent Top Rail subcategory for glass balustrade

A gold star to anyone who spotted that the swing symbolic lines are broken on the doors behind the railing.  Not my doors, I just grabbed them from an old library to demonstrate this issue!


  1. Do you need my address to send me my gold star?

  2. Gold star will be delivered to you personally at next RTC.
    I said star, not bar.

  3. Making Glass panel ("balusters) as a top rail is a good solution (still waiting for the dynamic baluster panel!) but this can get wonky in stairs at landings.

  4. The top rail substitution is a good idea, but you do loose some of the useful features of the top extension path editing etc. One workaround I have used is to duplicate the family, making one version without the glass panel rail, and another with only the glass panel rail and superimposing them. Not perfect; but you can then use instance graphic overrides or filters to control visibility