Hi,
It’s a @Kulkul’s script :
# From Kulkul
import clr
# Import RevitAPI
clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *
# Import ToDSType(bool) extension method
clr.AddReference('RevitNodes')
import Revit
# Import Element wrapper extension methods
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
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
#The inputs to this node will be stored as a list in the IN variable.
doc = DocumentManager.Instance.CurrentDBDocument
listCurves = IN[0]
listFilledRegionName = IN[1]
viewId = doc.ActiveView.Id
TransactionManager.Instance.EnsureInTransaction(doc)
listFilledRegion = []
for filledRegionName in listFilledRegionName:
for fr in FilteredElementCollector(doc).OfClass(FilledRegionType):
if Element.Name.GetValue(fr) == filledRegionName:
listFilledRegion.append(fr)
regions = []
for curve,filledRegion in zip(listCurves, listFilledRegion):
curveLoopList = []
floorCurves = CurveLoop()
for line in curve:
floorCurves.Append(line.ToRevitType())
curveLoopList.Add(floorCurves)
coloredRegion = FilledRegion.Create(doc, filledRegion.Id, viewId, curveLoopList)
regions.append(coloredRegion.ToDSType(False))
TransactionManager.Instance.TransactionTaskDone()
OUT = regions