Hummingbird was developed by Mario Guttman and is a set of Grasshopper components that facilitate the creation of Revit native geometry. This process exports basic geometric properties and parameter data to Comer Separated Value (*csv) text files. In Revit, this data is easily imported using the WhiteFeet ModelBuilder tool, which is included in the download.
This post has been completely re-written due to an unexpected new update. Initially, I claimed that “The future and longevity of Hummingbird remains a mystery. The plug-in hasn’t been updated in almost a year, and Mario Guttman has announced that he is no longer running the WhiteFeet Tools website. It is therefore highly unlikely that there will be any more support. So any bugs or limitations that currently exist, we’ll just have to live with.” However in March 2015, after some online pressure, Mario announced the release of Hummingbird for Revit 2014 and 2015. Then in April, Hummingbird was updated to support Revit geometry into Rhino. This update facilitates a bi-directional workflow. Hummingbird is, therefore, alive and well, which is excellent news for Grasshopper users.
One of the main limitations I’ve found with Hummingbird is that it doesn’t export Grasshopper geometry you have created but instead recreates that geometry in Revit through a series of input parameters. For example, to export a wall from Grasshopper, you don’t reference the wall, but rather define the walls centre line and height. These parameters are exported to a *csv file and then imported and rebuilt in Revit. Therefore, if the wall is irregular in height, it will not translate accurately. But this is not so much a limitation of Hummingbird as it is of the Revit API. You’ll find the other plug-ins, such as Grevit, struggle with the same limitations.
Hummingbird is, therefore, best used in the early phases of a project when setting out levels, grids, columns etc. If you have simple (family instance) geometry such as stadium seating, which is repeated or arrayed, then Hummingbird is useful. If however, you have complex geometry, such as tapering or twisting walls, then other workflows may be more suitable.
Hummingbird works in Revit 2014 to 2020. You must also have Windows 7 or higher with .NET 4.7, Rhino 6 and Grasshopper installed.
To install Hummingbird:
- Download Hummingbird and run the *msi installation file.
- To check the installation was successful, you should see the Hummingbird menu under the ‘Extra’ tab within Grasshopper.
- Next, open up Revit, and under ‘Add-Ins’ you should see the Hummingbird icon with the Model Builder.
Hummingbird currently includes the following components:
- Adaptive Components
- Columns (both structural & architectural)
- Lines (detail, model, area bound, room separation)
- Lofts (place points, curve by points)
- Rooms and areas
- Mass family (Extrudes a closed polyline into a mass family)
- Topo Surfaces
- Family Instances
To export from Grasshopper to Revit using Hummingbird:
- Connect all the parameters into one of the Hummingbird components and activate the Button to generate the *csv file. Nothing else needs to be done with this file, but if you wish to view the contents, you can open it with either Microsoft Excel or Hummingbird’s CSV viewer.
- In Revit, go Add-Ins > Hummingbird Model Builder.
- In the WhiteFeet Model builder window, choose ‘Create Elements from File’.
- Chose the path of the folder where the *csv file you just created is located.
- Select the file you want to process. The folder may have multiple files in it, for example, one for columns and another for adaptive components. Only one worksheet can be processed at any one time.
- If you didn’t define the Family and Types within the Grasshopper definition, it can be defined here. Use the pull-down menu to select from the families already loaded into the project. Note that regardless of where the Family and Type is specified, you cannot have more than one Type!
- Select ‘Process’. Before any elements are created, they will need to have been pre-loaded into your Revit project. This requirement can be easily overlooked if the family type was defined within the Grasshopper definition and not through the model builder window.
Before using Hummingbird, there are some important things to be aware of to avoid any issues:
- Whereas other plug-ins, such as Lunchbox, exports to *xls, Hummingbird writes to *csv. Ensure that when using the WhiteFeet model builder, you are referencing the correct file extension and that the file is closed.
- When opening the WhiteFeet model builder, you may get some error messages: “The path is not a legal form.”
Or “Error in UtilitySettings.RefreshRevitValues()”.
These messages appear because WhiteFeet it’s trying to write to your C drive when you don’t have admin rights.
To prevent this message from reappearing, and for your WhiteFeet settings to be stored, save the project first. WhiteFeet will then automatically write the *ini file (ModelBuilder.ini) to the same directory as the Revit file.
- When positioning elements within Revit, WhiteFeet will position them relative to the Internal Project base point. This location is Revit’s internal 0,0,0 and may not be coincident with where your Project Base Point has been moved. To find out where this point is, turn on the Project Base Point (Visibility Graphics > Site > Project Base Point), right-click and select ‘move to start up location’. You will then be able to work out the translation vector.
- Many of the Hummingbird components require a Family and Type parameter. These parameters are optional. If they are specified, they will be automatically generated when you are in the WhiteFeet model builder. However, if you are unsure which family to use, you can specify the Family and Type directly within the WhiteFeet model builder.