I dowloaded Revit 2023 with the lates dynamo but I cant get the Element.SetParameterByName node to work any more. What is I have a Yes or No Paramenter. How am I know suppose to use Element.SetParmeterByName. I also stoped working for Interger parameters.
Is it a normal parameter or a Global Parameter?
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)
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!
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, www.bimguru.com.au # Boilerplate text import clr clr.AddReference("RevitServices") import RevitServices from RevitServices.Persistence import DocumentManager from RevitServices.Transactions import TransactionManager clr.AddReference("RevitAPI") 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) pname = IN pvals = tolist(IN) results =  # Do some action in a Transaction TransactionManager.Instance.EnsureInTransaction(doc) for e,v in zip(elements,pvals): param = e.LookupParameter(pname) try: param.Set(v) results.append(True) except: results.append(False) TransactionManager.Instance.TransactionTaskDone() # 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
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 220.127.116.1187.