Making Revit Floors (and Levels!) by outlines with Dynamo from a Rhino file

A question I was asked earlier today about making floors in Revit from a Rhino file deserves a very public answer.

The first step to make floors with outlines is to get the outlines. Note that it doesn’t matter where these curves come from. In the example I’m showing below, I read the curves from a Rhino file with the Dynamo plugin Rhynamo by CASE, inc. But the curves can come from any of:

  • native Dynamo curves (derived from solid, made from points, etc.)
  • model curves in Revit
  • imported CAD drawing in Revit
  • read from coordinates in an Excel file
  • any other way to get a curve into Dynamo...

Here’s the quick and dirty way to make floors in Revit from a Rhino file. (Make sure to install the Rhynamo package from the Package Manager before proceeding.)



And here’s how you can read the curves from the Rhino file, make floors,… AND place them on their appropriate level. Make sure to download the package List.SortByKeyList or use one of the more general version called List.SortListOfLists in the Clockwork package by Andreas Dieckman.




1 Like


No love for Mantis Shrimp? :frowning:

Hi Colin

Thanks for the post. Its very helpful. However, I’ve been having a few issues with Rhynamo that hopefully you can clarify.

My Rhino file is in millimeters with a tolerance of 0.01. If I run Rhynamo it comes in way too big - presumably because Dynamo uses meters. If I scale down the geometry within Dynamo it works fine.

However, if I change the Rhino units to meters, which seems logical, and re-run Rhynamo it crashes. It is an intricate polycurve that I am trying to transfer and the only reason I can think of is that some line segments are too small for Dynamo to generate when creating the floor. But it works in the first method so what could be causing this? It doesn’t make sense.


Again, no love for mantis shrimp?


you wouldnt have the units issue if you used mantis shrimp. it does all of the conversions automatically in the background so you dont have to worry about it. get it from package manager and see for yourself.


Hi Konrad

I tried Mantis Shrimp but couldn’t get it to work. The Rhino curves are closed polycurves. Mantis shrimp is importing the objects but is not converting them. I would assume the command should be ‘to DS PolyCurves’ but it didn’t work nor did the others nodes. What am I doing wrong?







Sorry a few more questions:

If I make any changes to the Rhino file and save it and re-run Dynamo nothing happens. If I disconnect some of the wires and reconnect it before re-running its the same problem. The only way I’ve managed to get it to update is to close the Dynamo script, re-open and run. Is this the only way? Its the same for both Rhynamo and Mantis Shrimp.

What are the limitations on geometry that can be transferred from Grasshopper into Dynamo via Mantis Shrimp? I did a little test with an extruded circle (not capped) and got the error message “Geometry type not yet supported”.

Thanks for your help!


This is interesting. Let’s get on Gmail and swap files so I can have a closer look. ksobon1986 at gmail dot com.

I am very much interested in getting this to work properly so if you could please send me your files it would be great. I will not share them with anybody and use only for troubleshooting purposes.

Thank you,

Hi Konrad

I managed to get the simple (circular extrusion) test to work. Not sure what the problem was. I re-opened it and it worked first time. Maybe I updated the node?

As for the Rhino floors - still not working. I’ve emailed you the file. Please take a look and let me know. I can get it to work with Rhynamo but need to factor in scaling. But I want to test the possibility of mantis shrimp.