How to optimize shadowing without a STD


As a personal point of view, I think that LadyBug tools are very interesting in early state design. That means that we may not have hours to spend on a STD just to evaluate how we could imagine shadowing.

Assuming that, I’ve set a GH script with some of the ladybug tools to find how to shadow a skylight to prevent facades from direct radiation in summer for exemple. This is very perfectible, and there are certainly better ways to do this but I’ve thought that this may interest some people. So here it is :

So for that purpose I’ve used a U shaped building with a solarium inside the U. And I was wondering where to place shadowing to prevent from direct radiation on inside fadaces. I do this because I don’t think I can prevent the solarium to heat (protections would be on the inside). But if I limit direct radiation, this would help me to lower the operative temperature and/or PMV/PPD analysis.

You can download the file here (504.9 KB).

So I’ve used a “sunpath” component and a “generate test point” component to mesh the solarium roof. I select some solar radiation (e.g. when outside temperature is higher than 28°C)
I’ve set a line for every point and every solar direction and test if these lines intersect with the geometry I want to protect from direct radiation. And then I assign a score for every point depending on if they have to be shadowed or not. Because I don’t know the syntax for coding this into a component. I had to do with some already existing and I had to do some messy stuff with the indexes.

Even if the interest of this study is a bit limited, I think that this is a good example on how you can solve new problems with ladybug tools even thought they haven’t been specifically built for that purpose. With a bit of imagination and logic you might do anything with these tools.

Finally, this is a subject not so easy to explain. As english is not my native language I hope i’ve been clear enough, otherwise please feel free to ask questions.



Great sample file for creative use of Ladybug’s sunpath. This is very similar to Central Park sample file which you can find on Hydra. I only have one suggestion and that is using MeshRay component instead of Brep|Curve Intersection. It’s much faster and should give you the same results.

Here is the file: Solarium (508.1 KB)


Thank you for your kind answer.

Yes indeed that’s impressive how fastest is the mesh-ray intersect component. I assume that this may be because of rays are done inside the bloc so no need for memorizing all of them then computing (or something like this). Anyway, thank you for the tip, that makes the script way more interesting.