Set parameter by name pushes wrong pipe diameter

Is there a unit conversion that I am unaware of or is this a fundamental misunderstanding of the node? I am outputting 1/2", 1.5", and 2" as the diameter but it is setting the size to 2" for everything.

Top is for blue pipe, bottom is for red not shown since they are all the same size (1/2).

You need to show more of the graph than just those couple nodes. Can you at least show all of the inputs you are using for Element.SetParameterByName?

See attached.

Update: Seems to consistently only push the first entry into every instance of the pipe instead of going one for one.

The nesting depth of your list of pipes is different from that of your list of values. The deepest level of your list of pipes is @L3 and the deepest level of your list of diameters is @L2, so it is only using the first diameter to modify all of the pipes. You need to change the levels of the “element” input to @L2 for it to apply the corresponding diameter value for each pipe.

Levels Example.dyn (13.6 KB)

1 Like

I keep seeing you around @cgartland and every time I do it is a pleasure. Thank you.

No problem, happy to help.

@cgartland General question wouldn’t it be better to run a clean list function then pull list at index 0? Levels may change but since I am filtering down to a specific item there should only ever be 1 list after clean list.


The two lists look like they are supposed to always be the same length (each pipe is paired with a single diameter value). So, yes, it would be simpler to have them both be at the same level. You could use a Flatten node on both lists which would guarantee that they have the same structure.

1 Like