# Enable Python support and load DesignScript library
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)
# The inputs to this node will be stored as a list in the IN variables.
doc = DocumentManager.Instance.CurrentDBDocument
crv = IN[0]
floortype = IN[1]
lvl = IN[2]
bol = IN[3]
cArr =CurveArray()
for i in crv:
cArr.Append(i.ToRevitType())
TransactionManager.Instance.EnsureInTransaction(doc)
newflroor = doc.Create.NewFloor(cArr,floortype,lvl,bol)
out = newflroor.ToDSType(True)
TransactionManager.Instance.TransactionTaskDone()
# Place your code below this line
# Assign your output to the OUT variable.
OUT = 0
Hello and welcome
A solution making a polycurve first
# Enable Python support and load DesignScript library
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)
# The inputs to this node will be stored as a list in the IN variables.
doc = DocumentManager.Instance.CurrentDBDocument
crv = PolyCurve.ByJoinedCurves(IN[0])
floortype = IN[1]
lvl = IN[2]
bol = IN[3]
cArr = CurveArray()
for i in crv.Curves():
cArr.Append(i.ToRevitType())
TransactionManager.Instance.EnsureInTransaction(doc)
newflroor = doc.Create.NewFloor(cArr,floortype,lvl,bol)
out = newflroor.ToDSType(True)
TransactionManager.Instance.TransactionTaskDone()
# Place your code below this line
# Assign your output to the OUT variable.
OUT = out
@g.claudio.scarafini Creation.Document.NewFloor() method need consecutive curves (with the same direction) PolyCurve.ByJoinedCurves() and polycurve.Curves() methods are perfect for this case