LBT 1.4.0 DGP + Sun Is Visible study

Hello all,

I am trying to run a DGP study for a big area, with multiple Viewpoints. I was able to set everything up in LBT so that I can generate HDR images needed for the calculation. As an addition to the images I want to provide a graph and some visuals showing the suns visibility in those specific points during the year.

Several questions came up while I was trying to build up the recipe. I tried to do it with a smaller geometry and after all is clear, move on to the bigger model.

  1. Grid size
    While working on my smaller model, I have made a small surface (100/100mm) linked to the geometry node on Direct sun hours. Right now I have a grid that only consist of one testing point. Does the grid size play any role in this calculation, and if so, what would be an appropriate size for the test surface for the bigger model?

2.Sun is Visible
I wanted to show the visible sun positions for every view point I had to test and show graphically the sun vectors. I tried to do it by culling the sun points with the results I get from the Direct Sun Hours component int_mtx.

After reading some old threads, I found a post saying the correct way was to use the sun vectors. Is this the way to go?

I get very different results from the two

Sun Points:

Also, having the test geometry facing south, I my opinion, I should get more hours where sun is visible(at least in my opinion).

  1. Data and Graph
    My intention is to do an yearly study, getting data for every hour of the year, meaning 8760 hours. As the sun is not always up, I get 4424 values from the int_mtx. At first , when connecting them to LB Hourly Plot I got an error message, and after watching and reading a bunch of problems online, I came to the conclusion(could be a wrong one!) that I needed 8760 values, true or false, that represent whether the sun is visible or not. I did that not knowing or understanding everything completely, but at the end I got a list of values that worked. This is the process:

As I understand it, we aim to reach 8760 values, having 4424 of them, and knowing the remaining part would be 0, hence during the night.
What I don’t understand is, if the position of the added values plays a role?

The reason of my questions is the result I get from the graphic. It clearly show the sun is visible at times during the night.

Here is my grasshopper file: (69.0 KB)

Any input and explanation will be of great help and much appreciated.

Also, how would you recommend that I proceed with learning this software, any online materials or courses I could check?

Thank you all,


Hello all!

after my initial questions I started going through nodes and data I get from the components and was able to recreate the data I wanted to use in the Hourly Plot. The problem that I noticed was that the data I got from the Deconstruct Matrix was only showing the point/date-in-time for when the sun is actually up(Sounds logical).

But then I had only string values from the Analysis Period for the time when the sun is down.

Fortunately, we know that when the sun is down, it would not be visible, which meant we can replace the string values with 0’s. So now I had to watch a bunch of tutorials about lists in GH.

After a while things started to make sense, and I was happy with the result. So here come the newly developed questions:

  1. Without claiming to have an intelligent or elegant solution to Hourly Values, can this method be considered accurate for such a study?

  2. After getting the yearly results for a specific point in my building, I want to create a View Based DGP images. But since switching to LBT, a few questions came up regarding the preparation of geometry and model.

    Before switching to LBT this was the way I used to work with geometry:

    Assigning RAD_Materials to HB_Surface and connecting them to the DaylightSimulation Recipe(I don’t know if this was the correct way to do it, but it was the only way I could make it work).

Now, the new recipe requires a _model, thing get a little complicated for me. (I was able to run an old recipe from 0.0.66 using my way of assigning geometry paired with the new Glare Postprocess and FalseColors components)

I tried using the my old ways, but for some of the geometry I got this error:

“1. Solution exception:There must be at least 3 vertices for a Face3D boundary. Got 2”

I then lowered the tolerance a lot, but wasnt able to remove said error.

So my question here is, how should I model my geometry, so that I can create a HB_room for a working model? This is what I have as geometry:

If I build the envelope as a box-like geometry, how can I approach the inner geometry, so that it will take part in the calculations and I can give the materials some properties?

How should I approach the form building so that I don’t have problems with assigning geometries and materials later on?

Hristo (63.7 KB)

Hi @Hristo,

Are you sure there are no lines or curves in your input geometry? Otherwise try to add a portion of the geometry at a time so you can figure out which

You can create a model without rooms. If you add all your geometry as faces or apertures, and don’t create any rooms in the model, you should still be able to run the view based recipe.

Thank you very much @mikkel ,

I will try this right away

Hello @mikkel ,

or anyone else that might help. Sorry to trouble you again!

In a simulation I am trying to run, I started out with the idea of building a closed volume to use. After a couple of tries I ended up with one. But after trying to set it up in LBT I always get a message
“1. Input _faces do not form a closed volume.
Room volume must be closed to access most honeybee features.
Preview the output Room to see the holes in your model.”

When I preview the model I find missing “patches” in some places, for example:

After fixing remodeling the element containing the missing “patches” and a new input, I get the same error but for a different geometry(lets say a different roof on another level)

As this will be used for a view based recipe I can probably get away with assigning faces and apertures, but I really wanted to achieve a closed room volume. Can the complexity of the model be a factor?

Hey @Hristo . Have you tried plugging your geometry into the Planarize Brep component to see if you can get a closed Brep this way?

Hi @chris ,

sorry for the late reply, we had to prepare a bunch of DGP images.

Yes, plugging it in the Planarize Brep did work, but I remember it not working the first time I tried it, thank you so much!

I have another question, if I want to automate a DGP or other calculations, so that I don’t have to change the test surface or viewpoint for every position I have to analyse, where can I find information or tutorials?
I guess for a PIT recipe the date and time should change accordingly?

Anyway, all help is greatly appreciated! Thank you all for everything!