Using Dynamo nodes with the Revit API

This works for me:

import sys, clr
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.GeometryConversion)
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
clr.AddReference("RevitAPI")
import Autodesk
from Autodesk.Revit.DB import *

doc = DocumentManager.Instance.CurrentDBDocument
walls = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Walls).WhereElementIsNotElementType().ToElements()
options = Options()
solids = [list(i.get_Geometry(options))[0] for i in walls]
union = BooleanOperationsUtils.ExecuteBooleanOperation(solids[0], solids[1], BooleanOperationsType.Union)
OUT = union.ToProtoType()
2 Likes