BILT Speaker

BILT Speaker
RevitCat - Revit Consultant

Thursday, 1 April 2021

Rustic Railings in Revit

There has been a lot of talk over the years about just how hard the Revit stair and railing tools are to work with.

I decided to do an experiment - and see how long it took to build an actual stair and railing vs building the same thing in Revit.

I chose to build a rustic-style stair as it was outdoors in a wild garden setting.

Rustic Stair and Railing Hackathon

I thought I had better give Revit a fighting chance by not zeroing in on one of Revit's biggest railing weaknesses:  "Baluster Spacing"

  • So I decided not to include any balusters at all.  

Technical Details

  • The stairs were made from hand-hewn sandstone, with irregular shapes and slightly differing tread widths;  riser heights were near enough the same for each step.  Stones were carved to exact size and placed without mortar - exactly how the ancient Egyptians, Mayans, Aztecs et al worked their stone structures.
  • Railing was made from locally sourced Melaleuca timber - hand-cut on site:  Two posts and one 'Top Rail', all sourced from the same tree.  The top post and handrail were left to cure in the open for several weeks;  the lower post was cut and installed the next day.
  • The handrail was fixed to the posts with tuppenny nails.
  • Real stairs and railings were built without any drawings - I couldn't wait for those to be finished.
  • The virtual stairs/railings were created using the "New" stair tools (post Revit 2013) & the "Old" railing tools (circa v2 with minor improvements in v2013)

Finished Product

The finished stair and railing

Unfortunately I don't have an image from Revit, because it was created in a later version that I could not open with my current version of Revit.

The Stats

  • The real stair took approximately 18 months, done a few hours at a time at weekends.
  • The real handrail was build about a year later - it took approximately 2 months, again done at weekends.
  • The virtual stair took 5.5 years, including waiting time between Revit versions - hoping that problems encountered had been fixed in the next version.
  • The virtual railing is still unfinished, awaiting software improvements.

Problems Encountered

  • The lower railing post was obviously installed too quickly after cutting, as it started to sprout a few weeks later (inadequate curing time).
  • I really struggled with applying the virtual stair hand-cut stone materials to the treads, especially in 2D plans.
  • Without any balusters on the virtual railing, the 'Building Inspector' would not give approval to the railing.

The Winner

Hands down winner was the real stair/railing:

  • It was so much easier and quicker to build the real thing than attempting a virtual model.
  • It was very therapeutic working manually on the stone and timber at weekends after a hard week of Reviteering.
  • It was ever so slightly less therapeutic grappling with the virtual tools for stairs and railings in Revit.


1st April 2021 (Australia).

Sunday, 14 March 2021

Shared Parameters in Revit View Filters

Here is another Revit Gotcha for young and old: 

Family Editor Shared Parameters

If you add a new Shared Parameter in the family editor, you might expect that parameter to be available in a project in all situations.  You would be wrong!

Shared Parameters created in the family editor, and then loaded into a project have two entirely different (inconsistent) behaviours:

  • In Schedules, the shared parameters will automatically be available to add as fields
  • In View Filters, the family shared parameters will not be available to add as fields

This is quite confusing and inconsistent.  It can also catch you out, however experienced with Revit you might be - as I recently discovered when demonstrating how to create View Filters to a client


If you create a new schedule  for the category of the recently loaded family, the Shared Parameter is automatically available in the list of available fields - as you might expect:  it is one of their mystical powers.

View Filters

Try the same trick with View Filters and you will probably get a nasty surprise



To make the shared parameters available for use in View Filters, you have to add them (again) as Project Parameters.



View Filter

If you go back to the View Filter definition, you will see that the Shared Parameter is now available as a field to be added.

As a BIM Manager, I would once have known about this Revit inconsistency - but I just plain forgot!  There is no way we can remember all of the inconsistencies.  And why should we have to?

Fortunately, Autodesk are slowly addressing some of these irritations - but it is such a laborious process.

Saturday, 20 February 2021

Cut with Voids when Loaded in Revit

When this new feature appeared in Revit about 10 years ago (v2012?), it was always a bit mysterious - it had many confusing restrictions about how and when you could use it

So, what is this family property that shows up in the Family Editor in Revit?

Autodesk Help in v2021:

"Cut with Voids When Loaded: When selected, voids created in the family will cut through solids. The following categories can be cut by voids: ceilings, floors, generic models, roofs, structural columns, structural foundations, structural framing, and walls."

That's it - all the help you will get from Autodesk on this one!  It hardly explains much about how to use it.  If you dig deep you might find more information - but there is no link to it.  

It is inaccurate in that it says "voids . . . will cut through solids".  It should say "may cut. . . "
It is also not up to date with its category list.

In Revit the tool-tip is pretty much the same, although it does at least have a diagram that shows why you might want to use it:

This is a classic example of inconsistency in help and tooltips.  I remember during beta testing that we asked for the ability to cut holes in worktops using this new feature - worktops are usually in the "Casework" category, which was not included in the list of cuttable categories.  Luckily it was added as a further enhancement a year or two later - but Casework does not appear in any lists from Autodesk, even though it was used in this illustration.

[Edit] If you dig deeper in the Autodesk Help files under 'Cut Geometry' , it does have an updated list of categories that can be cut by this method:

 "You can cut objects in a project when a family with unattached voids is loaded.

Objects that can be cut include: Walls, Floors, Roofs, Ceilings, and Structural Framing, Structural Columns, Structural Foundations, Casework, Furniture, Specialty Equipment, and Generic Models."

I recently had a requirement to use this "new" feature in a Revit family - but I could not get it to work.  So I decided to revisit exactly how to make it work:

How does it work?

  • A void form has to be created in a Revit family

  • Tick the "Cut with Voids When Loaded" checkbox in the family parameters
  • The category of the family is not relevant to this feature

  • Load the family into a project
  • Place the family in the project in a location where the void intersects with an element in the model


  • The element will not be automatically cut
  • Use the "Cut Geometry" command

  • Select the element to be cut, then the family with the void in it
  • The element may or may not be cut, depending on the following rules:

Rules and Exceptions

  • The element to be cut must be of one of the following categories:
    • Casework (not listed in the help file or tooltip),
    • Ceilings, 
    • Floors, 
    • Furniture (not listed in the help file or tooltip),
    • Generic models, 
    • Roofs,
    • Specialty Equipment (not listed in the help file or tooltip),
    • Structural columns, 
    • Structural foundations, 
    • Structural framing,
    • Walls
  • The void in the family must not be cutting anything in the family - this is the rule that caught me out recently.  To get around it I had to create two voids:
    • The first one to cut elements in the family
    • The second one to cut elements in the project 
      • [Edit]There are two ways to prevent the void from cutting elements in the family:
      • 1. You have to create the void in a location where it does not intersect any geometry,
        • then move it to the correct location - it will not cut any intersecting geometry;
      • 2.  Or create a solid where you want it, and change it to a void - it won't cut unless you tell it to [Thanks to Simon Weel for reminding me of this method]

  • [Edit] I have had problems with saving families that only contain a void element that is not cutting anything - but I think that only happens for in-place families.
  • Cutting only happens in a project
  • This capability does not work in the family editor - when one (cutting) family is nested into another family.  This is a very frustrating restriction - it means that you have to build additional voids into the parent family, which is a pain if you have complex angled geometry.

Once you understand those rules and limitations, you can use this capability to get families to selectively cut elements in a project.  It does have some advantages over 'Face-Based' families that also allow you to cut into a host element:

  • You can decide whether you want individual elements to be cut or not
  • It does not need to be hosted  - it can be placed directly in the model with its own parametric controls (height etc)
  • It can be moved away from or to an element to be cut (it remembers the cutting status if moved away and back)
  • This can be added to existing families (converting to face-based requires recreating families)
  • The void can be anywhere in the family - it does not have to be related to a host face in the family (as face-based families do)

I hope this saves time for anyone who cannot get this feature to work properly.  

In this example I have carefully made the void slightly bigger than the basin for clarity in the illustrations - and to make sure that water runs down the side of the basin into the casework and rots the timber.  I suggest that you make it a closer fit or use lots of silicon to seal it.

Friday, 22 January 2021

Revit Stair Wall Joins in Section

Following on from an earlier post about joining stairs and floors, I just wanted to clarify what happens when you try to join Stairs and Walls in section . . . .

We saw previously that Revit does have some limited capability to join stairs and floors at the base of a stair - but it has many limitations.

Joining a Wall and a Floor

All good Revit users would know that if a floor and a wall are of the same material, and they have coincident or overlapping edges, they can be "joined" in the model.  This is not just a graphic tool that is done per view - it affects the model in potentially all views, including material quantity schedules.  If an overlapping wall and floor are joined, the volume of material that was previously counted twice is corrected after the join so it is counted once.

Join Geometry

Select floor and wall to join
Providing that the elements are of the same material, the line between the floor and wall disappears.  In this example, the 'Level' line is revealed, as it happens to align with the top of the floor.

Joining a Wall and a Stair Landing


Try the same thing with a wall and a stair landing . . .

What happens?  Absolutely nothing.  After selecting the wall, Revit will not even highlight the stair landing (or vice versa if you select the landing first).

Well, that is just plain ridiculous!  You might argue that the wall and landing would be cast separately on site, so there should always be a joint line between them - but the graphic convention is to not show a line, or at least show a thinner line between them in section.


What to Do?

There is no good workaround to this problem - each method is clunky and not robust.

Linework Tool

Linework Tool

If you try the linework took, you immediately discover that it will not do the job for you, as it affects the whole wall.

That isn't very helpful, as you only want a small segment of the wall edge line to be invisible (or thin line).

Another strange Revit quirk with the linework tool is that when you select a line in elevation (or projection in plan) it gives you blue dots at each end , which can be dragged so that only part of the line has its style overridden.  That is a very useful capability - but infuriatingly, it does not work on cut lines.

Yet another quirk is that the underside of a run is treated as one line when cut (section), but in elevation, each step is a separate line segment.  Why, or why?

Filled Region

Filled Region
A common method of hiding a multitude-of-sins in Revit is to use Filled Regions.  These have pros and cons:

  • They are quick and easy to understand for most users
  • Their edge lines can be of different styles, including "invisible" as part of the sketch - so they hide model lines underneath 

  • They will merge with underlying element hatching , providing the material hatch style matches the filled region hatching

  • They are view-based, so any patching up on one view will not show on other views
  • Line edges/junctions can be messy when viewd close-up

  • If the model is changed, the filled region will not change with it (unless you constrain the sketch lines, which is not generally advisable - as your model very quickly becomes over-constrained and unworkable)

Cut Profile

Cut Profile (View Menu)
You could try the 'Cut Profile' command - this allows you to modify how an element looks in a particular view.  Once initiated, it takes you into sketch mode - so you can draw a shape to add to an element (or cut from it).

The end result is not very promising in this situation

  • The added shape does not obscure the wall line in the way that a filled region does
  • The sketch lines cannot have a line style (unlike Filled Regions)

The worst thing about this idea is that the Linework tool does not work at all on cut-profile shapes - thus making this tool almost useless!


Sadly there is no clever workaround.  The conclusion is that it is not worth fighting Revit on this one - just accept the joint line between wall and landing.  In many cases it is not an issue, but when the stair and wall are both cast in place concrete, it is very annoying.

Tuesday, 1 December 2020

Stair Section Detail Level in Revit

Here is yet another problem with Revit Stairs that really needs to be fixed by Autodesk:  

The view 'Detail Level' display in section is not consistent between walls, floors and stairs (not to mention ramps!):

View Detail Level

When a view is set to Medium or Fine detail level, sections of most categories display the correct materials:

When the View detail level is set to 'Coarse', the cut hatching display of some elements is overridden by the Type properties 'Coarse Scale Fill Pattern'

This capability is available only for certain categories - meaning that the display of stairs is pretty hopeless at Coarse scale



What to do about this?  There are several possible ways to resolve this lack in Revit, but none is very good!

Visibility Graphics

You can over-ride the cut pattern of stairs - but this requires several steps (excuse the pun) on top of just changing one View Detail Level setting:

Due to the fiddly nature of changing this in the view (similar settings may need to be applied to other categories), you would certainly need to include this as part of a View Template - so it could be applied or removed at the flick of a switch.


You could also try using a View Filter, as it could potentially be applied to multiple categories

This has an advantage in that it is more "discoverable" than searching through all the category overrides - unless you have a gazillion filters applied!

Another advantage in Revit 2021 is the ability to "Enable" or "Disable" the filter without losing the override settings - a very useful new enhancement for Filters.


The View Detail Level is very easy to switch on/off - and it affects all categories that have the built-in Coarse Scale override capability.  If you set the view back to Medium, the 'by category' cut pattern overrides get left behind - so you would need another operation to remove those (hence the need to use View Templates).

Another problem with the Visibility Graphics workarounds is what happens when you choose anything other than black solid fill as your hatching override:

If you make it grey . . .


The Stairs will show the joint lines between different materials - you may or may not want this, but it is clearly different behaviour to the Coarse Detail Level control that hides the material join lines and treats it as one material, for a nice clean look.

Of course, this is not helped by the inability to join walls/floors to Stairs !!  You still get the joint lines between those.  Refer to Stair Joint Lines

The Worst Workaround

Filled Regions are extremely useful for patching up Revit's inadequacies, but they are not popular with BIM & Model Managers because they cause so many other problems as soon as a model changes.

Filled Regions allow you to make the hatching look exactly how you want, because they allow some of their edges to be "Invisible Lines" - thus they can appear to join with adjacent "real' cut hatching.

Filled regions are placed per view, so if you have multiple sections cutting through the same or similar parts of the model you may end up with many filled regions.

One possible method to manage that problem is to include them in 'Detail Groups' - but they are also problematic to manage, not to mention a major shortcoming of really slowing down your Revit model if you have too many of them.


Whichever workaround you use the most important thing to do is to follow company standard procedures - and be consistent.  Agree with your workmates on which dodgy workaround to use, and stick to it.  This will make it so much easier to come back to make changes when the model is updated.