Hi, trying to change a sheet number prefix from A to AB but i dont know how to finish the script. Its not changing the sheet numbers in Revit. Still learning.
You need feed those values to “Element.SetParameter” node. Currently your just replacing strings. You need to set to reflect on revit. Hope that make sense.
It may be caused by the scenario described here:
If that is the case…then try using
Bimorph.RenumberOrRenameSheet as it’s more robust
Thank you all for responses, this forum is awesome. learning heaps
Thanks this changes all of them! Just curious, the ParameterName for the “Set BuiltIn Parameter” is SHEET_NUMBER for it to work and for “Element.SetParameterByName” is Sheet Number for it to work. How do you find out what the correct parameter name is for something in revit. Weather built in or just an element parameter.
There are nodes to list them in Clockwork and Archi-Lab Grimshaw
working along from changing multiple sheet number prefixes. I’m trying to make a script that will change the name of multiple duplicated views (for me, remove “Copy 1” and add a prefix). I managed to filter the list exactly down to what i want but the script is changing the wrong view names in revit.
Hi @vanman . The problem with Sheet Number is that behind the parameter “Sheet Number” there are few parameters. But you see only the one you filled in the properties palette when you select sheet. And when you use the ordinary node “Set parameter By name” you are not sure which parameter you are accessing. That is why you should use BuiltIn Parameter node, to be sure you always access the parameter you want.
As for the BuiltIn Parameter names. Here you can find them - http://www.revitapidocs.com/2017/fb011c91-be7e-f737-28c7-3f1e1917a0e0.htm
The problem here is that the elements you are feeding in the Set BuiltIn Parameter node are not filtered and they are not maching the values you are using. Match the two lists. They are different number and not maching right
Ah I see. Thank you. What node would I use to get the string.replace to work on the true values from the string.contains and keep the list.
From what I see in your workflow you change the name of specific views.
So if so just use the bool mask you already have and use it to filter the floor plan views.
Copy List Filter By bool mask node and feed the Floor Plan views and the bool mask you have.
That is how you will end up with two matching list in the Set BuiltIn Paramter node = )
Like this :
@Petar_Penchev1 is on the right path but i would modifiy what he has said to the following as it is a little bit more compact.
Note: Document.Views will need to be replaced with your get all views node.
The output from the list filter by bool is outputting revit elements and therefore can be plugged directly into the elements input for the set built parameter. This does mean you will have to put another level.name after this but before the string replace.
Yes,my proposal was based on the script with minimum amendments. Of course this is good optimziation. The idea is to have matching list feeding the Set BuiltIn parameter node, rest is up to you. Cheers
Thanks guys. Just used Petars solution, worked nicely for what i wanted. Tried to create Brendans but the view name kept ending up the same as ones in my revit model before it could add the prefix i wanted to the view. I was probably just getting something wrong