Create test points for DF simulation for numerous surfaces

Hello everyone,
I am in need for help.

I want to estimate daylight factor on specific task area/areas (areas that are lit by daylight only, without considering those that are not exposed to daylight) that are generated with relation to windows geometrical properties (this approach is used in EN15193-1 Annex F - evaluation of daylight availability for artificial lighting energy demand, and I am validating it with honeybee). I created a definition that generates the surface/surfaces according to the number of windows and their geometries, but I have hard time figuring out what can be an issue in generating test points.

I assume that the problem is overlapping of surfaces, but when I create a solid union, component “generate test points” generates points considering only the first surface in the whole set of my surfaces.
What could be an issue?

I will attach my GH definition here, and I will appreciate if anyone of you can help me figuring out this.

_daylit task areas (643.0 KB)

Hello aki-luk

I very quickly looked at your file - didn’t get to pressing calc…

Is the problem that you haven’t flattened your points list? Your sending a nested list from the gentestpoints - I guess that triggers the calc X times. Flatten it and all the points will be considered in one calc.

Good luck,


Thank you for your reply, John!

But unfortunately, the issue is different. The problem is that this component generates test points considering only one surface, while I send several surfaces to it (connected through solid union component). So the issue is why it generates test points not considering all the information that I send to it and if I am doing something wrong and there is a better way to set the grid.


Oh, ok. Im out for the evening now but i can check over the weekend. If the issue is that the geometry is in gh but not getting to radiance/daysim, Im expecting the issue to be related to your list structures.

If this is what you’re looking for then this file will show how I did it.

  1. Why are you trying to union surface? You can just connect all of them directly.
  2. Don’t forget to Flatten the list and use CleanTree component to remove Null values.

Thank you very much, it works!
But here is another problem, and that’s why I wanted to union surfaces, that they overlap and grid is not uniform. Is there a way to make it uniform for the whole set of surfaces?

You could place one grid mesh over the entire surface inaddition your smaller grids. Then use the ‘does intersect’ grasshopper node to only keep the mesh panels of the overall grid that overlap your smaller grids.