RTV Tools

Wednesday, October 21, 2015

Create Floors from Rooms across Multiple Links in Dynamo

Update 2
Latest implementation looks like this, download dyn here:

Update 1... v2 has been published in Bakery package as:
Create Floors From Rooms v2.dyf

All kinds of weirdness with Package Manager at the moment, so I am sharing my entire 'packages' folder including Bakery and dependencies for 0.8.2 at this link:

It uses a two different methods to get Room Boundary outlines: first try is with a Clockwork node, next try is by Element.Geometry. It also sets the Room Number to the newly created Floor Comments parameter.

Just letting you all know that this new node has just been published in the Bakery package:
Create Floors From Rooms v1.dyf

The scope:
This 'version 1' node takes the Room elements, converts to Element.Geometry, grabs the face at the host level, gets the curves from the face, uses Konrad Sobon's Group Curves node to assist with making the Polycurves, then matches the right Polycurve with the outer boundary using a bounding box method. Then, it feeds the outline to a Floor creation node (after matching link Level-host Level if necessary), and then sets Element Id, Room Number and Room Name as one string to the parameter you select.

You can use it across links with some other Bakery nodes too, which would look something like this:

Unfortunately, sometimes the builtin Element.Geometry node will fail to convert the Room to a solid. This warrants further investigation, but only affected about 15 rooms of 718 in this particular test. In the meantime, I simply report which rooms fail in the 'geometry failure' output:

Future improvements needed:
  • handle Element.Geometry failures with some other method
  • cut out Floor Openings where voids are present in the Room space
  • match Base Offsets by moving created floors to correct height
  • get approximate Room Height by Volume and drive or report desired Floor Thickness
Here is the 1 minute demo:

And the dyn:

If you are on Dynamo 0.9 or newer, you may want to check out Marcello's Direct Shape method over at:
Simply Complex: Create 3D Rooms in Revit Using DynamoBIM


  1. Hi Luke,

    I have been trying these nodes, and they recognize the rooms but no floor is created when I run it, even if I have no warning messages. I have tried them on Dynamo 07.5, 08.2 and 09.1. Any ideas of what could be wrong?

  2. We are trying to create Bubble Diagrams from Rooms with Dynamo. Would it be possible to use the same Mass from Rooms script above, but substitute a 2d Filled Region with adjustable line style/weight, color/transparency and filleted /radiused corners? ( in lieu of creating a mass from the Rooms.)

    1. That would be possible, as I have adapted a few tools to interpret the Room boundary and convert them to Revit polycurves. You would then need to add the radius setting, and then find or build a Filled Region tool that gives you the level of control you are after.

  3. Thanks Luke,
    Can you explain a bit more on how to set up poly curves and connect to a filled region?

    1. You can see how to get the Polycurves here:
      Rooms to Polycurves – dynamoworks

      Then, you will need to make ModelCurves and send to Filled Region creation.

  4. Luke,
    Thanks--got the PloyCurves working, thanks to the custom node in the Bakery! Now it's on to ModelCurves and Filled Region creation. Any tips?
    I appreciate your help. Cliff Collins, Architect