Bulk replace Revit family parameters using Dynamo!

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 ก.ย. 2024

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

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

    Gavin, thanks for another amazing Dynamo tutorial! You make life much easier always!

  • @kslifter1
    @kslifter1 ปีที่แล้ว +3

    I want to give you a dozen high-fives! I am in 2024 and was able to fairly easily find the ForgeId update, with that update the script ran perfectly! I had a couple dozen families I needed updated to shared and this helped immensely. Thank you for sharing!

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

      Glad to hear this helped!

    • @deep_1723
      @deep_1723 6 หลายเดือนก่อน

      @kslifter1 Nice, :) , that it worked for you. I am struggling a bit with the script in RVT 2024. It worked for me for the Door Families, but when I tried with the Window Familes it shows the following error. I would be really thankful to you if you can help me on this.
      Error: PythonEvaluator. Evaluate operation failed.
      Traceback (most recent call last):
      File "«string>", line 54, in < module> Exception: Cannot replace a parameter with a parameter of a different ParameterType.
      Parameter name: family Definition

    • @AussieBIMGuru
      @AussieBIMGuru  6 หลายเดือนก่อน +1

      @deep_1723 as the error indicates your replacement parameter likely isnt the same storage type as the original one (e.g. integer vs number). Revit doesnt support changing parameter types with or without dynamo.

    • @deep_1723
      @deep_1723 6 หลายเดือนก่อน +1

      ​@@AussieBIMGuru Thanks you your reply :)
      It worked with the same settings for Multiple Door Families in 2023 and 2024, but somehow it's not working for Window Families. I have assigned the Window Shared Parameters to the .rvt file properly matching the new parameters, but somehow I am unable to troubleshoot this. You had also suggested me the forgetypeid additional code on Dynamo BIM Forum to integrate to the script, but at the moment my knowledge of Dynamo is a bit limited , so I am unable to troubleshoot this. But, thanks a lot for all the support you are providing to the community, it's highly admirable :)

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

      @@deep_1723 I'll be hopefully capturing the forgetypeId thing in a future build of Crumple. If the script works for a door but not a window I doubt that's the cause as I seem to recall you solved that part by editing the Python code already. I'm nearly certain the warning means a parameter you're replacing isn't the same type as the intended one.

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

    Another awesome trick, thanks for sharing!

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

    That bring me memories when I did a app to create, edit, fill up parameters in families.
    We had so much families to do, and later we move from one type of parameter naming to another, that I ended up with program that could : change parameters, create , new define shared parameters if needed, connect to connectors and even edit formula in parameters linked to it. That was crazy time. But then they made a forgeId mess and all this when to garbage.
    some easy thing that I would suggests for your app(i m working in c# revit api so it can be not 1:1):
    dispose Transaction - that may fix some of your problems
    subtransaction is basicly for revert part of transaction if something when wrong(but most problem appear after transaction so it can be messy).
    your parameters may have some default value, it would be nice to keep it.
    You can create a shared parameter file.
    There is many thing that you should be careful with, functions in parameters, bind parameter to element, check if parameter is not buildin parameter that can't be swap rename or remove.

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

      Oh man yeah forgeId has been a huge pain! So little documentation provided on how it all works versus the old API.
      I have some more refined takes on this where I work that address some of the ideas, although in pyrevit/python versus a full app which could go further as you suggested. Thanks for the ideas!

  • @hannesventer4298
    @hannesventer4298 6 ชั่วโมงที่ผ่านมา

    @AussiBIMGuru, Thanks for these tutorials and content, its incredible. I'm having an error getting the list of my shared parameters in revit 2024. It says my index is out of range. Any tips for solving this from anyone in the comments

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

    Hi Gavin!
    Great material as always! I attempted to use Orchid package to automate the process of filling multiple values for different families and family types taking values from Excel spreasheet. However, I was only able to successfully update one family at a time, and that too for only one parameter. Do you happen to know of any viable solutions for this issue?

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

      The logic I use here to work across family documents should work, but instead you would need the row to be the family type/name and the column to be the parameter/value. From there you can get the parameters in each family, find their index of name and try setting the values using the family manager class. It would be a lot of looping, indexing and try/except statements.

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

    Thank you so much for posting this easy-to-follow tutorial, it has been a great help! When trying to run the code, the Python Script you used for replacing Parameters is giving me a None Type error telling me that a ParameterGroup attribute does not exist. I'm wondering if I'm having a problem recognizing the open DB files as arguments to that code block. Do you have any thoughts? All outputs of the different notes have matched those in this video up until this point. Any advice would be appreciated - until then I will keep troubleshooting. Thanks!

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

      My best guess is you may be using Revit 2023? The API has changed a lot in that version so my code doesn't quite work there. In that case there are Forge/Spectypes to work with - a bit trickier.
      There's a discussion on this here:
      forum.dynamobim.com/t/shared-parameters-create-and-add-to-family-in-python/88081/20

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

      @@AussieBIMGuru I am using Revit 2024, so that makes sense. Thank you for the linked post and I will do some more research on how to get this workflow to work with the newer API. Appreciate all that you do!

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

      @@AussieBIMGuru As an update: I can get it to run successfully when there is only one file in the folder. The error I'm getting only occurs when there is more than one file. It opens up the temp file for the 2nd family, but never actually gets to replacing the parameters. I will continue to troubleshoot, but thought I'd update you with anything I found in case it is helpful to you in the future.

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

      @@DrummerVision96 my only guess is maybe the files are read only or you dont have write access?

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

      @AussieBIMGuru I've tried File 1 alone in a folder and it works. File 2 alone works. File 1 + 2 in a folder results in the None Type error at that final, complex python block. I've tested on both 2022 and 2024, so there's a high likelihood I've messed up the code somewhere - since I know you have done it successfully. That'll be my project at work tomorrow.

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

    Is it possible to replace the category somehow ( for eg. "Generic Model" with "Structural Rebar")..?

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

      Looks like it can be set using this property
      www.revitapidocs.com/2015/e00c2b8b-b92d-526b-11b6-71c7e1d5d1b7.htm

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

      the codes there are for C++ and Visual Net, how can i use them into dynamo node (in python) ? @@AussieBIMGuru

  • @kaysebll
    @kaysebll 2 หลายเดือนก่อน

    Hi, my new family parameters name is same so is it problem ?

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

      As long as the parameter guid is new, i think it should work.

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

      @@AussieBIMGuruThank u so much ! I already changed guid in parameters text but revit remember them with old parameters guid. So I have to open my family and choose new parameters and it take to much time because I have near 200 family docs , I hope this video help me. Thank u again 🙏

  • @AndriiSlyusarenko
    @AndriiSlyusarenko 7 หลายเดือนก่อน

    @Gavin Hi. Could you, please, share this dyn file with us?

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

      All my scripts are on my github.

  • @rezwanulhoque117
    @rezwanulhoque117 11 หลายเดือนก่อน

    how to create "Bulk replace Revit shared parameters using Dynamo" ?

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

      Like this video. If you mean project paramsters, not possible.

    • @rezwanulhoque117
      @rezwanulhoque117 11 หลายเดือนก่อน +1

      @@AussieBIMGuru yes, ok.