Understanding list levels in Dynamo!

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 ก.ย. 2021
  • This is challenging but essential trick to master in Dynamo. In this video I share some tips and tricks I often use when teaching the concept to others.
    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

ความคิดเห็น • 55

  • @MR0MYSTERY87
    @MR0MYSTERY87 ปีที่แล้ว +1

    Really love your Dynamo tutorial videos, cheers !

  • @klasrobertsson3943
    @klasrobertsson3943 2 ปีที่แล้ว

    The best and most useful of all your dynamo tutorials in my opinion. Often return to this one...

  • @Akira-xr2zb
    @Akira-xr2zb 3 หลายเดือนก่อน +1

    Great explaination about List, thank you!

    • @AussieBIMGuru
      @AussieBIMGuru  3 หลายเดือนก่อน

      You're welcome Akira!

  • @manuelcoletto8766
    @manuelcoletto8766 ปีที่แล้ว +1

    Thats great! Thanks for sharing!

  • @TheGlennovitS
    @TheGlennovitS 2 ปีที่แล้ว +1

    Nice demo. The walls example really helped 💪🏼 thanks 😄

  • @Negotium2
    @Negotium2 2 ปีที่แล้ว +1

    Gavin, thanks for your work,
    Greetigs from Poland!
    cheers:)

    • @AussieBIMGuru
      @AussieBIMGuru  2 ปีที่แล้ว

      Glad you like it, and great to know I have viewers in Poland :)

  • @kirkm4079
    @kirkm4079 2 ปีที่แล้ว +2

    Great idea, like you said, for adding a header row to excel, I've been using add item to front for each column individually, this would be so much easier!

    • @AussieBIMGuru
      @AussieBIMGuru  2 ปีที่แล้ว +1

      Thanks! Yep I use this technique all the time, but I did begin with simpler/longer methods as well.

  • @harilalmn
    @harilalmn 2 ปีที่แล้ว +1

    Very good demonstration.!

  • @borun67
    @borun67 3 หลายเดือนก่อน +1

    very helpful for list and list level. Thank you very much.

  • @christopherhanson9351
    @christopherhanson9351 2 ปีที่แล้ว

    A bit delayed but I just saw this. Your discussion was very helpful and this video has been too, thank you!

    • @AussieBIMGuru
      @AussieBIMGuru  2 ปีที่แล้ว

      You're welcome Christopher! Thanks for the query.

  • @muratovbim
    @muratovbim 2 ปีที่แล้ว

    Hi!
    It seems we can make it in easier way. We don't need to make a long lacing in the Set parameter node. We can turn on L1 for element list, don't change level on second input with list of parameter names, and turn on L2 on third input with data. In this case we take each element and each sublist of data and write the data in parameters list. We have similar lengths of lists with parameter names and data, so it'll work.
    I test it in my script now and it works. I can't add here a screeshot unfirtunately.

    • @AussieBIMGuru
      @AussieBIMGuru  2 ปีที่แล้ว

      Thanks! Yes various combinations of lacing and levels can usuallt achieve the same outcome. I try to use parallel levels for list structures where possible, but other approaches are certainly viable.

  • @jeffclassics
    @jeffclassics 2 ปีที่แล้ว +1

    That's a wonderful example of an inefficient serparameter scenario. Btw, @L2 in element then the rest is default I believe also works the same, I'll check later. But Having used dynamo for maybe thousands of times I still trial and error in a scaled down list to be sure I get it right before publishing it to the team. Nested For loops and zip is easier or direct tbh.

    • @AussieBIMGuru
      @AussieBIMGuru  2 ปีที่แล้ว

      Thanks! Yes I think you're right, there's a few levels combinations that could work in these scenarios. I use Python loops a lot now too, but I guess a lot of users don't know that side of Dynamo as well. I find frustration with levels is why most users move to Python.

    • @alleskaese
      @alleskaese ปีที่แล้ว

      @@AussieBIMGurumy problem is that i don't really know python (find it more complicated than c#) and i wish there was a c# node in dynamo like in grasshopper, also it would be great if dynamo could use grasshopper as a example for the lists

    • @AussieBIMGuru
      @AussieBIMGuru  ปีที่แล้ว

      @@alleskaese maybe look into zero touch node development which supports C#. I doubt Dynamo will go down the path of data trees as other programming languages tend to also be list based like dynamo is.

  • @DesignTechUnraveled
    @DesignTechUnraveled 2 ปีที่แล้ว +1

    Wanted to give you a heads up. The audio from 01:19 - 11:26 is only in the left audio channel. Not a huge deal when on desktop audio, but fairly difficult to listen to with headphones on.

    • @AussieBIMGuru
      @AussieBIMGuru  2 ปีที่แล้ว +1

      Yeah thanks I recwntly struggled across an issue with my audio interface and OBS. Should hopefylly be addeessed in future videos.

  • @bittor735
    @bittor735 2 ปีที่แล้ว +1

    Very clear example! Although I think that you mixed up your final video hahaha

    • @AussieBIMGuru
      @AussieBIMGuru  2 ปีที่แล้ว

      Indeed I did *facepalm*.
      Good to know someone made it to the end!

  • @andriyborysov4469
    @andriyborysov4469 2 ปีที่แล้ว +2

    Thanks for the video! Really helpful. But something wrong with the sound. I heard your voice only in one ear using my headphones. Of course, it is not a big problem for short videos, but it would be great if you will fix it!

    • @AussieBIMGuru
      @AussieBIMGuru  2 ปีที่แล้ว +1

      Yes it's a recording setting I forgot to fix in post production, thanks for letting me know. My recording device is mono so I usually have to mirror the sound in my editor, every now and then I forgot - whoops!

    • @dykodesigns
      @dykodesigns 2 ปีที่แล้ว

      @@AussieBIMGuru I think the XLR mic is plugged in the first input of the audio interface, which would be the left channel. What you can do is use a mixer in conjunction with an audio interface, I have the stereo output of the mixer go into inputs 1 and 2 of the interface. Allthough a mixer will generally keep the two mic channels separated. I recently switched from a USB mic to and XLR condensor mic so it’s an issue I have to keep in mind as well. As far as I’m aware OBS might be able to double the mono channels so that the left channel is also mirrored to the right channel.

    • @dykodesigns
      @dykodesigns 2 ปีที่แล้ว +1

      Edit / Addendum: I have the mic (which is mono) plugged into the first input of the mixer. The two mic inputs are also mono. However, the “Pan” knob is set to the centre position, so the mixer puts this mono channel on both the left and the right equally on the main mix. If you turn the pan knob fully to left, if will only be heard on the left channel. When you turn fully to the right, it will only be on the right channel. By turning the pan knob, you can control how strong the signal is on the left or right channel. When it’s in the centre, it’s balanced equally. A mixer gives you a lot of flexibility in that regard.

    • @AussieBIMGuru
      @AussieBIMGuru  2 ปีที่แล้ว

      @@dykodesigns ah that was very helpful, I managed to get my mono channel going through L/R equally using these tips! Thanks so much mate.

  • @Hygio
    @Hygio ปีที่แล้ว

    Do you have a good method of practicing this with uneven sublists? Such as deleting only curves of a polycurve that have a certain condition?

    • @AussieBIMGuru
      @AussieBIMGuru  ปีที่แล้ว

      Generally I would use nodes like take items @L2 set to shortest lacing to trim sublists down to shortest depth. Typically uneven sublists are a good case to investigate how the lists became uneven, as in many cases they might be due to an error or a better way of managing data upstream.

    • @Hygio
      @Hygio ปีที่แล้ว

      @@AussieBIMGuru Today's script I was able to filter out unwanted elements not by removal but by replacing them. THEN apply the List.FilterByBooleanMask to get them out.
      It concerned deleting Gridline segments that were evaluated based on a shuffled list.
      So Polycurves were each evaluated by a list that was in a transposed order. So transposing them back would wrongly align them if items were dropped.
      If this makes any sense haha.

    • @AussieBIMGuru
      @AussieBIMGuru  ปีที่แล้ว +1

      @@Hygio ah yes transpose only works for equal lists generally. I mostly use it when working with matrices of data like excel/csv.

  • @vrbaac1641
    @vrbaac1641 2 ปีที่แล้ว

    hi, very nice topic but i am not sure why there is no sound after your introduction... i need to review this tutorial ^^ i hope the audio can be fixed ^^ thank you

    • @AussieBIMGuru
      @AussieBIMGuru  2 ปีที่แล้ว +1

      Ah sometimes my sound settings are off and headphones or mono speakers miss the right sound channel.

    • @vrbaac1641
      @vrbaac1641 2 ปีที่แล้ว +1

      @@AussieBIMGuru ahh yes... I think will try another headphone... my headphone as of now have a defective left ear piece..

  • @tikytak21
    @tikytak21 ปีที่แล้ว

    How does one remove redundant list levels?

    • @AussieBIMGuru
      @AussieBIMGuru  ปีที่แล้ว

      A combination of list levels and the list.flatten node works best for that.

  • @mostafamagdy7995
    @mostafamagdy7995 2 ปีที่แล้ว

    I have a problem if you can help me I want to copy dimensions between revit files same views same geometry but when i bind the dimensions disappear

    • @AussieBIMGuru
      @AussieBIMGuru  2 ปีที่แล้ว +1

      It sounds like they may be struggling to find valid refefences. When dimensions are copied they usually search for new references and sometimes this doesn't succeed. Usually i suggest copying elements across with dimensions where possible, but otherwise it isn't going to be as reliable. Cross check the model coordoninates match also, other than that not sure if there's anything else that can be done.

    • @mostafamagdy7995
      @mostafamagdy7995 2 ปีที่แล้ว +1

      @@AussieBIMGuru thank you it's the a multiple binded but still same model so i guess the problem happens when binding take a place

  • @ningzhou8397
    @ningzhou8397 ปีที่แล้ว +1

    one of the reasons that confusing me is that "reversed" order, L1 should be always 1st level which is outmost, in fact, it's innermost

    • @AussieBIMGuru
      @AussieBIMGuru  ปีที่แล้ว +1

      Yes levels at first feel like they should work in vs outward, but over time you'll find more often than not you usually will want to access sublists this way due to not always knowing the depth of incoming list structures. I believe reversing @L1 would generally not achiece a lot as it would work at object level. Generally level 2+ would have more desired results.

    • @ningzhou8397
      @ningzhou8397 ปีที่แล้ว

      @@AussieBIMGuru right, that makes sense

  • @aethylwulfeiii6502
    @aethylwulfeiii6502 ปีที่แล้ว

    Just tell me how to get multiple outputs from one node!

    • @aethylwulfeiii6502
      @aethylwulfeiii6502 ปีที่แล้ว

      So that I can use them as multiple inputs for another node.

    • @AussieBIMGuru
      @AussieBIMGuru  ปีที่แล้ว

      Make a code block and type data[x], where x is the index of the item or sublist in your data. You can use the ; character to make a new line im the same code block to get multiple outputs.