Adding trusses to dynamo

Apologies for my inaccurate earlier reply. It seems trusses are on their own in terms of element creation.
Please use this code in a python node to create a truss (or trusses). Input 0 needs a LIST of dynamo lines, input 1 needs Truss Family Type. It is assumed that trusses are to be placed on a vertical plane:

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

doc = DocumentManager.Instance.CurrentDBDocument

clr.AddReference("RevitAPI")
import Autodesk
from Autodesk.Revit.DB import *
from Autodesk.Revit.DB.Structure import *
from Autodesk.Revit.DB import Plane as RevitPlane

DynamoLines = IN[0]
Truss_symbol = UnwrapElement(IN[1])


TransactionManager.Instance.EnsureInTransaction(doc)

rvtLines = [i.ToRevitType() for i in DynamoLines]
elements = []
for i in rvtLines:
	pl = RevitPlane.CreateByThreePoints(i.Evaluate(0,True),i.Evaluate(1,True),i.Evaluate(0,True)+XYZ(0,0,1))
	sp = SketchPlane.Create(doc,pl)
	instance = Truss.Create(doc, Truss_symbol.Id,sp.Id,i)
	elements.append(instance)

TransactionManager.Instance.TransactionTaskDone()

OUT = elements

2 Likes