Bug - HB Spatial Daylight Autonomy component (1.6.0)

I just ran a model for annual daylight analysis (using 1.6.0 and radiance installed according to version matrix). The results look good, but sDA (using HB Spatial Daylight Autonomy) seem to be low.

The model contains 7 meshes + 7 corresponding grids. Each of these is in a separate branch - this is to reflect individual buildings and their levels. I post one of DA graphs below - it can be clearly seen that sDA will easily be above >50%, but the sDA components outputs around 50% (please see tree branch 1;0 in next images)

When using sDA component the results seem off (low) - please note I have connected the meshes as input at this stage. I tried and used threshold selector to calculate area from there. Results seem to be much closer to what is reflected by the DA graph. I used both - “total_area” output and “sub_mesh” with calculated area and divided it by initial workplane (analyzed mesh) area. The results semm to be much closer to what is reflected by the DA graph. Please note that both sDA and threshold components have 50% input.

To make sure that mesh areas from Threshold Selector are right - I baked both the initial (workplane) and resultant (threshold selector) meshes and checked areas in rhino - everything was fine. I tried unplugging “mesh” input from “sDA” yields results much closer to ones i get by calculating from “threshold selector”.

I am no programmer, but at this stage, my only conclusion is that there must be a bug somewhere in sDA component when calculating area of each face (or that my thinking here is totally wrong, which is possible)

Unfortunately model is quite big (8h calculation time) + it is commercial so I am not able to share it, but I am sure it is pretty easy issue to recreate.

I’d appreciate if you could take a look at this issue, maybe @mostapha ?


Hi @Wujo,

It seems like this might be the same issue, just on a larger scale. Does that solve the issue on your end?

Hello @mikkel,

Thank you for your reply. Indeed, the results are much closer to what is calculated from thresholds (± 0.1% difference). Still I think this is a strange behavior. Supplying grafted results and flattened meshes is kind of counterintuitive and against grasshopper logic.