Hi all,
I’m trying to do a simple façade with a pattern, and I would like to have the extrusion parameter of the panels ramdomized. I can change it manually in revit, so it isn’t a read-only, however I followed an easy exemple to do it in Dynamo, but it returns me with the: ‘‘The parameter is read-only.’’ I didn’t find a solution in this forum.
Anyone could help me??
Thanks in advance!
Well I believe this might be a transactional thing. You are modifying an element in two different places without specifying a specific sequence in which they get carried out. Try searching for Function.Compose() and utilizing that.
An easier way though, which is what I generally do is modify your two parameters in one SetParameterByName Node. Have 2 nested lists and plug them both into that node. ex
Your parameter name nested list
* 0
* m_triangle
* h_triangle
* 1
* m_triangle
* h_triangle
* 2
* ...
* ...
Your value nested list
* 0
* Material 1
* 500
* 1
* Material 2
* 510
* 2
* ...
* ...
Connect the Element output of the first SetParameterValueByName
node into the input of the second SetParameterValueByName
and that should resolve it. You are changing the state of the family elements with the first of the aforementioned nodes yet connecting the previous state of the elements in the second. This prevents the normal change propogation from executing in-sequence/in time hence the exception.
Thanks for the answers. I’ve simplified just trying to modify one parameter, and now, I get another error:
Warning: Internal error, please signal: deletion of the reference of a non-pointer element.
I’ve attached two printscreens to show you:
Thanks!!!
my hunch is your set operation is happening before get happens, and the reference doesnt exist coming out of the get. but either way, why not get your element from the original… see if that works
Thank you for the answers!
After a lot of versions, I resolved my real problem, who was that I was trying to modify a parameter into a revit file *.rvt, when it works perfectly into the family file *.rfa, it’s there where dynamo can set the values!