Dear,
I’m trying to create a pipe from a definied line. I’m trying to get it using the MEPover Node called Pipe.ByLines but I always get “null” result. Find Image below.
I’m trying to findout the problem on the Python code, but I couldn’t find any trouble.
clr.AddReference(“RevitServices”)
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocumentclr.AddReference(“RevitAPI”)
import Autodesk
from Autodesk.Revit.DB import *clr.AddReference(“RevitNodes”)
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)if isinstance(IN[0], list):
lines = IN[0]
else:
lines = [IN[0]]
FirstPoint = [x.StartPoint for x in lines]
SecondPoint = [x.EndPoint for x in lines]
if isinstance(IN[1], list):
pipetype = UnwrapElement(IN[1])
else:
pipetype = [UnwrapElement(IN[1])]
ptl = len(pipetype)if isinstance(IN[2], list):
systemtype = UnwrapElement(IN[2])
else:
systemtype = [UnwrapElement(IN[2])]
stl = len(systemtype)
if isinstance(IN[3], list):
level = UnwrapElement(IN[3])
else:
level = [UnwrapElement(IN[3])]
ll = len(level)
if isinstance(IN[4], list):
diameter = IN[4]
else:
diameter = [IN[4]]
dl = len(diameter)elements =
TransactionManager.Instance.EnsureInTransaction(doc)
for i,x in enumerate(FirstPoint):
try:
levelid = level[i%ll].Id
systypeid = systemtype[i%stl].Id
pipetypeid = pipetype[i%ptl].Id
diam = diameter[i%dl]pipe = Autodesk.Revit.DB.Plumbing.Pipe.Create(doc,systypeid,pipetypeid,levelid,x.ToXyz(),SecondPoint[i].ToXyz())
param = pipe.get_Parameter(BuiltInParameter.RBS_PIPE_DIAMETER_PARAM)
param.SetValueString(diam.ToString())elements.append(pipe.ToDSType(False))
except:
elements.append(None)TransactionManager.Instance.TransactionTaskDone()
OUT = elements
May someone help me?
Thanks in advance