Bulk reload Revit families from a different directory using dynamo

Hi All ,

I have a Revit project containing multiple families, and I want to Bulk reload these families (after making some modifications to their external files). I know what I need to do, but I got stuck while using Dynamo. I would greatly appreciate it if you could help me translate this issue into a Dynamo script.

What have you tried so far?

Hello ,
thank you Mr.Jacob for your reponse .
I’m pretty new to dynamo, I’m looking for some help to bulk reload several families into a Revit project.
I started by creating a list of external families, then I created a list of families that I used in my project.
I can’t find how I can extract from these external families the files which have the same names as the families used in my project, then reload these families into the project.
Thank you in advance for your help.

How would you do this manually? Perhaps get the family name (likely there is a property node in the Family section of the Dynamo for Revit library for this), and compare that to the list of file names?


I already have a list of the names of the families used in my project, however I want to obtain from the external .rfa families those which have the same names as the families in my project! I can’t find the command that allows me to do this comparison of names.
Added to that i try to reload family using “Document.LoadFamily” but that didin’t work .

1 Like

You don’t have a list of names, but a list of families. This is clearly indicated by the green highlighted element id. You could also utilize a Object.Type node to find out what type of data you have. Names are a type of string.

As you want to compare the name, you need to extract it from the family object, so try Family.Name node. This will return a string so you can start to do your comparison.

By the looks of it you also have a list of file paths, not file names. Extract the name with a File.Name node, be sure to discard the extension as well.

From there you can start to ask stuff like “is this file name in the list of families” using stuff like a List.Contains nodes, and use the resulting boolean (true/false value) as a mask to filter the file names with a List.FilterByBoolMask. From there a Document.LoadFamily node should make short work of the rest of the task.


i have to questions :
1-how can I get the name of the family without having the details of the types (dimensions)
2-can you explain to me how I can link the comparison nodes in the project?
thank you a lot .

I have no idea what Mobilier means, so I can’t really tell what you’re up to. My guess is this is something like “funiture” and you’re getting placed instances thereof. In which case you’ll need to get the family type from the instance, then the family from the type, then the unique items in the resulting list.

All Elements of Type node might also work, but it will be all families in every category in the project, not the ones which are placed. Assuming you are practicing good model heath that might not be an issue.

I explained above, but this images should provide further clarity:

thank you very much Mr.Jacob,
I will try to develop the script taking into account your instructions and i hope it works.

Get Family.Name or Element Name from the list of All Elements of category in your project revit file.

Connect node “All indices of” to it.

Get file system name with extension input: bool as False.

Connect this result to All indices of.

Get item at index with the result, the item list is the thing you want :grinning:



hello Mr.Romlero and thank you for your help !
I had a list with numbers instead of family names, can you explain where I made a mistake?
thank you a lot .