Structural framing - controlling coping distance


I am trying to use dynamo to schedule out the coping distance value for all my structural beams for then to be able to control / change all coping distances in a revit schedule. In the attached example I have started a new revit project where there is only two structural beams where one has added a coping to see if the scrips works before adding it the other projects. The error seems to be at the Element.SetParameterByName. First I connected the elements directly to the node, though got an error that searching the web told me to add a convert object to string node in-between them for it to work. There might be a very simple solution to this, but as this is my first script in Dynamo I am stuck. Below is the attached warning message:

Warning: Internal error, please report: Dereferencing a non-pointer.

I have also tried to upload an image of the complete script that I hope is readable.

Thanks in advance!

Also, if anyone knows of a string to only filter out the elements that do have a coping applied to them I would be happy to know.

Hi @ahQ8GZX

You need to connect elements list which your getting from allelementsofcategory node to setparameter node right now your connecting strings to it.


Kulkul, thank you for your reply. I am sorry, but I do not quite understand. At first I connected the AllElementsofCategory directly to the element in ElementSetParameterByName, but I got an error message that the “parameter’s storage type is not a string” thus I connected the string between the two. I am sorry if I misunderstand you, am I missing a command?

@Kulkul is right that the elements list should be connected to the element input of the setparameter node. The error you are talking about is most likely a type error with the value input. What it means by “Parameter’s storage type is not a string” is that the value you are trying to pass into the parameter is a string, but the parameter is meant to be something else (in this case for distance, it should be a double/int).

Check if the values you got from the Element.GetParameterValueByName are strings using Object.Type. Otherwise it might be because the first value in the list is an empty value that is treated as a “”, which is an empty string.

the parameters u need to change are: