HB Results to Json to VTK to Paraview

hi @devang

This looks so cool https://github.com/ladybug-tools/honeybee-vtk !

Is it possible to dump simulation results and vertices into json, convert to vtk and visualize in Paraview?


Hi @OlivierDambron,

You’re ahead of the rest.

I can say that it is possible to write simulation results. However, we have yet not built that capability.Creating vertices is also possible and we’re already doing it for sensor points. If you have an HBJSON with sensor grid objects in it and if you use the following command then you should see sensor points exported.

honeybee-vtk translate "hbjson file" --include-points

As a start point, we built this package to give a user the capability to visualie HBJSON in a web browser and do QA/QC.

hi @devang

Hope you’re well.
I’ve been trying to mesh a large urban area to run sun hours on 500 000 points or more. I’m testing a way to handle these outside of Grasshopper. Im always pleased with using Paraview when cases are heavy.

I’m using SnappyHexMesh from OpenFoam to get orthogonal mesh faces on the building facades (butterfly helps me organize the patches to mesh appropriately, and it’s possible to filter them more conveniently in Paraview after). From Paraview Im able to export as a CSV of the list of face center points / sensors. With those I can run Sun hours via the command line.
I can’t seem to find my way through loading sun hours results in Paraview.
Nor load the Paraview filtered mesh onto Grasshopper with consistent data structure.

Would you see a way using honeybee-vtk?

Hope I’ve managed to describe it ok, let me know if I can clarify anything.

With kind regards,

Hi @OlivierDambron,

Interesting. Have you been able to create an hbjson for this project?

If I have an hbjson with a sensorgrid with 500 000 meshes, and your sun hours study results, I can use honeybee-vtk to create a visualization. This example shows how we load daylight-factor results on hbjson and visualize it using honeybee-vtk.

If you are not able to create an hbjson due to the large size of sensor points, please share your model if you can. I will use honeybee-3dm to create an hbjson for you.

hi @devang

Thanks for your fast reply.

I am currently at a testing stage of the tools to achieve this, I’ve been working so far on a very simple and small model to facilitate iterations.

What I tried to do via the SnappyHexMesh was to avoid generating testpoints in grasshopper as it would make it unusable. Also the snappyhexmesh allows to wrap the mesh around the geometry which sorts all the adjencencies issues (ie: 2 adjacent facades of 2 neighbouring buildings that dont need to be computed - this reduces the number of points to be tested as those would return 0 values when running sun hours for example).
From reading in paraview the cells on the facade patches, I can export a csv with the list of face center points, which in theory are the sensors to test.

I can then write a HBjson to run a simulation onto those points however its not including any mesh information. Although I now have a list of results and a list of points, I can’t visualize results to verify that its all consistent without providing any mesh info.

  1. Would there be a way to recreate a mesh with only :
  • test points + results
  • a hbjson file that doesnt have mesh information
  1. Do you see a way of using honeybee-3dm to generate testpoints on the facade of a large number of buildings? Running a sun hours without going through Grasshopper and visualize results on Paraview to verify consistency?
    I attach here the example Rhino file for reference. URB_simpleGeo.3dm (85.6 KB)

Thank for your help


I had absolutely no idea that this was a thing. This is really really cool indeed!

A few years ago when I came across Mayavi, I was wondering if something like this could be leveraged in building simulation visualizations as well. Looks like @devang has already made a fair amount of progress.

(Just wanted to state that, nothing else to contribute to this discussion)

1 Like
  1. Would there be a way to recreate a mesh with only :
  • test points + results
  • a hbjson file that doesnt have mesh information

I don’t think so or at least, not that I am aware of. Geometry is needed to create grid meshes.

Do you see a way of using honeybee-3dm to generate testpoints on the facade of a large number of buildings?

Yes. this is possible using honeybee-3dm. Please see the attached rhino file. If you have a seprate layer for geometry that we can use to create grids then honeybee-3dm will create an HBJSON with grids. You can load the attached .glance file in Paraview Glance to see the exported HBJSON.

URB_simpleGeo.3dm (137.4 KB)
for_Olivier.glance (10.7 KB)

Once an HBJSON is generated, we can use honeybee-vtk to visualize it or to mount results that you have.

1 Like

Hey, thanks @sarith for checking this. We have plans to develop both the libraries further.

hi @devang

Thanks so much.
Wow honeybee-3dm is super efficient. As long as I organize it into rooms and grids, it will automatically organize the hbjson? are there other types of layers recognized?

I’ve tried to look around to set the config.json file in order to control the grid size, I didn’t manage so far. Are there ways to control the grid names also (example: 1 per building or 1 per polysurface)
Could you please point me in a direction?

Found it!! Thanks so much

I was able to make honeybee-vtk work through python 3.7.7 64 bit
while lbt-recipes runs better on python 3.7.7 32 bit.

while lbt-recipes runs better on python 3.7.7 32 bit.
cc: @mostapha

lbt-recipes should work just fine on 64 bit. @OlivierDambron, can you provide more information? What sort of issues do you see when using the 64 bit version?

hi @mostapha

I’m not sure of the reason but I can recap here what I encountered.

I couldn’t install honeybee-vtk on python 32 bit, because of an incompatibility with the vtk library.
I removed all my pythons and reinstalled 64bit python. Honeybee-vtk worked well.
However executing a recipe from the command line was not copying automatically the recipe from the site-package to the radiance case folder.
I then installed python 32bit alongside the 64bit, and both ended up worked well.

Hope this helps, if need be I could try to recreate the error and provide screenshots