HI
I’ve been trying to change level for pipes too, but my python skills are very limited, but I think that I have found the right BuiltInParameters!! You can see my code below. I get an error in line 24
Another issue is, is it possible to use the start and end offset param or is it not possible?? they look as they are read only.
Thanks in advance
Here comes the code:
import clr
clr.AddReference(‘RevitAPI’)
from Autodesk.Revit.DB import *
clr.AddReference(“RevitNodes”)
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)
clr.AddReference(“RevitServices”)
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
element = UnwrapElement(IN[0])
ref_level = UnwrapElement(IN[1])
offset = IN[2]
TransactionManager.Instance.EnsureInTransaction(doc)
for i,x in enumerate(element):
ref_levelid = ref_level[i].Id
object_param_level = x.get_Parameter(BuiltInParameter.RBS_START_LEVEL_PARAM)
object_level = doc.GetElement(object_param_level.AsElementId())
object_param_offset = x.get_Parameter(BuiltInParameter.RBS_OFFSET_PARAM)
object_newoffset = offset[i]
object_param_level.Set(ref_levelid)
object_param_offset.Set(object_newoffset)
TransactionManager.Instance.TransactionTaskDone()
OUT = element