We recently got asked by a customer if Revit could tell them the optimal direction to point a solar panel based on a real world location. As most of you are aware we can set the location of our building in the world and also set the rotation to true north. Once these are set we can run a solar study to see how the sun tracks across the sky. Unfortunately, this does not give us accurate data on the rotation and elevation of the sun.
However, if we could somehow access the API (Application Programming Interface) we can acquire the exact Azimuth and Altitude of the sun, but let’s be honest how many of us know how to code to a level that would allow us.
Using Dynamo for Revit we can all access powerful tools that allow us to interact with the API without the need to become fully fledge programmers. If you have not come across dynamo before have a look at the website.
Dynamo is free and installs automatically on Revit 2017, you’ll find it on the Manage Tab. It will introduce you to the world of Graphical Programming, using predefined nodes that can be linked together to add some really exciting functions into Revit.
You can automate repetitive tasks, control the way Revit works, create procedural conceptual designs and control the way families work and many other things. Then when you get more confident you can start to write your own custom nodes to do pretty much anything. Look out for my feature blogs on more features of Dynamo.
So, back to the question, how do I calculate the exact solar position. At first I was not sure how easy this would be, could Dynamo be a possible solution for it. In under 10 minutes I had Dynamo giving me the answers I wanted.
I searched inside dynamo for “Sun” to see if it had any built-in modules that would help me and was pleasantly surprised to discover, SunSetting.Current, Azimuth and Altitude. I quickly linked these together and added a couple of watch nodes to give me the answers I needed. I set the sun settings in Revit to 21 July 2016 12:00pm.
So I have a rotation from true north of 130° and an elevation of 52°, I checked my work by changing the sun settings. Problem solved, but I was not happy to stop there. What if I could take this to the next step and control a parametric family with these settings.
The above family has parametric controls to add a rotation and pitch value. By adding a few extra nodes to my Dynamo script I was able to control its position within a Revit project.
All it took was an additional 5 nodes to control the parameters.
Above we see the position of the panels set at 9:00am 1st December 2016, with the building rotated to true north and situated in North East Leeds.
If I simply change the sun settings with dynamo still running the script in the back ground the change is instant, below I have set the time and date to 12:00pm 1 June 2016.
Dynamo is incredibly powerful and this is just a small insight into what can be done with this free addition to Revit. Please note that although I have done this in Revit 2017, dynamo can be downloaded and installed into Revit 2015, 2016 as well. You also have the option of purchasing Dynamo Studio which is a standalone version allowing you to create scripts for other Autodesk products. Contact Graitec today on (023) 8086 8947 to find out more about Dynamo Studio.
Don't forget to download the Graitec Advance PowerPack for Autodesk Revit for a number of other key tools on modelling, reinforcement, annotation and connectivity. Head over to our web page by clicking the button below to find out more.