Hummingbird

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.

UPDATES!

  • 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)

Requirements:

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 (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:

http://www.whitefeet.com/Hummingbird

https://ghhummingbird.wordpress.com/

- Tim & Mario


Support Email: 4FQ.Y4@LFPSY4ZK@
Plug-in rating:
4.615385
Average: 4.6 (13 votes)
Downloads:
Title Release Notes
Hummingbird w/ Rhino Input
2015-Apr-14
Added component for reading ModelBuilder .CSV files to create geometry in Rhino.  
238 downloads
Version: 2.2
Language: English
Hummingbird for Revit 2014-2015
2015-Mar-08
This update supports both Revit 2014 and 2015. You will need the 64-bit version of Rhino 5 and Grasshopper 9.  
424 downloads
Version: 2.1
Language: English
Hummingbird 2
2013-Oct-29
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  
4772 downloads
Version: 2.0.0.0
Language: English
Hummingbird (old)
2013-Jul-25
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.  
4383 downloads
Version: 1.0.0.6
Language: English
    
        
        
   
License: https://ghhummingbird.wordpress.com/downloads/license-agreement/

Comments

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. 

/Petra

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 http://www.whitefeet.com/Hummingbird/ 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?

 

Thanks

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 http://www.whitefeet.com/Tools/ 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 http://www.whitefeet.com/Tools/ 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 http://www.whitefeet.com/Tools/ 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 http://www.whitefeet.com/Tools/ for now.  I'll try to get it up on this site as soon as possible.

Thanks Mario! I didn't think you were updating it anymore?

marioguttman's picture

Yeah, I got beaten up about abandoning it.  The best way to keep me working on it is to post stories about what you are doing with it.  Currently looking at a Revit-->Rhino tool for transfering geometry out of Revit and into Grasshopper.  Would you use that?  Mario

Hi Mario. Its good to have you back. Yeah a Revit > Rhino tool would be useful. Chameleon had one but it hasn't been updated in a LONG time and is no longer available for download. One of the limitations I found with it was that everything came in as meshes. There was a lot of rework required to make the geometry and data structure usable. If this could be streamlined it would be awesome. I'm now using more Dynamo to take things from Grasshopper to Revit. But there isn't much out there if you want to go the other way...

Hi Tim and Mario,

Is there any way to get a wall to come into revit on something other than the wall centerline? Can we get finish face exterior or finish face interior? I think the plugin is amazing, and I am hoping that you guys keep developing it because it could be even more powerful than it already is.

kmwolf

marioguttman's picture

I have reactivated the http://whitefeet.com/Tools/ site.  You can download the 2015 version of the WhiteFeet Tools and use the ModelBuilder to do the Revit side of the translation. You can use the current version of Hummingbird to do the Rhino side.  Sorry, I've been slow to get a 2015 Hummingbird package out.  Mario

Hi,

Will a new Hummingbird for revit 2015 going to be released soon?

Thank you,

Julia

Hi

Does Humming bird support the latest version of grasshopper? 

And the version for Revit 2015 is coming soon yet?

I tried to transfer models from Rhino to Revit 2014. All the columns and axises are stacked together. The grasshopper version I am using is 0.9.0075.

Does anyone have the same situation?

It would be great if someone could pass me basic exampls I could start with. my e-mail address is stephen.yulin@gmail.com. 

Thanks

Stephen

Hi

I'm trying to export multiple columns with multiple types. However, regardless of if I fatten or graft the list of types, it only writes one type to the *csv. Is it possible to export multiple types?

tjmeador's picture

You'll have to use multiple copies of the column component. One for each type. 

wlqq_2004's picture

Can I use the hummingbird(Model Builder) to add doors and windows components in revit file?I have Succeeded in palcing a desk,but I don't konw how to add a door。Please halp me,thanks~

Is the whitefeet website down?

marioguttman's picture

I am no longer running the WhiteFeet Tools website.

Hi Mario. Is someone else going to take over? What is the future of Hummingbird without the WhiteFeet plug-in?

michaelfrederick's picture

Hi.  When attempting to process a .cvs file in Revit 2014 is anyone else getting the error:

Error writing.ini file in UtilitySettings.WriteIniFile.System message:Access to the path ‘C:/ModelBuilder2014.ini’ is denied

local install of Revit 2014 running on a borrowed network licence

local install of Hummingbird 2.msi downloaded from this site 

no errors when installing Hummingbird2 only the one error when in Revit.  

any idea?

much thanks!

 

I can help ya with that one I think.. Save your revit project first.

If I understand correctly, it's trying to write to your C:/ and (presumably) you don't have admin rights. Was doign it for me as well but as soon as I saved the revit project, Hummingbird automatically wrote the ini file (ModelBuilder.ini) to the same directory as the revit file. Basically it stores the sessions hummingbird settings.

ogcsmysterio's picture

Hi Mario, I have recently downloaded hummingbird but I've got some trouble, I do my definition but I don't know why always it give me an empty file. I don't know where's the mistake, do you have some guide or tutorial? Thank you very much.

ogcsmysterio's picture

Hi, a newer version for Revit 2015 will be avaible soon? I have update my 2014 version but sadly I can't use Hummingbird anymore, and neither recover my 2014 Revit. Thank you,

Oscar

Hey There, I am 2015 Revit. Do you have any anything in the work to play nice with 2015? 

Thanks, I know it's a lot of work to keep pushing out releases.

 

 

marioguttman's picture

akragness:  We do not have a 2015 package for Hummingbird but I have posted a 2015 version of the WhiteFeet Tools for Revit at http://www.whitefeet.com/Tools/ You can use the 2014 version of Hummingbird to get the Rhino-Grasshopper components and then use the Model Builder in the 2015 version of the WhiteFeet Tools in Revit.

Hello

I was wondering if it is pooisble to feed multiple types into a hummingbird node like you can with the parameters ?

I notice when you export multiple floors from revit to Whitefeet it adds a line before each new type and set's the floor type.

I can't manage to get the same when exporting from Grasshopper/hummingbird, it wants to only set the type once.

I would like to be able to feed in multiple floor curves with corresponding mutliple floor types. is this something that can be done

 

Cheers

 

Gary M

 

 

marioguttman's picture

Gary, The .CSV format and the Revit ModelBuilder addin can support that.  Unfortunately, the current Grasshopper plugin does not.  You could workaround by having a separate component for each floor.  Maybe someone who is better at Grasshopper than I am can suggest a better solution.  I'll take your request as a suggestion for the future.  Mario

Hi Mario

Thanks for gettting back to me

I have manage to fudge a work around for the moment

I am reading the CSV file back into GH and automating a line to apply the relevant thickness to each floor and then just stream out the results.

I have it working for Beams and other elements too it's working great

It means I can just add a name to curves in rhino or grasshopper and Hunmmingbird can just import them all onto the correct sizes.

Thanks for your help

Gary M

I am using Rhino 5.0 and the latest Hummingbird Build.  Whenever I try to make  a Mass Family I get the error:

Unable to create FamilyInstance

 

I am using the Sample data from whitefeet : SampleMassFamilies.csv

 

Please see image from flickr

https://www.flickr.com/photos/58354739@N07/14280906856/

 

 

marioguttman's picture

ancientholiday, I checked and that file does not run properly for me either.  A number of the files in that folder seem to have problems.  Sorry, sample data is due for a cleanup, but I keep putting it off.  Try the other two folders in the .ZIP file.  Mario

Hi, 

I have successfully added walls from the tutorial files; however, when I section my floors they show up as errors in REvit. The CSV file looks very similar to the one in the tutorial files. Anyway to solve this?

 

Secondly, I have a custom mass that I have contoured to get the floor curves. There are three index errors and failure to write a CSV file. Not sure why it works in the tutorial version. I have tried grafting the input from the curves as well. 

Do I have to have the gridlines specifying the floor heights before the floors are made?

https://www.flickr.com/photos/122657656@N08/13698418663/

https://www.flickr.com/photos/122657656@N08/13698420345/

I am having difficulty using excel to update the floors in my revit model from grasshopper. I use the lunchbox component to read the file then intersect brep etc.. and it doesn't update the second excel file that revit needs from the hummingbird component. if anyone could take a look or give me a clue to how to accomplish this, then that would be great. maybe because the 'tab; component changed to 'file'?

thanks in advance

erik

Protected Collaborative Environments Wildcard SSL Certificates
© 2015McNeel Europe. User-submitted content and trademarks property of their respective owners.