Hummingbird is a set of Grasshopper components that facilitate the creation of Revit native geometry. This process exports basic geometric properties and parameter data to CSV text files which is used to describe many aspects of the Revit BIM geometry. In Revit this data is easily imported using the Whitefeet Modelbuilder tool (included).

Translating Rhino primative geometry to Revit has been vastly simplified without the need for linking or reference objects. This allows for the downstream Revit model to be modified and adapted for the project duration.

The tool now supports importing Revit geometry into Rhino.  This makes a bi-directional workflow possible.


  • Bi-Directional Revit <--> Rhino support!  New component allows reading data output from Revit to create geometry in Rhino.
  • Support for Revit 2015 (as well as 2014).
  • Units!, Whitefeet ModelBuilder tool now includes the ability to specify metric or other custom units upon import.
  • No more Excel! Read and write using simple CSV text files.

Hummingbird for grasshopper includes the following components:

  • Adaptive Components
  • Floors
  • Grids
  • Levels
  • Walls
  • Beams
  • Columns (both structural & architectural)
  • Lines  (detail, model, area bound, room sep)
  • Lofts (place points, curve by points)
  • Rooms_Areas
  • MassFamily (Extrudes a closed polyline into a mass family)
  • Topo Surfaces
  • Family Instances (places any revit family by coordinate point)
  • Import (reads .CSV file and creates Rhino geometry)


To use this solution you must have the following software installed:

  • Windows 7 with .NET 3.5 and .NET 4.0.
  • Revit:  Revit 2014/2015/2016/2017 (for 2013 use the older version)
  • Rhino: Version 5.
  • Grasshopper: 0.9.0056

To install:

Run the installer which will install both the grasshopper component as well as the Whitefeet ModelBuilder addin.

For more examples and information:

- Tim & Mario

Plug-in rating:
Average: 4.7 (15 votes)
Title Release Notes
Hummingbird for Revit 2014-2017
This release adds support for Revit 2017.  
Version: 2.4
Language: English
Hummingbird for Revit 2014-2016
This version adds support for Revit 2016.  
Version: 2.3
Language: English
Hummingbird w/ Rhino Input
Added component for reading ModelBuilder .CSV files to create geometry in Rhino.  
Version: 2.2
Language: English
Hummingbird for Revit 2014-2015
This update supports both Revit 2014 and 2015. You will need the 64-bit version of Rhino 5 and Grasshopper 9.  
Version: 2.1
Language: English
Hummingbird 2
Major update! Includes installer for both rhino and revit addins, custom units are now supported, no more excel!, CSV text files are now the main transport format, Revit 2014 only  
Language: English
Hummingbird (old)
Previous version of the Hummingbird Component Set. Updated to work with Rhino 5.0, added new Level component - Allows for the creation of Revit Levels.  
Language: English


marioguttman's picture

Some of you have been asking for tutorials.  Sorry, I haven't gotten to that but I did find some on-line videos that are pretty good:

Push Grasshopper Geometry Into Revit - EvolveLab
Broad introduction to Rhino and Revit with voice-over that leads into a discussion of integrating Rhino and Revit. The tutorial mentions several tools but focuses on Hummingbird.  Narrative includes a lot of basic instruction in Rhino geometry and Revit adaptive components.  Also illustrates creating structural elements.

Hummingbird Workflow 01 - Brian Lee
Basic tutorial with good voice narrative.  Also shows use of “Lunchbox” plug-in with Hummingbird as well as some good techniques for basic Grasshopper.

Hummingbird Revit - samson090281
A fairly advanced example that does not have any sound track.  It illustrates an interesting use of the workflow for a complex building, using adaptive components.  Does not have a sound track

WhiteFeet Software's picture

I have uploaded a new version that supports Revit 2017 to this site.  The installer will install both the grasshopper component as well as the Whitefeet ModelBuilder addin to Revit.

Note that there are more examples and information at:

You can also make a donation on the Downloads page at that site.  It is quite a bit of work to maintain this tool and if a few of the thousands of people who have downloaded it made a contribution we could do much more.

marioguttman's picture

I've posted a 2017 version at but having some issues posting to this site.

Does it support the win10 system? I install the newest plug-in,it runs regularly,but I can not find it in revit2016.

wageh's picture

i want afull tutorial about this plug in it is very handy to us as architects but i didn t find more videos about how to use 


i want export full project from grasshopper to revit

yahia's picture

hey , did you find any tutorials ?


I cannot load Hummingbird into my grasshopper tabs. I am running Rhino 5... Do you think using the newest version of Grasshopper is an issue? How can I manually load this?




I'm trying to install the add on but I keep getting a message saying:

Could not access network location



marioguttman's picture

Can you check that the ...\Grasshopper\Libraries folder exists and that you have write access to it.  Mario

Hi Mario, The link exists and I've installed other add ins to this location. Cheers Ben 

marioguttman's picture

Can you find another computer where the install has been run successfully?  I can give you instructions on how to copy the files manually.  Mario

We have been unable to install it on any other computers. What is the manual process? Thanks

marioguttman's picture

You will need to do an install to copy the files from.  What version of Revit do you have installed?  Which version of the Hummingbird package are you using?

Hi Mario,

i came across the same issue. Could the reason be that Hummingbird wants to acces a folder with two \\? (AppData\Roaming\\Grasshopper\Libraries\Hummingbird)

The versions I'm running at the moment are Rhino 5 SR12 64-Bit together with GH 0.9.0076.

Any help would be very much appreciated!


marioguttman's picture

youresogreat:  A path with "\\" would be problematic but I just checked the installation program and can't reproduce this problem.  Please give more specifics about which version you are installing and the exact steps you went through.  Also, what operating system and country are you using?  Mario

Hi Mario,

I just tried it again with all downloads offered at food4rhino (Hummingbird, 2.1, 2.2, 2.3) and had the same issue with each of them.

When running the .msi file the setup is "preparing to install" for some seconds and then tells me that it could not access the network location "...\AppData\Roaming\\Grasshopper\Libraries\Hummingbird".

I also checked it with our IT services if it could be a security/admin rights issue, but they stumbled accross the same problem when trying to install it.

Operating System is Windows 8, country the UK.

Thanks for your help, Mario!



marioguttman's picture

yoursogreat:  Please try this experiment:

1. Open a command window. (Start menu, type "cmd", pick Command Window.)

2. Type: %appdata%

3. Note the value inside single quotes returned.

I would expect it to be something like
'C:\Users\yourname\AppData\Roaming'  without a trailing backslash.
If you do get a trailing backslash can you see if your IT group has redirected this value.

Then please try the installation on another computer that is not in your office (like a home computer.)  If you can get the install to run there there then transfer the files manually from the folders:
(Note that the Addin folder has both a WhiteFeet folder and a .addin file.)

If these files are in place Hummingbird should run correctly.  The Setup program does not make any other changes in your computer.


marioguttman's picture

Here is some information from Microsoft about this issue:


Thank you for your help Mario!

Installing it on another computer and copying the files seemed to be the easiest solution and it worked out well.

Kind regards

marioguttman's picture

Glad it worked out.  Sometimes it's better not to try to understand Windows but to work around it.  Mario

zdjdevil's picture

Hi Peirramo, I met an same problem when I add an arc-based grid from CSV. I wonder if you have solved this problem, the error message is:

Error in ConvertHbCurve: The vectors end1 and pointOnArc are coincident.

By the way, the same arc can be import in Revit as mode lines sucessfully, only be wrong when as grid.

marioguttman's picture

I'm not aware of this issue or the previous thread with Peirramo.  Generally this kind of message is returned from Revit indicating that it didn't like the points provided.  Can you upload a sample .CSV file that illustrates the problem?  Mario

Dear Mario,

Is Hummingbird entirely for free? If it installs Whitefeet Modelbuilder tool for it to work, do I have to buy the Modelbuilder license?

Thank you,


marioguttman's picture

Paul, Hummingbird is entirely free.  The ModelBuilder module from the WhiteFeet Tools is included.  It is exactly the same except that it doesn't prompt for a license.  Incidentally, you can install the full WhiteFeet Tools on a trial basis for 90 days.  There is also a student license available for $20.  Enjoy.  Mario

I want to export geometry (components) from revit to Rhino. the problem is the layer in Rhino just says (walls), but there is specific information about each wall in that layer.. Basically I want every little wall on its own layer. Possible?

marioguttman's picture

There is currently no way to attach any additional information to the export from Revit (although I may look at adding that.)  You could try exporting a list of values in exactly the same order and then using some other method to import that list to Rhino-Grashopper and then match them up.

Is it possible to use Hummingbird/ModelbBuilder to create doors and windows in Revit from Grasshopper? I'm not getting it to work at the moment. They appear in schedules in Revit, but no actual geometry is drawn. I assume it has something to do with that they need to be hosted. Thanks! /Petra

marioguttman's picture

Your perception is correct: it is not possible to place famlies that are hosted.  I will think about how to address this but it is difficult since I need to know the identity of the host element.  Perhaps I could search and find the nearest wall. 


I'm not sure if this would work, but as a workaround you could try placing some families that looked like doors and windows but were not hosted.  Then you could globally replace them with real doors and windows.

Hi, I just gotten started with Model Builder and Hummingbird, and I'm running into problems with how values are saved when I'm exporting small geometries from Revit. I've been using the "HB Proofs - Model" file that is included in the download to understand the problem, and I'm exporting one of the floors. At first it exports correctly but as I reduce the size of the floor the x,y,x values in the csv file have too many commas in them, for example: 65,5, 20,0000000000001, 30. 

Anyone else with the same issue? Or any thoughts about it? 

Thanks in advance! /Petra


marioguttman's picture

This problem may be caused by Rhino switching to exponential notation for very small numbers.  This is complicated by cultural differences between countries about how they format exponential numbers so, if your Windows environment is set to a European country, my US environment may not read it properly.


I'm not really inclined to study this issue since it will be hard for me to recreate the problem.  Is there a way that you can change units so that the numbers are larger?  Alternatively, multiply all your dimensions by a big constant (like 1,0000,000) and then scale the results later.


You will also likely encounter problems in Revit with trying to import small values.  Good luck, Mario 

Thank you for the quick response, and for great work! Turned out it wasn't an issue of small numbers at all, but one of the decimal mark defaulting to a comma. Changed the settings in the computer and problem solved! /Petra

marioguttman's picture

Good catch.  This is another one of those cultural differences in Windows.  Could you please provide some instructions on how you set the values correctly in case someone else has the same issue?  thanks, Mario

The settings are changed under:

Control Panel > Date, Time, Regional Options > Region & Language > Formats > Additional Settings > Numbers. Make sure the Decimal Symbol is set to dot, not comma. 


cadman's picture

Thank you for this wonderful plugin, and the Revit to Rhino Import!

I know that Rooms aren't visible in the 3D views in Revit, but can they still be exported? 


In plan view, I had the room selected and then chose to export the selected geometry, but it exported a blank .csv file. I also tried to export all model elements, but still no room that I could tell. 

Is there something I am missing?


Thank you for all of your help. 



marioguttman's picture

I replied to this earlier but I'm not sure what happened to my comment.  What I said was that you are correct; I never implemented the Room export.  Since then I have updated the ModelBuilder program so that it does export rooms and areas.

The logic of these is a little different than you might expect.  Strictly speaking a a room or area only has one item of geometry: its insertion point.  For that reason, when I do the basic export that is all I include.

I'm assuming that if you are going into Rhino what you really want are the boundaries of the room.  To accomodate that I made it so that, if you choose the option to convert the output to lines, the boundary is output.

Interesting, you could use that as a way to convert a bunch of Revit rooms or areas to linework (assuming there was some reason to do that!)

cadman's picture

Thank you for the quick response! The rooms imported great. I'm working on a way to visualize the rooms better since Revit can't show them in 3D. 

Is there a component in grasshopper that reads the element ID from the .csv as well, or should I just use an excel reader and compare the data that way?

Thank you again for your help.


marioguttman's picture

I've uploaded a new version.  It includes the option on the Revit ModelBuilder side to export geometry as Filled Regions. If you export your rooms using this option and then use the Input component to import them to Rhino-Grasshopper they will come in as surfaces with a closed boundary.  I think you will find that this gives you a number of options for manipulating them in Rhino including extruding them.


I elected to use this approach because I was uneasy with importing the ElementID values.  There are some logical issues since the ID values are not really associated with the geometry and so on.  Also, rooms can have holes in them (and islands in the holes) so the geometry is fairly complicated.  (I haven't fully implemented the ellipse shapes but lines, arcs and splines should work.)


Please try this out and let me know if it is working for you.


Incidentally, since I was implementing Filled Regions anyway, I added a component on the Rhino-Grasshopper side to create filled regions in Revit.  There are some interesting potential workflows using them since they can store a complex boundary that would be hard to manage otherwise in Revit.  (Sorry, no masking regions at this time; take it up with the Autodesk Revit API team.)


Documentation has not been updated yet.  Later.  Mario

marioguttman's picture

That's an interesting idea (to read the element ID in Rhino.)  I could probably do that.  What would you want to do with the value in Rhino?  Is there a way to add a parameter to a Rhino object?  Then, when you export from Rhino would you want to export that value?


The Element IDs aren't really good for much at this time.  My original intention had been to adjust the dimensions of an existing object (rather than replacing it) so that it would preserve its hosting relationships.  Unfortuanatly the Revit API doesn't allow that, so now I just delete the element and rebuild it.

cadman's picture

Rhino Objects have an Object Name in their properties. Could you write the Element ID to that value? 


If I could read the Element ID from the csv, then I could join all the lines associated with that ID and have a closed polyline of the room outline to extrude. The Element ID is already in the csv file. I can see it using the HummBird CSV Viewer. The value just doesn't get read into grasshopper using the Grasshopper Hummingbird CSV Input Node.


I'm only working in grasshopper, so just being able to read the id there would work for me. 


I didn't realize about the changing dimensions in Rhino in order to adjust Revit! Will have to experiment with that as well!

marioguttman's picture

You're right.  I just went back and check the code for ModelBuilder and apparently I never implemented the export of rooms from Revit.

You will have to work around this by using lines of some kind to represent the rooms.

I'll need to take a look at this and see if I can publish an update.

Firstly, thanks for the hard work. This is looking like a very useful tool. 

I have a question regarding the lines component.

I'm trying to import detail drawings from rhino into revit. The Lines component appears to only output straight lines, splitting curved curves into many small lines. However, Revit has a tolerance of 1mm (in metric cm settings) regarding minimum line length, and will not draw the tiny lines required to give the impression of a curve. The only workaround I have found is to scale the geometry in Rhino by a huge factor. This isn't really viable as the drawings need to be incorporated into our project file at a certain scale. I have tried unsuccessfully to scale them down again in Revit. Any ideas?

marioguttman's picture

The "Lines" component input accepts a tree of "cuves", which may be lines, arcs, polycurves, nurbscurves, polylinecurves, or a mixture of these.  It will create lines, arcs, or nurbscurves in Revit accordingly.  (The data displayed in the "Data" output will only show lines and arcs.  This is a bug that I will fix.  The data written to the .CSV file should be OK, however.)  If you are having difficulty making any of these work please send me a sample project that illustrates the problem.

Regarding scale, this is often an issue.  Revit always stores data internally as feet, irrespective of what the scale setting is.  The ModelBuilder offers a couple of options for converting the scale as it reads the .CSV file.  Alternatively, you can apply a scale factor as you input the curves in Grasshoper.  Again, if you can provide a sample file I will try to analyze the problem.  Be very specific about the scale settings in both Rhino and Revit.

marioguttman's picture

I've posted a new version that includes a component for uploading Revit data to Rhino.  I also added a link to a website where I have posted some sample data.  Be sure to look at the revised Users Guide.  And tell me what is working or not working for you.

Hi Tim and Mario,


does Hummingbird run with Win8.1?



I'm using this with Grasshopper 9.0076, and I' getting index errors and "unable to write .csv files.

marioguttman's picture

Can you provide more specifics about what you are tring to do and what files you are using?  Try the "Proof Files - 2015" from the site.

I've installled Hummingbird for Revit 2014/2015.  When I tried using the Sample fiels in the Minimal Test File I get these message when I attempt to write a .csv file.


CSV writer version 2013-08-18

Unable to create or connect to .csv file.  Folder must exist and existing file must not be in use.  EstablishCSVlink() failed.

Any idea?

marioguttman's picture

Can you try downolading the Revit 2015 sample data from the site and testing the "Proof Files - 2015".  Although the Revit file in this set requires 2015 the Rhino-Grasshopper files are the same.

marioguttman's picture

The new version has been posted on this site.  It installs for both Revit 2014 and 2015 (even if you don't have them on your computer.)

There are some useful documentation and sample files at in the Hummingbird - Rhino to Revit Translation section. (You will need to create an account and agree to the license agreement but you can use Hummingbird without buying a WhiteFeet Tools license.)

This update exposed a number of issues that need to be fixed.  We are also working on a Revit --> Rhino upload option.  So stay tuned for another update.

And keep sending messages and posting stories about what you are doing.

marioguttman's picture

I've created a new version that includes ModelBuilder for both Revit 2014 and Revit 2015.  It requires Rhino 5.  Available from for now.  I'll try to get it up on this site as soon as possible.

Protected Collaborative Environments
© 2016McNeel Europe. User-submitted content and trademarks property of their respective owners.