BILT Speaker

BILT Speaker
RevitCat - Revit Consultant

Friday 13 November 2020

Revit Stair-Floor Joins in Section

The inability of Stairs to properly join to floors (or other elements) in Revit has long been on the wishlist of things for Autodesk to fix.  Back in v2014, we were very excited when Autodesk included this in the list of enhancements to be released.  As per many recent Revit enhancements, this was only a partial improvement.

You can be the judge as to whether it was "fixed" but most Revit users are not even aware that anything changed in version 2014, such was the hit-and-miss nature of the improvement . . . .

Join Geometry - Stairs in Section

At the base of a stair, if a concrete monolithic stair sits on a concrete floor, you would expect to be able to join them, providing they are of the same material.

Well, you can  . . . .  sort of.  It only works if the stair base is sitting exactly on the slab . 

Join Geometry

The circumstances in which it works are limited, as you can see below:  

  • If the base of the stair overlaps the floor at all, it won't work - the join is ignored.
  • OK, you wouldn't normally lower your stair like this as the base riser height would be wrong
  •  But you might extend the run lower, by selecting the "Run" (not the whole stair) and changing its 'Extend Below Riser' property
  •  The join still does not work

  • So why would you want the stair to overlap the floor?
  • Well, maybe you have a screed on the floor slab, and you want the concrete stair to rest on the slab, not on the screed.
  • With the stair sitting on top of the screed, the join does work, although it shows a thin line due to different materials - but the structural geometry is not what you want

  • As soon as you lower the base of the run, the stair cuts through the screed as it should, but the join stops working - there is a heavy outline between the stair and the concrete slab (same material).

  • Many experienced Revit users might want to separate the structural slab from the floor finish (screed) - particularly when producing 'concrete setout' drawings or when collaborating between architects and structural engineers.
  • The concrete slab could be set down by 50mm (screed thickness);  
    • Extend the run 50mm below the finished floor level;
    • Join the stair and structural slab 
    • Add a separate floor on top of the slab - just containing the finish (screed)
  •  Not surprisingly the finished floor will run through the stair

  • The stair will obviously not join properly with the floor finish as they overlap each other


  • Just for due diligence, I thought I should test the process by trying to join the stair and the floor finish
  •  This time it actually gave a warning, saying that they cannot join

  • Much to my amazement Revit did actually join the stair to the floor finish, exactly how it ought to - despite the warning !

  • Just to make sure, I had a look in 3D - and it really had cut out the floor finish - albeit with a permanently attached warning in the list.

  • I think I could live with that warning, along with the hundreds and thousands of other spurious ones that we are unable to remove or flag as not significant.

Edge of Slab Join

In some situations, the bottom of the stair could meet the edge of the floor slab

  • Obviously the stair run needs to extend below until it meets the slab edge

  • Join Geometry ought to merge the two elements

  • Apparently it does not.

Workaround ?

Oops, sorry I don't have a real workaround for this one.

You could try using the linework tool with invisible lines, but that has annoying limitations:

  • In section, the linework tool does not have grip handles at the end of selected cut lines - it makes the whole line invisible [Lines that are in surface/projection in the view would hav grip handles so that you could make part of the line invisible]

Then you would have to add detail lines back to the missing parts of the cut edges.

Top of the Stair?

What happens at the top of a stair when you try to join it to a floor/landing?  That is a whole different story, for another blog post . . . .