Copy lenght parameter to text parameter


I’m very, very new to Dynamo, but I think that must be my only solution, so I wanna try to ask you.

I need to create a schedule where I can see all specifications for my components, so I can use it as a “bill of material” when ordering. I have this Tap family, PSU, where I can schedule the parameter “size” (green square on picture), but it’s not correct dimensions. The correct dimensions is 450-125.

In stead I want to use D1 and D2, but I cant schedule those two parameters. Are there any way I can get Dynamo to copy those parameters and put them into one single textparameter which I can schedule?

Please remember I am new to Dynamo when explaining.

Thanks :slight_smile: :slight_smile:

Have you tried using shared parameters for that task?

You can copy the values to a text parameter (more info here: Structure Compound to revit schedule)
But then whenever something changes you’ll need to re-run Dynamo again to update that text parameter.


Thanks for your reply :slight_smile:

I have tried to create two new shared parameters, but I’m not sure how to set them up to work properbly. I have made them like this:

But I think I need to make it a text parameter in stead?

It looks like in the linked topic, that you are creating a project parameter and not a shared parameter? Is that the way to do it?

Maybe I’m just not setting it up correctly in Dynamo.

You should add the shared parameters to the family

You can either substiture your existing parameters with shared or just add the shared and tell them to be equal to your existing parameters.
The shared parameters will be able to schedule.

I did that already… tried to make my own family and add the shared parameter to that family, but it just caused that the D1 changed to a wrong number. And when I try to schedule the new parameters they just show up empty.
EDIT: Actually they are not turning up empty, now when I tried again. But the D1 is still wrong.

So I thought it would be better to make a text parameter and use Dynamo for copying the D1 and D2 to that text parameter. But I can’t get it to work. Is it possible to copy a lenght parameter to a text parameter?

Well, the topic that I referred to shows how to put anything in a text parameter.

@mee Looks like an Units issue here. Could you show us your complete graph?

@kulkul thanks for your reply.

Which graph do you mean? The properties panel?

@mee The one which you said you tried and you can’t get it work.

I have attached a screen shot here. I have just tried following a guide from another topic, but I must have misunderstood something.

@mee What does the error says at Element.SetParameter? Can you show watch node for elements & StringFromList node.


Not sure what you mean about “Can you show watch node for elements & StringFromList node”

Maybe this?

@mee Replace list.create with a “codeblock” that has the following within. note a and b will be the element parameter outputs. then the output from this “codeblock” goes into the value on set parameter

Code for codeblock
a + “-” + b

NOTE: the code block will replace “list.create” “List.transpose” and “String From List” nodes

Code block could have the following instead a + b + c then make sure b is your separator then a and c will be the outputs from get parameter.

1 Like


That works!! Thank you so much :slight_smile: Do you know if it’s possible to remove all the zeroes?

@mee I would suggest you have a look at the following post to answer that question and the replacement way should be good enough, and it shuld be placed just before the elements goes into the codeblock.

@Brendan_Cassidy Thank you very much - I got it to work in my first example :slight_smile:

I just tried to do the same for another family with other parameters (I want to schedule the angle of a bend), and it didn’t work the same way. “No parameters found by that name”… I tried to use Rhythm’s GetParameterValueByName (TypeOrInstance) but it just made my program freeze all three times I tried.

Shouldn’t this work on all parameters?

I’ve solved it by using Springs.Number.ToString and String from Object.

Thanks :slight_smile: