Direct sunlight hour analysis

@j.debruyn. Yes much of what @GavC said is the way I would approach it. Grasshopper is significantly faster. Dynamo stuggles when the models get large (or just beyond basic really) and the number of intersections involved. The development of @Ladybug_Analysis_Too
holted becuase of this limitation.

Having said that I’ve got a proof of concept working (refer attached video). It is using the Autodesk Visualisation framework and so there is no export required from Revit. It is all done within Dynamo. It uses the FaceAnalysisDisplay node to ‘save’ the results so you can see them in Revit.

I still need to do some more tests to understand the limitations of this method. One which I have come across is that it does’t save results, meaning when you close the file, the analysis is gone. I’m not sure why Autodesk designed it this way! It may be possible to save the analysis in an external file and then re-load that back in at a later date but not sure yet. I do have a workaround in which the complying areas are turned into a filled region. This would be persistent and allow you to modify the interior layout without having to re-run the file each time the Revit file was opened. But this method wouldn’t work on say a curved facade in a 3D view.

Another issue is that the analysis needs to be run on a face, such as the top face of the floor. I don’t believe it will work on abstract elements, such as rooms. So if we wanted to schedule compliance it makes it a little bit trickier, but not impossible.

I hope that helps.

2 Likes

@Paul_Wintour that looks great. Thanx for sharing. I’ve got a semi-working model that I’ll share soon. Just a bit frustrating as every resource I can find is outdated. It’s great that they are updating, but I guess it would be great if ladybug could develop a node library for dynamo at some stage.

Ladybug isn’t really the problem. It’s Revit geometry and how slow Dynamo works with it that is the problem. Then there is the issue of visualisation. How do you display the results? Konrad has one solution which uses important instance (which now you could use Direct shapes) but then you have hundreds of meshes in your project. The AVF works but there are limitations that I’ve previously mentioned. Alternatively you can use Insight360 but you are constrained with how that works (read more about that here: https://parametricmonkey.com/2015/09/07/sepp65-solar-analysis/)

Thanx Paul.

I’ve seen someone use the Insight 360 route. I’m just curious as to whether one can calculate results in Dynamo (or are they calculated in Revit?) and compare them using Refinery. Ultimately what I would like to achieve is to be able to size units and using dynamic components (done) and use that as and input and offset that against the solar hours (input) to find out which size and configuration will give me the best solar hour rating, but still optimize the number of units. I’ve made some progress but I feel like it might be a project that will force me to do a lot of custom Python.

But anyway… that’s the idea.

Thanx for all your help Paul. Will check out your website and contributions in a moment.

It really comes down to how you want to analyse it. The SEPP65 regulations here are very specific and requires a certain workflow. If you just need solar hours than you have more options - Insight, Sefaira, and Dynamo. My post talks about the different calculation methods.

Insight also uses the AVF to display the results. From memory it doesn’t save the results with the Revit file but just re-connects to the results which are saved in Insight. When you use Dynamo the results seem to get lost once you close the file. There is probably workarounds to save the results externally though.

You might want to keep an eye on the SpaceAnalysis package by Autodesk. It doesn’t look to have environmental nodes in it just yet (only views and shortest path) but I would imagine if they are trying to replicate maRs than this will happen in the not to distance future. Maybe @keanw can clarify

2 Likes

Thanx for sharing Paul. Really great having someone pointing me in a direction.

You’re right on both fronts: Space Analysis doesn’t currently include environmental nodes (and probably won’t, we’ll see) but we have addressed this as part of Project Rediscover, at least in a rudimentary way. The graph will be published on Monday and shown at the UK Dynamo Day and AU London.

We’re hardcoding sun positions into the graph and using those to do some raycasting (parallelised inside Python) to calculate direct sunlight on each cell of a grid.

Again - this isn’t necessarily conforming to any established standards or process, it’s intended to be indicative for the purpose of high-level analysis.

2 Likes

Hi @keanw

I downloaded the graph from here. Is this what you mean by hardcoding the sun positions? These are just the latitude/longitude/azimuth pasted in?

That’s my understanding, yes. I don’t know the specific format, but they were brought in Ladybug, I believe.

Hopefully this doesn’t count as a ‘necro’ of this thread, but I figured anyone coming to this topic may benifit from this video I’ve uploaded to my channel. It demonstrates how to use Ladybug to test direct sun hours upon sensor families (which I show how to generate 2 videos prior in the same playlist).

I meant to product this video earlier, but life got in the way, as it tends to!

@j.debruyn hope this helps.

4 Likes

Legendary! Thank you @GavC. Enjoying your YouTube channel!

1 Like

No worries, glad you’re enjoying - I’ll be uploading a 15 minute interval analysis on Monday.

GavC, will these Ladybug Components actually change the Revit sun settings? or is this only used within Dynamo, and will not actually change the Sun settings within Revit?

1 Like

No these nodes read a weather file to extract sun vector figures.

The only way I’ve found to adjust sun settings is via the use of a Dynamo python script I found on the DTx Library (one view at a time unfortunately):

I made a quick video on my channel to share how to make use of the python node in a similar way to which they did also:

I also use a 2 part script to rapidly change the sun settings of a set of views in my ‘view from the sun’ video workflow (using the naming rule of the respective view):

I’m currently learning Python for Dynamo, and when I have this will be my first script to target for Iteration so it can set multiple views at once.

3 Likes

@Ram the method described above uses a weather file to determine latitude and longitude and then Ladybug to determine the sun vectors. Setting Revit’s sun settings for a solar access isn’t needed at all.

However, you may want to set the sun settings if you are running a separate graph which creates views from sun for a visual verification. I have this working and have also integrated daylight savings time. It should be noted however that Ladybug and Revit calculate sun vectors slightly differently and if you use Ladybug to create views from the sun and you enable Revit shadows, part of the shadow will be visible (which it shouldn’t be). The only way to really eliminate this is to set the Revit sun settings first and then generate views from the sun based on those settings, rather than Ladybug.