Read family file name in excel and apply parameter to this family



Hello, I’m a new dynamo user and have a problem I cannot solve:

I have a great number (more than 100) of family files on révit and I would like to write parameters value on each family file using an excel database.
For my test, my excel contains 3 columns, 1/ rfa file data name “test.rfa”, 2/ the first parameter and 3/ the second parameter. There are as many rows as the number of rfa files that all are in a same folder.

I made a dynamo that is able to read the rfa file name in my excel (1st column), to open it. Then I succeed in writing the parameter value in the rfa file. HOWEVER my dynamo always write the first row on each family ( it applies the parameters of the first row to every rfa files);;
I don’t know how to do to say to dynamo “apply the parameter value that is on the same row that the rfa file you are writing on”.

I hope I have been clear

If someone can help it would be very nice.



Can you include some screenshots of what you’re doing and where it goes wrong. :slight_smile:



Try either flattening your document input or use list levels. (right before your setparameterbyname node)


OK thank you for your help. It’s nice

I tried flattening just before the SetParameter node but nothing changed. Maybe because I don’t know w how to set the “amt” factor on List.Flatten node.


You need to get the structure of your lists to match :slight_smile: Try and see this example:


Thank you Jonhatan for answering,

Unfortunately your solution does not work and eve if the list is flattened, each .rfa that is opened get the first value of the excel. I should find another way to do what I want .


Can you show your attempt?

Alternatively share your .dyn, .rfa and .rvt files and helping you is much easier :slight_smile:


I cannot upload .dyn or .rfa, the website does not allow it to me


Then add a Dropbox, drive or other file share link… Including your revit file


Here are the files

First you must create shared parameters (PLOUK end SGIG) to the family (or apply the .dyn add_shared_param that do it directly).

Thank you for your attention Johnatan