Sequencing Revit Levels as input

can u please advice if there is a way to sequence revit levels.
the curve input is 20 no:s curves, and the wall should be placed at all levels from 2 to 22 according to the curve.

Hi,

This script will get you all the levels of your document (unfortunately, I did not remember from where I got it in the first place). Try running it in a Python node, and then just query the corresponding levels (based on their indices)

import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
clr.AddReference('RevitAPIUI')
from Autodesk.Revit.UI import *
# Import ToDSType(bool) extension method
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.GeometryConversion)
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 *

clr.AddReference('DSCoreNodes')
import DSCore
from DSCore.List import *
#The inputs to this node will be stored as a list in the IN variables.
dataEnteringNode = IN
doc = DocumentManager.Instance.CurrentDBDocument
uiapp = DocumentManager.Instance.CurrentUIApplication
app = uiapp.Application
uidoc=DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument
out = []
#Assign your output to the OUT variable.
OUT = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Levels).WhereElementIsNotElementType().ToElements()
1 Like

Something like this? The second part of the graph is to sort them by elevation, don’t know if you need it

2 Likes

thankyou team, sorted…i had created the levels in the beginning of the script which was the sequence i was looking for. i missed it in the confusion.