Place Revit families by CAD block location using Dynamo!

Поделиться
HTML-код
  • Опубликовано: 14 дек 2024

Комментарии • 72

  • @frederickskmucktoom3550
    @frederickskmucktoom3550 Год назад +1

    Great content mate as usual. Keep it up!

  • @thinking4awhile
    @thinking4awhile 2 года назад +1

    Thank you for yor time and dedication in helping us navigating this world!

    • @AussieBIMGuru
      @AussieBIMGuru  2 года назад

      You're welcome Jessica, happy to make the journey that bit more direct!

  • @BIMGenie
    @BIMGenie 2 года назад +2

    Basically the source file (CAD) needs to be using a block...
    I see this helpful with Landscape drawings and placing trees in Revit workflow.

    • @AussieBIMGuru
      @AussieBIMGuru  2 года назад

      Yes it has limited use case, but in principle relies on the blocks. Check out this great addin made by Bird tools since this video that does a similar thing:
      www.birdtools-developers.com/cbr.html

  • @danielswearson1360
    @danielswearson1360 2 года назад +1

    You’re the man, Gavin.

  • @ArchAhmadWaheed
    @ArchAhmadWaheed Год назад +1

    Really helpful!
    Thanks Gavin

  • @KableTdi
    @KableTdi 3 года назад +3

    Also, could you make a video on advanced selection in Dynamo?
    I'm talking about selection on multiple levels with filtering elements within a specific area/scope box area from revit.
    For cases when you have large buildings and you want to select a specific element on all floors on a particular part of the building instead of whole building or level.
    Thanks!

    • @AussieBIMGuru
      @AussieBIMGuru  3 года назад

      Usually I'd use packages like Genius Loci for this - suggest checking them out. There should be quite a lot of advanced selections in there and they're typically exposed Python as well.

  • @damirces
    @damirces 3 года назад +1

    Really grateful for the tip and for the concept how would be possible to do it. In practice in the native dwg file origin point of the block in auto Cad file practically never match with the Revit family because of the different approach in making of elements. Use example of the door, in the block origin can be at the edge or in the middle of the door which I was seeing usually in dwg files and by default origin inside Revit family is always in the middle of the door.

    • @AussieBIMGuru
      @AussieBIMGuru  3 года назад +2

      Yes a workflow I have used in the past is to measure the origin deviations in AutoCAD first and then compensate for them in Dynamo using an Excel list. It's a shame there isn't consistency with how we all nominate our origins but I guess it is what it is!

    • @damirces
      @damirces 3 года назад +1

      @@AussieBIMGuru yes. Actually first thing would be to check all blocks from dwg and then make a strategy what is easier thing to do. I repeated your script and really works smoothly. I even try to change the direction inside dwg in "clockwise" to see if Revit is gonna except rotating elements without adding -1 but didn't work.Thanks again..really cool script..

    • @damirces
      @damirces 3 года назад +1

      I was working yesterday on extracting the data from DWG using "CAD Block" node and something strange occurred. The node wasn't listing all blocks. System of elimination was discovered that the reason was in the polar parameter that was inside the block. When I deleted a polar parameter inside block and reload again into Revit, everything was fine. I sent this issue to Genius Loci...Aussie, do you maybe know his name?

    • @AussieBIMGuru
      @AussieBIMGuru  3 года назад +1

      Yes the package manager is called Alban de Chasteigner. Good idea to let him know, nice one!

  • @RajeshKumar-vv8zo
    @RajeshKumar-vv8zo Месяц назад

    Hi Gavin, do you know if Dynamo has a node for creating symbols in Drafting views? I want to use a similar method to create schematics with linked CAD backgrounds, replacing my AutoCAD blocks with Revit symbols.

    • @AussieBIMGuru
      @AussieBIMGuru  Месяц назад +1

      Dynamo doesn't have one as it ships, but spring nodes and clockwork both have a node to place a familyinstance by point in view that should be up to this I think.

    • @RajeshKumar-vv8zo
      @RajeshKumar-vv8zo 27 дней назад

      @@AussieBIMGuru , Yes. that helped. Thank you

  • @hugochan3185
    @hugochan3185 Год назад

    Hello, I am tried to reinstall the Genius Loci package and Using the CAD Block first and select the model element for the linked cad, and I got fail to fix the coordination to the angle of the block.

    • @AussieBIMGuru
      @AussieBIMGuru  Год назад +1

      Hrm it might be worth troubleshooting via the forums if the package has issues. The package owner (Alban) can usually assist further with these types of issues.

  • @ArchAhmadWaheed
    @ArchAhmadWaheed Год назад

    Quick question please, when I tried to use Springs Node "FamilyInstance.ByHostAndPoint" it was OK!
    My question is why the new added families are not hosted to the predefined Host element?
    Is there an easy way to keep the relationship between the hosted families and the host element?

    • @AussieBIMGuru
      @AussieBIMGuru  Год назад +1

      Yes typically host and point is necessary for any family that needs to belong yo another element. Revit doesnt naturally know how to host things on placement in its API to my understanding, so the spring node adds that extra step to the process on placement using a dedicated API method instead of the default one given with dynamo.
      Typically once hosted the element should maintain the relationship to its host automatically.

    • @ArchAhmadWaheed
      @ArchAhmadWaheed Год назад

      Thanks for your quick response.
      According to my test, the relationship is missing.
      I couldn't figure the reason, so I asked If I did anything wrong.

    • @AussieBIMGuru
      @AussieBIMGuru  Год назад

      @@ArchAhmadWaheed hrm generally it has worked in my testing for hosted elements. Make sure the host point is on the face of the relevant host. Beyond that I'd consult the forums for hands on tech help.

  • @RadiumSelenium
    @RadiumSelenium Год назад

    Thanks.Master but i have question.
    How to handle the offset? i follow your tutorial and i want to set this for placing air terminal family,but this dyn placed my family under nonsence offset.

    • @AussieBIMGuru
      @AussieBIMGuru  Год назад

      As CAD files are in 2D, offsets generally aren't feasible unless you provide a value to the families to be offset by when placed. Maybe consider building a table of values to offset your blocks by and use that to raise the elevation of your family placement points.

    • @RadiumSelenium
      @RadiumSelenium Год назад +1

      @@AussieBIMGuru Thanks.I've learned a lot form your great contents.

  • @charlietokowitz
    @charlietokowitz Год назад

    Is there a node that corresponds to FamilyInstance.Bypointandlevel for model groups?

    • @AussieBIMGuru
      @AussieBIMGuru  Год назад

      Not ootb i think. Genius loci and clockwork may have something. This is the API method to achieve the task:
      www.revitapidocs.com/2015/586d4f2e-0985-2d0b-dbb7-ea6d2f704336.htm

  • @ravichandra-up1nu
    @ravichandra-up1nu 3 года назад

    Hi Gavin.. A small query on your package Crumple.. I have been trying to use the element.view node from your package but it's showing null in revit 2020 and previous versions too.. Can you please provide me a solution or nodes on how to get the view of the element.. Thank you

    • @AussieBIMGuru
      @AussieBIMGuru  3 года назад

      In the case of that node it will try to return the element's ownerviewid property:
      www.revitapidocs.com/2022/174c1adf-0be8-a4b0-41f3-9e3ea1d6b1f1.htm
      It will return null if the element is not view specific (aka is in more than one view). The node works with elements like text, tags etc. which belong to a specific view though.

    • @ravichandra-up1nu
      @ravichandra-up1nu 3 года назад

      Thanks for the reply.. In that case if the elements are pipe fittings etc.. How can I get the view of the element any suggesion please..

    • @AussieBIMGuru
      @AussieBIMGuru  3 года назад

      @@ravichandra-up1nu you can't really, as they are in all views in the model that see them technically. They don't belong to any one particular view.
      The only method I came across is get_geometry to verify if the element can be seen by a view. There is discussion about it here:
      forums.autodesk.com/t5/revit-api-forum/determine-if-an-element-is-visible-in-a-view/td-p/4896040

  • @sadamth6714
    @sadamth6714 Год назад

    if cad block orgin point is center,it does not work this dynamo code?right

    • @AussieBIMGuru
      @AussieBIMGuru  Год назад

      You would beed to manually compensate for the difference in the code.

  • @sissaoliveiraguimaraes
    @sissaoliveiraguimaraes Месяц назад

    Nice tutorial!! Really helpful! I have an issue, though. The CAD Block node shows the same origin point for all my blocks (0,0,0), even though they are placed in several different positions. Does anyone know how I can fix that?

    • @AussieBIMGuru
      @AussieBIMGuru  Месяц назад +1

      Hrm strange, make sure their origin is correct in AutoCAD, beyond that it might require contacting the package author. If you're using Revit 2025 that could be a cause also as a lot changed in Dynamo/Revit/COM API there.

    • @sissaoliveiraguimaraes
      @sissaoliveiraguimaraes Месяц назад +1

      @@AussieBIMGuru I found a different solution. Instead of selecting the DWG from the model to get the insertion point, I exported the block coordinates from the CAD file using the DATAEXPORT command

  • @MR0MYSTERY87
    @MR0MYSTERY87 9 месяцев назад

    Interseting concept, i'm not python expert but is it possible to make the dynamo file read various properties block in cad is dynamic

    • @AussieBIMGuru
      @AussieBIMGuru  9 месяцев назад

      The linkdwg package can do this, but it's quite complex and buggy, hasn't worked well for a while. It's all using python.

  • @Leo_Moura736
    @Leo_Moura736 Год назад

    Great tips! Thanks so lot. I don't know if you said it, cause my English is not perfect. But, how can I download Cad Block?

    • @AussieBIMGuru
      @AussieBIMGuru  Год назад

      There isn't really any one place I know to download a CAD Block unfortunately, they're all over the Internet.

  • @ArqkitHector
    @ArqkitHector Год назад

    Thanks for your knowledge Gavin!!! I'm a new student in that topic... I have been tried to used this workflow to place some windows and doors from cad file in revit using dynamo...but I don't feel sure if still using FamilyInstance.ByHostAndPoint... I will get a good result??? I've failed in all my attempts. What do you advice to me???

    • @AussieBIMGuru
      @AussieBIMGuru  Год назад +1

      Yes it's a bit more complex as you need to give the door/window a host as well as a placement point. I'd recommend keeping the wall lines as well as the walls they make in parallel, then get the closest point of each door/window block and find the nearest curve/point on that curve. Given you know the index of the curve, you can then get the corresponding wall it generates in the process. There are nodes in springs that can place hosted families by point/host/level/family type.

  • @frfeld4401
    @frfeld4401 2 года назад

    Hi Gavin, nice video. It's very helpful. One question - is there a way to read the block attributes and work with them? Like use them as a parametervalue

    • @AussieBIMGuru
      @AussieBIMGuru  2 года назад

      Not easily - I'd look into the Genius Loci package and the Link DWG package for examples of how CAD properties can be interrogated using Python and Revit API/COM objects.

  • @hybridphoenix7766
    @hybridphoenix7766 3 года назад

    I was just watching your stream with Nic from Revit Pure, and you mentioned how your old Grasshopper tutorials are perhaps "outdated" given the release of Rhino 7, and therefore you might consider remaking them. Just curious, but are you going to follow up with that some time down the line? Or would it still be safe for someone to learn from your old tutorials for Rhino 7, at least most of the information is still useful that is.

    • @AussieBIMGuru
      @AussieBIMGuru  3 года назад

      So my likely plan will be to build courses to capture updates as youtube content hasn't aged well and doesn't go together well in series format. RUclips will be more for 1-off topics.
      I hope to release a rhino inside and grasshopper course sometime in 2022 and will release a course schedule on my platform once 2 courses are live (dynamo, revit families). Hopefully before end of year. For the most part my tutorials hold up OK, but rhino inside had a UI change and heaps of nodes changed names so that series lost some relevance.
      My platform is under development at courses.bimguru.education. Prices will be relatively affordable versus my competition, most likely $50/course/month and eventually a subscription option for all courses per month once i have enough on there to warrant it.

  • @evanhall7943
    @evanhall7943 3 года назад

    Thanks for the great video!
    I've been in the weeds on this topic for the past few weeks. I think I have a solution for every step except I still haven't found a method of getting the CAD lines associated with the blocks. I see you built the dimensions directly into the group name and type names, but I don't think that method will be practical for our application. We'll have variable dimension in our CAD blocks. Any idea how to get the lines associated with each block?
    I've found other packages that let me grab every line on a layer, and that almost works, I just can't group those lines by block... Do you know any useful magic hear?

    • @AussieBIMGuru
      @AussieBIMGuru  3 года назад

      There was a packaged called LinkDWG that used to be able to do this but is bugged in later versions. Maybe try out older versions and see if you have luck? It also contains Python code you could try to reuse but it's quite complex.

    • @evanhall7943
      @evanhall7943 3 года назад +1

      @@AussieBIMGuru Yea I've looked into that without much success. I'll keep tinkering with it though.

  • @noetie9948
    @noetie9948 3 года назад

    Interesting video!
    Would this be harder to achieve with the Autocad/Revit API?

    • @AussieBIMGuru
      @AussieBIMGuru  3 года назад

      Technically the custom node uses Revit API and be viewed if you're curious. It's quite a complex python script, not something I'd know how to do without Genius Loci.

  • @lorenzopadma1954
    @lorenzopadma1954 2 года назад

    I can't find a way to automatically import a dwg file from a folder into revit using dynamo!! i'm getting crazy why i'm not able to read such file with a software like revit

    • @AussieBIMGuru
      @AussieBIMGuru  2 года назад

      I believe Genius Loci has nodes to achieve this workflow.

    • @lorenzopadma1954
      @lorenzopadma1954 2 года назад

      @@AussieBIMGuru I saw it and it gives me import instance, is there anything to help me manage the output?

    • @lorenzopadma1954
      @lorenzopadma1954 2 года назад

      @@AussieBIMGuru thank you so much for the answer tho 🥰

  • @just_a_statistic
    @just_a_statistic 2 года назад

    What if we have to place multiple blocks ?

    • @AussieBIMGuru
      @AussieBIMGuru  2 года назад

      Then you would need to develop on top of this workflow with a more complex script.

    • @just_a_statistic
      @just_a_statistic 2 года назад

      @@AussieBIMGuru i m stuck with 41 blocks i want to place.

  • @abdelrahman5326
    @abdelrahman5326 Месяц назад +1

    Need a script on how to iterate a for loop for hitting the Like button!

    • @AussieBIMGuru
      @AussieBIMGuru  Месяц назад

      Haha I think RUclips would crash if we cracked the code for that one, but thanks~!

  • @sonnguyenxuan685
    @sonnguyenxuan685 9 месяцев назад

    this will not work with hosted family

    • @AussieBIMGuru
      @AussieBIMGuru  9 месяцев назад

      Yes for that you will need to develop logic to find the nearest point to the nearest logical host - much harder, but possible. For cad toolkits it would make sense to first make all walls and then doors/windows etc come after so they can have a host assigned during placement by the toolkit also.

    • @sonnguyenxuan685
      @sonnguyenxuan685 9 месяцев назад

      @@AussieBIMGuru i believe that you have make video about that right? i could not find it in your channel anymore.

    • @AussieBIMGuru
      @AussieBIMGuru  9 месяцев назад

      @@sonnguyenxuan685 i have not unfortunately. Lots of threads on dynamo forums for it. I generally dont do much cad to bim these days.

  • @vnvstudiotv
    @vnvstudiotv 3 года назад +1

    Always refreshing to see your content, super informative as usual. Admittedly, it partly inspired my own channel. (insert shameless plug for my latest video😅 )

    • @AussieBIMGuru
      @AussieBIMGuru  3 года назад

      Always glad to provide inspiration :)
      No worries RE the plug, all for supporting other like minds - we're all in this together!

  • @ynn1n
    @ynn1n 2 года назад

    Dude, speak slower, please!

    • @AussieBIMGuru
      @AussieBIMGuru  2 года назад +2

      50% video playback is probably the go here. Unfortunately I only have so much time to put into YT for free.