Creating the Value of a Parameter, based on the Value of 3 other Parameters

Hello. I am new to Dynamo, so if there are additional mistakes to my script, please let me know. My objective for this script is to have the identity parameter of a column (for example) “Cle” be the result of the three parameters “Etage”, “Zone”, and “WBS”.

Cle = E1,0,1.3.1
Etage = E3
Zone = 0
WBS = 1.3.1

In the script that I have attached, you can see that there is only one value created, for the index 0. My goal is to create this for each of the elements for the category, the indexes 0-202. I cannot find any literature regarding the break down of these lists, but if anyone can help it would be greatly appreciated.

Thank you,

Hi Mason, welcome on board the forum!
For me one way to combine three parameters into a string would be to use a list of parameter names and then join the results. Depending on how you use list levels you can get the output pre arranged. Something like this :point_down:

2 Likes

Hi Mike, thank you for simplifying. It works much better now, I just have one issue:

Each time I run the script my computer freezes. I can see all of the values are correct if I pin them, but the moment I bring it to Revit, nothing is responsive. However, if I do manual it kind of works. There seems to be a error between “String.Join” and “Element.SetParameterbyName.” For example if I try this with floors, the 4th index is applied to all of the floors, even if the floors have different values for “Etage” (Levels in french).

Thanks again.

The Element.SetParameterbyName node does get stuck (which may possibly be a bug), the strings and the elements are at different levels of nesting - so try something like this;
image
Or this

I used the first option, and it worked well.

Thank you very much Mike!

1 Like