I’ve done MARCELLO SGAMBELLURI, s “Make MEP Pipe System Families in Revit follow Topo with dynamo”. Where can I find he is using “Pipe.CreatePipe” node.
DATASET was not included.
Thanks
I’ve done MARCELLO SGAMBELLURI, s “Make MEP Pipe System Families in Revit follow Topo with dynamo”. Where can I find he is using “Pipe.CreatePipe” node.
DATASET was not included.
Thanks
Hi,
You need something like this.
import clr
clr.AddReference(‘ProtoGeometry’)
from Autodesk.DesignScript.Geometry 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
from System.Collections.Generic import *
clr.AddReference(“RevitAPI”)
import Autodesk
from Autodesk.Revit.DB import *
doc = DocumentManager.Instance.CurrentDBDocument
uiapp = DocumentManager.Instance.CurrentUIApplication
app = uiapp.Application
uidoc=DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument
FirstPoint = IN[0]
SecondPoint = IN[1]
pipeType = UnwrapElement(IN[2])
systemType = UnwrapElement(IN[3])
level = UnwrapElement(IN[4])
levelId = level.Id
elements = []
TransactionManager.Instance.EnsureInTransaction(doc)
for i,x in enumerate(FirstPoint):
n = i % len(systemType)
pipe = Autodesk.Revit.DB.Plumbing.Pipe.Create(doc, systemType[n].Id, pipeType.Id, levelId, FirstPoint[i].ToXyz(), SecondPoint[i].ToXyz())
elements.append(pipe.Id)
TransactionManager.Instance.TransactionTaskDone()
OUT = elements
Don’t know how to paste code
@Tomasz_Puchala Highlight the code and press </>
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
Import ToDSType(bool) extension method
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
Import geometry conversion extension methods
clr.ImportExtensions(Revit.GeometryConversion)
Import DocumentManager and TransactionManager
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
from System.Collections.Generic import *
Import RevitAPI
clr.AddReference("RevitAPI")
import Autodesk
from Autodesk.Revit.DB import *
doc = DocumentManager.Instance.CurrentDBDocument
uiapp = DocumentManager.Instance.CurrentUIApplication
app = uiapp.Application
uidoc=DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument
FirstPoint = IN[0]
SecondPoint = IN[1]
pipeType = UnwrapElement(IN[2])
systemType = UnwrapElement(IN[3])
level = UnwrapElement(IN[4])
levelId = level.Id
elements = []
Start Transaction
TransactionManager.Instance.EnsureInTransaction(doc)
for i,x in enumerate(FirstPoint):
n = i % len(systemType)
pipe = Autodesk.Revit.DB.Plumbing.Pipe.Create(doc, systemType[n].Id, pipeType.Id, levelId, FirstPoint[i].ToXyz(), SecondPoint[i].ToXyz())
elements.append(pipe.Id)
TransactionManager.Instance.TransactionTaskDone()
OUT = elements
Hehe, thanks!
import clr
clr.AddReference(‘ProtoGeometry’)
from Autodesk.DesignScript.Geometry import *
# Import ToDSType(bool) extension method
clr.AddReference(“RevitNodes”)
import Revit
clr.ImportExtensions(Revit.Elements)
# Import geometry conversion extension methods
clr.ImportExtensions(Revit.GeometryConversion)
# Import DocumentManager and TransactionManager
clr.AddReference(“RevitServices”)
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
from System.Collections.Generic import *
# Import RevitAPI
clr.AddReference(“RevitAPI”)
import Autodesk
from Autodesk.Revit.DB import *
doc = DocumentManager.Instance.CurrentDBDocument
uiapp = DocumentManager.Instance.CurrentUIApplication
app = uiapp.Application
uidoc=DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument
FirstPoint = IN[0]
SecondPoint = IN[1]
pipeType = UnwrapElement(IN[2])
systemType = UnwrapElement(IN[3])
level = UnwrapElement(IN[4])
levelId = level.Id
elements = []
# Start Transaction
TransactionManager.Instance.EnsureInTransaction(doc)
for i,x in enumerate(FirstPoint):
n = i % len(systemType)
pipe = Autodesk.Revit.DB.Plumbing.Pipe.Create(doc, systemType[n].Id, pipeType.Id, levelId, FirstPoint[i].ToXyz(), SecondPoint[i].ToXyz())
elements.append(pipe.Id)
TransactionManager.Instance.TransactionTaskDone()
OUT = elements
I made a script but I did not get to work.
The included files
Regards ek
Pipe_Line_3D.rvt (2.9 MB)
Pipe_Line_3D.dyn (18.1 KB)