Revit and Dynamo 2023 with Element.SetParameterByName


Did you try open/close Dynamo?



Is it a normal parameter or a Global Parameter?

No it is Normal

Yes I feel I tried everthything you se it gives values 1. But when I like feed back value to use the Element.SetParameterByName it dose not work anymore

What does the error message say?

Same problem here when trying to set a checkbox with an integer (used to work in Revit 2021)

Looks like I am seeing the same issue, and here is a way to solve it with a bit of design script.


It appears that there was a change allowing type conversion for setting Y/N parameters… @solamour can we get the Revit team to confirm? This will be rather breaking for many a graph updated from the old version.


You beat me to it, but I just submitted a issue as it looks like this will not currently work.


The Revit team are already on top of this change - but I’ll ping this thread as additional context to them!


Thanks this worked for Y/N but what do I for a list of integer?

If the integer still doesn’t work in revit 2023, feed the true/falses into an equals node to see if the values equal 1. That turns 1 to true, 0s to false.

Unfortunate I have industry standard for a elements height, length and width. To not have to remember them, it was turned into integers to choose from. So you saying I cant use integers for productions length and width anymore but I have to change it into a length parameter?

This thread is about setting boolean parameters using integers I think, different topic. I would have expected integer parameters can be set using integers in Revit 2023… what does your warning say.

Well I’ll be damned… Revit 2023 out for 4 months and the set parameter node can’t handle integers. Yikes.

Try this Python based approach as an alternative.

Set integers.dyn (13.3 KB)

# Made by Gavin Crump
# Free for use
# BIM Guru,

# Boilerplate text
import clr

import RevitServices
from RevitServices.Persistence import DocumentManager 
from RevitServices.Transactions import TransactionManager 

import Autodesk 
from Autodesk.Revit.DB import *

# Current doc/app/ui
doc = DocumentManager.Instance.CurrentDBDocument

# Define list/unwrap list functions
def tolist(input):
    result = input if isinstance(input, list) else [input]
    return result

def uwlist(input):
    result = input if isinstance(input, list) else [input]
    return UnwrapElement(result)

# Preparing input from dynamo to revit
elements  = uwlist(IN[0])
pname     = IN[1]
pvals     = tolist(IN[2])

results = []

# Do some action in a Transaction

for e,v in zip(elements,pvals):
    param = e.LookupParameter(pname)


# Output and Changing element to Dynamo for export
# <element>.ToDSType(True), #Not created in script, mark as Revit-owned
# <element>.ToDSType(False) #Created in script, mark as non-Revit-owned

# Preparing output to Dynamo
OUT = [elements,results]

Disappointing, right? It’s on Autodesk’s radar–they provide some Python as a workaround in the link here too.

I used Python in my workarounds for integer set issues when getting scripts ready for R23 use.


Hello all - as per 📢 Dynamo 2.13 - Revit 2023 Set Parameter Issue(s) - Hotfix Out Now this is now fixed in the Revit Hotfix, so please go download :partying_face:


Hello - Just wanted to report that this issue still persists after the 2023 Hotfix, at least on my end. I know I’m sorry I know this is the last thing you guys want to hear! In my case, the Material class is unable to accept values of Integer type as shown below. @GavinCrump 's Python snippet above worked just fine for the time being. However, the Dynamo OOTB node continues to fail.

I am running Revit 2023.0.2 and Dynamo Core


Yeah. Unfortunately the fix didn’t find its way in. :pensive:

You can fix it by following this here : Error - specTypeId is not a measurable spec identifier? - #18 by solamour