New Honeybee Component: Import gbXML

Hello all,

I wanted to let you know about the new component that is just added to Honeybee that will let you import gbXML files as Honeybee Zones and shading objects.

I attached the userobject and the example file to this file so you can give it a try with any version of Honeybee that you’re already using. The only requirement is to have OpenStudio installed as the component is using OpenStudio libraries to parse gbXML files. If you’re using the latest version available on github the component is also available under WIP tab.


The main purpose of developing this component is to save time and effort for importing Revit models for energy and daylight analysis. It bothers me to see a lot of smart people spend a lot of time to just come up with solutions just to get the geometry from Revit to Honeybee for analysis. This component is not solving all the issue but is a first step forward. In an ideal world, the future version of Honeybee, which works both under DynamoBIM and Grasshopper should address this issue but that can take some time to be fully ready!


To use this component you need to Export your Revit model as gbXML and then use the file path to load the file into Grasshopper. There are several resources available online on how to prepare the analytical model in Revit and export the gbXML file. Here is an image for importing the Revit 2017 sample model using the default settings. As you can see the model will be just as good as what your original gbXML file from Revit is.

What can be improved?

Well, there are several items that can be improved and they are mostly not on us. To get it started I add what I think are the 3 main shortcomings and my thoughts on how they can be addressed in the future. Feel free to add what you think needs to be added to this list in the comments section.

1. Revit analytical models and as the results gbXML files, by design, are not intended to be clean. Watch this presentation from the Autodesk University to see the logic behind this approach which in short is it doesn’t matter for a large scale early stage energy model. Well, This will be quite a problem for studies that you can do with Honeybee. Included but not limited to daylight and comfort analysis.

The best solution that I can think of, until Autodesk fixes their exporter, is to use Revit Rooms and Spaces and generate a clean model from the scratch. We have already tried this approach in Revit but since the Revit API doesn’t provide access to Room openings we had a very hard time to get it to work.

That’s why that I opened an idea on Revit ideas to get over this issue. With your support we already have 81 votes, but it hasn’t been enough to make them to consider the idea for an official review. If you haven’t voted already and you think this will be a helpful feature take a moment and vote so we can have it implemented at some point in the future.

2. There is no way (that I know) to export only part of the model. The way export gbXML is set up in Revit is to export the whole model once together. As a result, if you have a huge model with 100 rooms and you want to get one of the rooms into Honeybee using this component you have to export the whole model, which can take some time, and then import them all back into Grasshopper. To partially address this issue I added an input to the component that allows you input a list of names for rooms that you’re interested to be loaded into Grasshopper. You can use the name of the room/space in Revit as an input for the component.

3. The component doesn’t import adjacencies, loads, schedules and HVAC systems.
I wasn’t able to export a gbXML file from Revit with any of this data except for the adjacency, but even if you can do that, the component currently can only import geometries and constructions. I hope we get access to 1 and so we don’t have to use the xml file approach at all, but if that takes a very long time then we will add these features to the component.

Happy 2017!


rac_basic_sample_project.xml (1.78 MB) (17.1 KB)

Hi, very nice!

Thanks for the outstanding work.

Awesome!!! Glad that the gbxml import capabilities are here! This is going to open up connections to other software like DesignBuilder too!

I recently using Revit model for daylight and energy analysis in my project.This function is just the one I needed.Thank you Mostapha.This Function is so amazing and I loved it!!!

Thanks much for putting this together Mostapha. My Rhino crashes every time I try opening the xml file, wonder if anyone else has the problem?

Strange! Are you using the xml file that I attached here or a different xml file? Can you share the file with me if it’s a different file?

I am using the one you shared Mostapha!

Thank you for the update. Let’s see if it’s an issue with the file or your system. Can you try the attached file? This is a standard xml file from the gbXML website.

OfficeBuilding.xml (866 KB)

This new xml file worked just fine and opened right away. I restarted my computer and tried the original file and that is working fine too. Looks like there were some computer updates that needed a restart! Thanks for your prompt response!

Perfect! Thanks for the update. I was wondering is you’re working in mm and the intersection for small surfaces makes Rhino crash. Great to know that it’s working fine!

This is awesome Mostapha. I have another reason to get out of Revit and back to gh. Boy that software is a pain. Congrats and keep up the food work


I got excited and started looking at some of the xml export attempts I had done before to get geometry into OS. Found one for you that definitely crashes the Rhino in case you are interested in looking more into it and potentially help you fine-tune things in the new component! it is a much bigger file that may be the reason why translation becomes too taxing!

Hi Mostapha,

I tried the example you shared and I got an error:

  1. Solution exception:addToHoneybeeHive() takes exactly 3 arguments (4 given)

do you know the reason for it?

thank you in advance

Hi Stefania, It’s because a recent change that I made in Honeybee hive which is different from the version that you’re using. I can fix that later today and update a new version that works for both versions.


Amir! I can import your model with no issues. What tolerance and units are you using?

Stefania, I updated the gh file. Try the new version and let me know if it works for you.

Looking forward to trying this out. I want to download the sample project xml file however I keep getting this: “This XML file does not appear to have any style information associated with it. The document tree is shown below.” and it does not download.

  • Sandi

Press ctrl+s once you see that page and you’ll be able to save the xml file.

Thank you Mostapha!

I am trying to split up the HBzones into perimter and core zones. Is it right to use the Honeybee perimeter core zoning component? From there I don’t know how I would change the settings for perimeter depth. I have attached what I have done. I am pretty sure it is not the right process.

2 Revit to xml Two spaces (520 KB)
2.1 Revit to xml Two spaces_complxwshading and identfy external.xml (122 KB)