Export to gbXML failed

I am trying to export a gbXML file from a model I did in Rhino. I am getting an error message in the final steps of the export:

  1. Solution exception:Failed to run OpenStudio CLI:
    SWIG director method error. ArgumentError: invalid null reference Expected argument 1 of type openstudio::model::ShadingSurfaceGroup const &, but got NilClass nil

and I don’t know how to proceed. I also get some errors from the HB Validate Model. I tried to keep my model neat and tidy. Can someone point me in the right direction?

Here are both log files:
run.txt (6.7 KB)
honeybee.log (2.8 KB)
as well as the model I am using(I haven’t loaded the vertical communications in this file):
test_file.gh (840.7 KB)

Hi @Hristo I think I might have a work around for you, if you
if you enter 2 into the run_ input it will only translate the model. then using the model which path can be found on the open studio output

You can then open the osm in open studio application and export gbxml from there.
I tried it with your model and the xml exported.
I hope that helps!


Hi @TrevorFedyna , I will try this asap. I have noticed a problem with the HB Validate Model as well, and I was wondering if Python versions may play a role in this?

Hey @Hristo ,

You helped me find a bug here, which I just fixed (thank you for that). But it’s almost better that you got an error in this case because I’m really not sure why you would assign all of your doors as orphaned geometries like this:

… that is, they don’t have any parent Room or Face and so they are not going to be interpreted as doors in either OpenStudio, EnergyPlus or gbXML. Rather, they are just going to come through as shades located in the middle of your building:

Is this what you were intending to do?

As I said, I just pushed a fix that will ensure that the orphaned doors translate to gbXML successfully as shades. But a potentially simpler way to get things to work for you is just to remove these doors from the Model. Or assign them to the Rooms of the Model so that they are correctly translated as Doors.

1 Like

That failure of the validation routine looks like something you should only be able to get if you’re really messing with the model tolerance (maybe you set it to a really high number?)

I just pushed something to make sure that you don’t get an exception when that happens:

But my guess is that your model will still have a lot of validation errors to fix and I do not recommend changing the tolerance as a way to try and fix them.

1 Like

Hi @chris , as the doors share two rooms, would this way of assigning them to rooms do the job and should I run the HB Solve Adjacency before, or after the Add Surface Component?

When you say changing the Tolerance, do you mean the one you set in Rhino?

I tried to model this as precise as possible, for the sole purpose of using it as an energy model. I found one or two Doors that were copied twice in the same spot, but other than that it looks clean and simple.

I did a comprehensive check, floor by floor, and after some time I got my model through the HB Validate Model with 0 errors, but still, it won’t let me export it directly using the HB Dump gbXML. :frowning:

Hi @Hristo ,

It seems that you did not run the LB Versioner and restart Rhino to get the latest version before you tried to re-run your script. If you do this, I have no issues running the Grasshopper file you uploaded.

And, yes, you would have to assign the Doors to the Rooms like in your screenshot if you want them to be translated to gbXML as true Doors and not Shades.

1 Like