Therm: Help with "Failed to call _polygons and boundaries_ from the HB Hive"?

Chris, all:

I’m struggling to get a finished Therm analysis of a custom detail, having had success with the example files.

The problem is that when I wire all my ThermPolygons to the WriteTherm component, it reports the following error:

“Failed to call polygons and boundaries from the HB Hive. Make sure that connected geometry to polygons is from the ‘Create Therm Polygons’ component and that geometry to boundaries is from the ‘Create Therm Boundaries’ component.”

It seems to be only certain ThermPolygon components that trigger this (the 4 situated last - and currently unwired - in the attached .gh file)

Further, some of the geometry tends to lose it’s reference (and report Null) when I close and reopen the .gh file.

I checked that the Rhino surfaces are all contiguous and form a single polysurface, with normals all in the same direction.

I am a Rhino novice, so hoping that i am missing something easy and obvious here.

I’m running the 02/05/17 version of the Honeybee components.

Thanks to anyone in advance for any help,


Curtain Wall Test.3dm (438 KB)
Curtain Wall (502 KB)

I can’t help with the Therm question but back to the issue with internalizing geometries that’s a GH problem and if you search the forum you should find a good number of discussions about this issue. Not sure if there is a fix for that.


I’ve spent another round trying to solve this, but keep getting the error already mentioned.

Any suggestions appreciated.

Thanks all,



I am pretty sure that this is happening because you have an older version of the THERM writing component in your file with a newer Honeybee_Honeybee. I will check once I get the chance (it should be very soon).



I am nearly positive that this has to do with an older HB_HB that you have flying on another GH canvass. I was able to run the file that you uploaded at the start of this post and import it into THERM:

It seems that your curved edges were not translating well, though. I would strongly suggest making all of your geometry as polygons and not curves. Curves do not exist in the THERM world and the method that Honeybee uses to translate them is not always ideal.



Thanks very much for your response.

I’m still confounded here - no separate GH canvas is open, and all the HB components are ver 0.0.61. I did grab the latest HB_HB (Feb 27) from github to see if that would solve, but same result. Clearly though this is something with my configuration since you were able to get the thmx output. I suppose I could wipe & reinstall LB/HB as next step, although I did try this once already a couple rounds of troubleshooting ago.

Below screenshot in case it’s any help:


That image was helpful. I realize now that the error is happening because python’s copy module is not working correctly on your system. Do you experience the same thing when creating HBZones for energy simulations? Let me see if I can find a different way of doing this that works on your system. I’ll post back shortly.



This is not an ideal solution to the problem because, in the best scenario, we would find a way to get copy.deepcopy() to work on your machine. However, because the THERM workflow really only involves the therm polygon components and the writing component, you actually don’t have a need to copy the objects here (as you would with some other Honeybee components like those for energy simulation). Accordingly, I made a change to the code on the github so that the THERM workflow doesn’t copy the objects and everything should now work for you:…

The working components are in the attached GH file and let me know if they fix the issue on your system.

-Chris (502 KB)

Bingo! the revised Write component did export the thmx file without error. I wasn’t able to get Therm to do the calculation of course because as you already mentioned the curves were not being interpreted properly, so I have some geometry clean-up to do.

I have not done any energy simulations with HB, so can’t say whether the same problem occurs when creating HBZones.

For what it’s worth, I did get the same error (re the copy module & “failed to call _polygons…”) on both my office computer and my home laptop.

Maybe it’s related to the geometry that was being referenced? Some of the geometry plugged into the Write component without issue, while others triggered the error. All the geometry came from Revit, via AutoCAD for some cleanup and flattening, then imported to Rhino - so maybe some strangeness was picked up along the way.

Thanks very much Chris for digging deeper and finding a workaround.



I’m glad that this worked.

I am pretty sure that the reason why you cannot use ironpython’s copy.deepcopy() function is a result of your version of Rhino and not your operating system. I think that older service releases of Rhino were using a different type of ironpython or something like that. If you can update your service release of Rhino that might fix it.

Otherwise, I’m glad that you have what you need now.