algorithmic modeling for Rhino

Hi Mostapha,

Looks like I'll be doing some environmental solar analysis on a project, so I thought that I would give your tools a try. I just checked out the videos and they look very impressive! Really cool of you to provide the whole thing as open sourced Python components. Congrats on a great job :)

I just have a few questions about preparing the input geometry for analysis. In my case study I think I shall mainly be using the "Ladybug_Sunlight Hours Analysis" and "Ladybug_Radiation Analysis" components to drive the geometry of a shading system. I apologize if these questions are obvious or have already been answered (I did check out the previous posts beforehand):

1) Units, which would be the best modelling unit to work with (I assume Meter, but you never know)?

2) Model, I can use either Brep or Mesh as input. But if I want explicit control over the grid size/analysis faces I guess I should use a mesh right?

3) Mesh, if one only wants to analyse a specific part of the building envelope, would it make sense to have the rest of the envelope be "context"?

4) Mesh, is the analysis only performed on the front mesh faces (the side where the normals are pointing)?

5) Mesh, would it make sense to have each glass pane be a quad face (I assume the test points correspond to either mesh vertices or face centers)?

Hope this makes any sense, I'm a bit new to the whole "environmental analysis" world. Be gentle :)



Views: 2467

Replies are closed for this discussion.

Replies to This Discussion

Hi Anders,

The best answer would be given by Mostapha, but until he comes, maybe I could answer some of the questions:

1) Yes you need to use the Meters, as the solar radiation results are in kWh/m2 or kWh.

4) I think you are right - the vectors of the mesh faces need to be directed towards the radiation source.

5) Not sure I understood you about the quad, but the center of each face represents the radiation point.

Thanks Djordje,

Just trying out the the various components and getting the hang of things now. Seems very promising and intuitive. Regarding the quads, I simply meant having a four sided mesh face represent a each glazing panel/window. If that makes sense :)

As you define the mesh resolution in the solarRadiation component it is not related to the window size.

Just test this to see how the geometry is divided: Ctrl+F11 in GH to see/hide the mesh divisions (after running the analysis). The center of each of those is the calculated point, as Djorde said.


A good way to check the density of the mesh [in case the inputs are brep] is not to connect sunVectors or genCumSkyResult (respectively for Sunlight Hours Analysis and Radiation Analysis) and set runIt to True.

The component will mesh the surfaces and output analysisMesh and testPts. You can check the testPts, change the gridSize and make sure it is as dense as you want before running the analysis. As soon as you are happy with the testPts connect the sunVectors or genCumSkyResult and the analysis will be run!


PS: I didn't know about Ctrl+F11 shortcut! Very good to know. Thanks!

My mistake:

It is Ctrl+M (instead of Ctrl+F11).


Thanks Abraham. Speaking of which I previously logged a "bug" on this subject which affects meshes returned from Python components. Hope they fix that one at some point..

Hi Anders,

Great to know that you started using Ladybug! I'm waiting for your awesome comments on Python scripts  optimization. Here are the answers:

1. In theory, you should be able to use any units for input and the result will be always in SI! There is an internal conversion from Model Units to Meters. [Warning: I developed and tested the 'bug only in meters and I haven't tested it [intensively] for other units. I recommend you to use meters for now.]

2. Correct! If you input a mesh the component will use the initial mesh as the test grid else it will be meshed based on the gridSize which you won't have full control...

3. Correct! That's how you can minimize the time of the study to zero not calculating what you don't need to know! :)

4. Correct! [and that's why the direction of the normal of the surfaces does matter. It should face outward.]

5. You can do that but then the accuracy of the result could be questionable in some cases. As djordje said center points are the test points and probably you don't want all the glazing to be evaluated based on one single point in case the glass is partially shaded. I understand why are you doing that though and I will add the option to average the result for each test surface similar to what I show in this video 22:27 (, so you can subdivide the test surface and then get the average results for the surface.


Mostapha the gentle! ;)

That is indeed very gentle, much appreciated Mostapha :)

I spent most day yesterday getting acquainted with the plugin and its various components (and environmental solar analysis in general). Absolutely loving it so far. For some reason I always had the idea that performing this type of work would be highly involved, time consuming and, well, rather boring. Guess I was wrong. Also having it all right in GH really adds a whole other dimension to it. Again, great work!

After having kicked around a couple of simple test studies I see what you guys are saying regarding point number 5). Think I shall just stick to using Breps and the built in meshing routines for now. Other than that I was wondering if you might have any tips on reading material or links on when/how to apply respectively "Sunlight Hours Analysis" and "Radiation Analysis" when designing a shading system?

I found the following papers from links you posted here in the LadyBug forum:

Going through them now, however any other resources would also be greatly appreciated.

Hope I can help out on the Python side of things. I'll certainly keep a keen eye out for any bugs and such ;)



Hi Anders,

Thank you for the kind comments! I'm so happy that you liked Ladybug. :)

I should write a discussion or capture a video to discuss "sunlight hours" versus "radiation". I'll be traveling for the next 10 days and probably I won't be able to do that before I come back! The quick reply is not to use sunlight hours for shading design. Sunlight hours is mainly a city planning measure.

Ladybug [as it is right now] doesn't consider indirect bounce and reflections [so material doesn't matter]. As far as you are using Ladybug for radiation analysis for outdoor analysis/massing studies it is fine but if you have surfaces with high reflectivity then you should use a more advanced tool like Honeybee/RADIANCE where you can assign the right material to the surface!

Thank you for keeping an eye for bugs inside the 'bug!



Hi Mostapha and Anders,

Behind the "innocent" question there is much more depth than you can imagine.

Mostapha is completely right in his warning about the use of radiation vs shading hours. Their intent are different though they are related at the end.

The big question that you should ask before using any of them (and others) is what do you want to see/get from the analysis. And this is pretty much related to the design. Take for instance the design of a window in building. Probably you'll be more interested in the radiation you can get (or avoid) to perform better, energy wise. But take the case you want to design a playground (or a coffee shop terrace, or any other use you want) for winter time or summer time. Then the sunlight hours analysis is much more important and relevant than the radiation. I can extend in the explanation if you want, but i suppose the issues are clearer now, right?

I find significant the adjective Anders used to refer to such kind of analysis: He was expecting them to be boring. But now he find the interesting and triggering. This is, in this case, to Mostapha's recognition/right for providing a (simple) tool that designers can use as a part of their workflow: Thumbs up for that Mostapha.


This is great advice, thanks guys! I wouldn't underestimate my imagination though :)

As stated in the OP I am performing the initial research (think methodology, tools, when/why/how etc.) on how to inform the design of a static shading device system for school/office building typologies on the northern hemisphere located in a consistently hot climate with a high degree of radiation all year (which I learned from the data extracted using the importEPW file reader, hooray!).

Of course I am approaching the subject with the appropriate amount of respect and trying to inform myself as much as possible. Beyond papers (and Wikipedia!) I found several websites (like this one by Autodesk) which describe the basics of environmental building design concepts. If you have any good tips for papers/books/links this would be highly appreciated as well.

Perhaps boring was not the best adjective I could have used, but I suspect you got the gist of what of was saying. Consider both my thumbs up high as well.

Thanks again,


Caught a wee tiny bug in the "Ladybug_Radiation Analysis" component. Was trying to figure what "orientationStudyP" did and noticed it had no parameter hint. So line 24 should probably be:

orientationStudyP: Input result from Orientation Study Parameter component






  • Add Photos
  • View All


  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service