Woven Shade BSDF approximation with 5-Phase HB+



Hi everyone,

A couple questions using HB+, 5 phase, daylight simulation only.

I plan on running a simple room with a single window with a Mechoshade roller shade type system. I’d like to study the impact of a mecho shade type woven fabric coming down either 1/4 glazing height, 1/2 down, 3/4 down, full down.

  1. is there a library of BSDF files that have a mechoshade type system already that I can reference?
  2. can I use WINDOWS7 to model just the woven fabric as a BSDF? or would I need to model a full glazing system with the shade? I’ve never used WINDOWS so I’m having a hard time trusting myself to model this accurately.
  3. since I have a single room with one large south-facing window system, would it be better to model one ‘window group’ with 4 ‘states’? How would I establish the length the shade would come down in each ‘state’?
  4. or would it be better to use 4 ‘window groups’, each with only one ‘state’; the ‘window groups’ would then be stacked on each other co-planar and aligned to build a full elevation?

The ultimate goal is to create a ‘state schedule’ to show how often and how low the shades would need to be engaged given the building orientation, facade, etc. Similar to below:

Thanks for the insight

A question about the independent control of three windows with multiple states

Hi Reinhardt (still rocking your PSU ID!),

The TL;DR reply to your question is to not use the HB+ 5-Phase method at all. Option 4 would be the most straight-forward choice.

Workflow in HB+
In HB+, you can use the DC Method with window groups to perform this simulation (I haven’t looked into the Grasshopper interface for HB+ in a while, however, @mostapha told me that there is an example for DC method with window groups). You can use the trans material to model the fabric shade. You can use the MS Excel file that Dr. Mistrick had distributed to us during AE464 and AE565 to define the material as per the properties listed in the manufacturer catalog (send me a message if you dont have that file). This method has it’s basis in the validation work conducted by Christoph Reinhart and Marilyne Anderson. Trans-based shades are procedural and might not be a 100% accurate, but should meet your requirement.
The method implemented in HB+ is faster than other flavors of Daylight Coefficient method implemented in Daysim-based software including HB-legacy.

Empirically derived database for BSDFs | Using Window 7.5+
As far as I know, the CGDB maintained by LBNL, and distributed through Window 7.x, is the only quasi-authoritative database that exists at present. You can find the list of complex-shades in the “Shading Layer” and “Shading Material” options in Window 7.5+.

You can access the BSDFs directly at this location C:\Users\Public\LBNL\WINDOW7.6\XML. So, to answer your #2, if the BSDF is available directly as a file, you can use it by accessing it from that directory. Since a real world glazing-shade system would involve glazing, air-gap and the shading material, the recommended way to simulate such a configuration is to model a two-layer glazing system in Window 7.x.

Window 7.5+ runs a version of genBSDF in the background to create a new BSDF that is made up of glass, air-gap and the shading material.

Why using Window 7.5+ for fabric-shades might not be a good idea right now
As per the statement from LBNL with regards to CGDB…

Currently there are not approved procedure to measure large number of different categories of shading materials and/or devices. These procedure and measuring criteria are currently being developed at LBNL.

For practical purposes, the issue relates to how the empirically measured data for shades and other complex fenestration systems is distributed through XML files. The current-data structure relies on a Klems-basis BSDF which
tends to distort the effect of direct-sun radiation. This has been acknowledged by several studies in the last couple of years (1,2,3). The proposed solution for this requires the use of high-resolution Tensor Tree BSDFs along with a new BSDF type called aBSDF. But all these new solutions, at least to me, still appear to be in the bleeding edge stage. The methodology for generating Tensor Tree BSDFs is not supported in HB+ or Microsoft Windows (or any non-research grade versions of Radiance that I am familiar with).
There is also an issue relating to verifying if the BSDFs generated through non-empirical means are physically relevant or not. Currently, the only functional tool for visualizing high-resolution BSDFs has a learning curve because it generates outputs like this:



Hi Sarith,

I’ll never lose that PSU ID!

This is all very helpful; thank you. Perhaps @mostapha could shed some light on the DC method using HB+ and a trans material.

  1. There does not appear to be a TRANS material in HB+
  2. If I could get the material, my assumption is I’d first build a window as a static geometry with a simple Glass Material.
  3. behind the window surface, I’d have to then model the shade at four different lengths. Each of these unique pieces of geometry would be a it’s own Window Group with a single state?
  4. I can still run annual metrics with a DC and ‘blind states’ correct? If so, the blind states would be something like…
    a. (0,0,0,0,0) --> scene geometry no shades
    b. (0,1,0,0,0) --> shades down 1/4
    c. (0,0,1,0,0) --> shades down 1/2
    d. (0,0,0,1,0) --> shades down 3/4
    e. (0,0,0,0,1) --> shade down full
  5. just to confirm, I’d still be able to set the ‘threshold’ value at something like ill > 1000 lux to then test the impact of shades on the annual calc and shading profile based on these shading lengths?

…or do I just scrape this approach and use old HB? I’d be limited to two 'states" in that case I suppose?

Thank you for help. Using the attached file below as a base to build off of.


06_daylight_coefficient_gridbased.gh (446.2 KB)


@PeterZatko developed the component and it has been added to Honeybee-Grasshopper. Did you update your installation recently?

It will be 4 window groups with 2 states each (open and closed).

You are almost there. It will be
a. (0,0,0,0,0) – scene geometry no shades
b. (0,1,0,0,0) – shades down 1/4
c. (0,1,1,0,0) – shades down 1/2 (you want to keep the top part also down!)
d. (0,1,1,1,0) --> shades down 3/4
e. (0,1,1,1,1) --> shade down full

Yes! There is a sample file for 3Phase that shows the process and you can use it for your case. You should pick a sensor and it will generate blind states for you based on your logic.

I won’t do that! You are very close and you will enjoy the outputs that you can get from HB[+]. See the sample files.


@mostapha @sarith Thank you, both! Getting closer.

@PeterZatko we try to stick to the latest HB+ release. I’m more than happy to download this TRANS component but I cannot find the .gh user file on Github. Would it be possible to point me in the right direction?

Thank you all


@rxs5160 Hi,
Do you know how to control every window state respectively and independently if my build has several windows!
thank you!
kind regards


If I recall correctly, you might have to great different groups for each window that you want to assign a state(s) too. I would try and use the sample files that Mostapha has to explore the setup


Right,could you give the gh sample file .Thanks a lot.