Sun hour analysis using Dynamo and Revit (no Ladybug)!

For all those people out there that can somehow afford a $4k Revit license each year, but not a $1.5k Rhino license forever. Yarr matie.
0:00 Intro
3:24 Model setup
04:56 Sun and shadow settings
06:38 Assess test surface domain
08:08 Preparing domain function
14:17 Using our function
16:16 Make test grid/tiles
21:05 Analysis period
23:02 Time step processing
24:44 Datetime processing
28:24 Sun vectors (Python summary)
32:26 Crash and recover
34:25 Visualize sun path
36:01 Compensate for true north
37:00 Raybounce and tallies
42:00 Adaptive panel to show result
44:50 Running and testing
50:09 Outro
I hope you enjoy the session and learn something new! Feel free to comment any feedback/questions below, or follow my channel if you enjoyed this.
Learn more about Dynamo at;
primer.dynamobim.org/
Software used;
Autodesk Revit 2020: www.autodesk.com/products/rev...
Dynamo: dynamobim.org/
DaVinci Resolve: www.blackmagicdesign.com/au/p...
OBS: obsproject.com/
Hardware used;
Webcam: support.logitech.com/en_us/pr...
Laptop: www.msi.com/Workstation/WT75-...
Microphone: www.jbhifi.com.au/products/ro...
Audio interface: focusrite.com/en/usb-audio-in...
#revit #dynamo #bim

Пікірлер: 39

  • @Knook69
    @Knook69 Жыл бұрын

    Thanks a lot for this tutorial, I am happy to see you back!! Take care.

  • @AussieBIMGuru

    @AussieBIMGuru

    Жыл бұрын

    Glad to be back!

  • @byDevCreates
    @byDevCreates Жыл бұрын

    Great tutorial Gavin! Love the description of the video 😉

  • @AussieBIMGuru

    @AussieBIMGuru

    Жыл бұрын

    Cheers!

  • @victors.7717
    @victors.77179 ай бұрын

    Hi Gavin! Awesome tutorial! Thank you very much for sharing.

  • @AussieBIMGuru

    @AussieBIMGuru

    9 ай бұрын

    You're welcome mate!

  • @whddls3807
    @whddls3807 Жыл бұрын

    This is the one master! thank you

  • @AussieBIMGuru

    @AussieBIMGuru

    Жыл бұрын

    You're very welcome!

  • @sonnguyenxuan685
    @sonnguyenxuan685 Жыл бұрын

    you're back ;)))

  • @AussieBIMGuru

    @AussieBIMGuru

    Жыл бұрын

    Sure am!

  • @marwanbeaino5377
    @marwanbeaino5377 Жыл бұрын

    Wonderful work Gavin, thanks so much for sharing this ! Have you considered building a script for an isovist analysis ?

  • @AussieBIMGuru

    @AussieBIMGuru

    Жыл бұрын

    Not currently as grasshopper does this quite well. They have one in the space analysis package for dynamo as well.

  • @b_rodwell_SGP
    @b_rodwell_SGP11 ай бұрын

    For anyone else following along and getting the multiple curves error message, this can occur for multiple packages being installed which call upon Curve as a class or function (don't quote me on that though) I have attached a revised version of the code below which solved the issue for me - hopefully you don't mind me posting this Mr BIM Guru :) def GetParams(crv,s) { len = Autodesk.DesignScript.Geometry.Curve.get_Length(crv); inc = len/s; cei = Math.Ceiling(inc); spc1 = 1/cei; spc2 = len/cei; seq = spc1/2..1-spc1/2..#cei; return [seq,inc]; };

  • @AussieBIMGuru

    @AussieBIMGuru

    10 ай бұрын

    Thanks! Yes some packages borrow similar name spaces in design script such as Orchid so in that case writing the full function is needed.

  • @udarasachinthana8506
    @udarasachinthana8506 Жыл бұрын

    Thank you for sharing this workflow. One question, how can we adopt this workflow to calculate daylight intensity inside the building?

  • @AussieBIMGuru

    @AussieBIMGuru

    Жыл бұрын

    Unfortunately daylight is far more complex and you would need to use an engine such as Radiance at this point. This is supported via Grasshopper/Ladybug, but Autodesk doesn't offer any detailed/accurate tools for this I believe.

  • @byDevCreates
    @byDevCreates Жыл бұрын

    Have you also been looking at the Pollination tool by any chance?

  • @AussieBIMGuru

    @AussieBIMGuru

    Жыл бұрын

    Yes it's great for firms running regular perscribable or heavy studies. If we do more radiation studies I expect to use it more actively.

  • @flaviabrega6162
    @flaviabrega61629 сағат бұрын

    Hi! Amazing, but could i use the same path and principles to calculate the natural luminance inside? Thank you!

  • @AussieBIMGuru

    @AussieBIMGuru

    7 сағат бұрын

    Generally not so much as youd need to work with material properties and incident raybouncing. For that I'd suggest looking into Honeybee and Ladybug tools for Grasshopper.

  • @lennonsc77
    @lennonsc77 Жыл бұрын

    Once again an awesome tutorial... 😀 If you don't mind I have a question. I'm unfortunatly getting an error right in the first code block, and I'm really stuck. I have the Orchid package installed and it's apparently creating a conflict, "Multiple definitions for 'Curve' are found", and "Multiple definitions for 'Math' are found". Is there a way to fix this issue, Or do I have to remove the Orchid package?🤔 (p.s. I've already tried putting in "Autodesk.Designscript.Geometry.Curve.Length" and "DSCore.Math.Ceiling" as Dynamo suggested, but then the code block returns a null, and the Surface.PointAtParameter also subsequently can't work...)

  • @AussieBIMGuru

    @AussieBIMGuru

    Жыл бұрын

    Yes if the DS prefix isn't working then it may require an uninstallation - Orchid uses some classes with similar names that can cause ambiguity in code blocks.

  • @b_rodwell_SGP

    @b_rodwell_SGP

    11 ай бұрын

    Hi I think we are having the same issue I managed to resolve this earlier thanks to the help of ChatGPT and a little trial and error. The issue can lie with multiple packages which use Curve as a naming/ class type which is likely the reason the conflict or issue with how the "Curve" class was referenced, which led to the error we encountered. The code I am now using to get this to work is as below (Line 3 has been changed from Gavin's code in the video the rest I believe is as the Guru himself has shown) def GetParams(crv,s) { len = Autodesk.DesignScript.Geometry.Curve.get_Length(crv); inc = len/s; cei = Math.Ceiling(inc); spc1 = 1/cei; spc2 = len/cei; seq = spc1/2..1-spc1/2..#cei; return [seq,inc]; };

  • @user-yn7qs6vu7q
    @user-yn7qs6vu7q11 ай бұрын

    Great tutorial, Do you know how can I make ladybug work with dynamo and grasshopper or any package that can assume energy consumption ?

  • @AussieBIMGuru

    @AussieBIMGuru

    11 ай бұрын

    I believe the honeybee module for ladybug can conduct energy analysis. I havent used it a great deal personally but their website has some tutorials about this, as well as Phil Galvan's channel. Generally Dynamo wont be up to the task so maybe rhino inside revit and grasshopper could be.

  • @user-yn7qs6vu7q

    @user-yn7qs6vu7q

    11 ай бұрын

    Okay, I got it. could you please how to deal with rayBounce with points not elements as i'm working with parametric form not a modeled one. thanks!@@AussieBIMGuru

  • @ManpreetKaur-ty4ni
    @ManpreetKaur-ty4ni4 ай бұрын

    Hi Sir. Thank you for this video doing dynamo without ladybugs. I have one query. I was working on the Al Bahar building in Revit and Dynamo. I watched your video of the same building in Revit. However, I am not able to work on the sun path diagram and analysis since Ladybug doesn't work in Revit 2024. and this video shows an hour analysis. I want to know how can I do that movement of panels with sun movement in Revit and Dynamo. I am not able to get that video or related to it something that can solve the issue. Hope you will help me to figure it out. Thankyou in advance sir.

  • @AussieBIMGuru

    @AussieBIMGuru

    4 ай бұрын

    I will have a video on channel next week which shows a node in Crumple that can get the sun directions. This can be used instead of ladybug.

  • @stefanobennett105
    @stefanobennett105Ай бұрын

    I am running into an issue where the sun hours report more than possible hours. I set the time range to be 02:00 and 21:00. Most are reported accurately with 13/14 upper limit hours which I verified with local data and summer solstice hours. However, when I do dynamo player and varying faces - I am seeing that the sun hours are 19/20, which can't be possible since the project isn't located in alaska... Also - my dynamo player is picking up bounces from other panels created :(

  • @stefanobennett105

    @stefanobennett105

    Ай бұрын

    If it's important to note - I am doing this on pitched roofs - so the surface U/V isn't perfectly trimmed to match the surface profile

  • @AussieBIMGuru

    @AussieBIMGuru

    Ай бұрын

    I would suggest visualizing the rays as lines to see what is happening as it sounds like an error caused by the sun angles. If you need to divide pitched surfaces you could try working at the plane of the surface although it's a bit different to my approach, would take some extra work beyond what I've covered here.

  • @adelehoushyari
    @adelehoushyari10 ай бұрын

    Hi Gavin I asked a question about it I did not understand what node you used to get the view from the sun vector 🙁 Can you help me?

  • @AussieBIMGuru

    @AussieBIMGuru

    10 ай бұрын

    In this case I didn't use a dedicated node, I ended up using Python for that part of the workflow. The only way to get a sun vector is to ask a view for its sun direction, so the python node cycles through changing the time of day and getting the sun direction each time.

  • @Bdizzle304
    @Bdizzle3049 ай бұрын

    is anyone having issues with the script deleting tiles when you run the script after running it before? Ive tried the script I wrote when watching along as well as Gavins script from Github. It worked perfectly for about a month and now its deleting tiles. Please help :(

  • @AussieBIMGuru

    @AussieBIMGuru

    9 ай бұрын

    Run it via dynamo player. Sounds like an element binding issue which happens if you create elements in a dynamo session.

  • @Bdizzle304

    @Bdizzle304

    9 ай бұрын

    @@AussieBIMGuru thank you Gavin I'll give that a try and see if that resolves the issue. I was running via Pyrevit before as I'd set the script up on a custom toolbar. Would there be a way of avoiding the elements binding as I'd like to keep using this in practice via the pyrevit plug in we have set up

  • @AussieBIMGuru

    @AussieBIMGuru

    9 ай бұрын

    @@Bdizzle304 replace all nodes that create elements, dont run in dynamo then run via player. I believe pyrevit unfortunately opens the script so that might be an issue too.

  • @danielmimun8966
    @danielmimun89666 ай бұрын

    Can you share the Python's script?

  • @AussieBIMGuru

    @AussieBIMGuru

    6 ай бұрын

    Its over on my github.