Locating occluded (shaded or unshaded) areas of a topography using Grasshopper

I want to be able to use Grasshopper to determine where occluded (shaded) or un-occluded (un-shaded) areas of any given terrain are located.

The idea is to run a sun study and determine which areas receive the most light throughout the day, or receive the least light throughout the day.

Here is what I have already:

Sun_Shade_Area_Analysis.gh (17.6 KB)
Sun_Shade_Area_Analysis.3dm (310.2 KB)

Hi Mitchell,

This kind of specific grasshopper plugin question should be posted on Grasshopper’s forum, in Heliotrope section. You need to register to grasshopper3d.com forum first, then join the Heliotrope group in order to be able to post a question there.

I do not have Heliotrope plugin installed, so can’t open your .gh definition properly.

Until you are waiting for the reply there, you can also check the Ladybug plugin, to analyse the number of direct sunlight hours:

In order to open the attached file, the ghpython plugin needs to be installed.

Sun_Shade_Area_Analysis2.gh (464.1 KB)


I disagree :wink:
(I absolutely hate the format of that forum… - FWIW)


People differ :slight_smile:
I personally like it! It’s simple, concise and the green colored design relaxes (my) eyes.

1 Like

Thank you!

Using ladybug, do you know how I could “filter” out test points that receive an undesirable # of sunlight hours in order to obtain a list of the locations and their respective # of sunlight hours?

For example: If I wanted to see only the locations that have 5 or more daylight hours in any given period of time.

Hi Mitchell,

You are looking for an average number of (direct) sunlight hours per day, for the chosen period of time (summer, winter, whole year)?

If that is so, check the attached definition below:

It contains a custom python component. This one can also be replaced with Ladybug Branch Data component, but I find that one taking more time to load and fails with annual analysis period. If your PC is weaker as mine is, just use the component provided in attached definition. Make sure that you define the analysis period for particular period of time.
Also, I am using Lincoln, Nebraska location. You can make your own location by providing exact latitude/longitude coordinates of the actual site, by using Ladybug Construct Location component.

Let me know if this helps or if you have any other questions.
Sun_Shade_Area_Analysis3.gh (499.2 KB)

1 Like

Thank you, this helps a lot and it’s what I needed