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

excel

#1

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.

Thanks


#2

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


#3


#4

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


#5

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.


#6

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


#7

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 .


#8

Can you show your attempt?

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


#9

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


#10

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


#11

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