Get "Element" From Key Schedule

Solution to this was found here from @Konrad_K_Sobon from over 4 years ago… I have a long ways to go!

https://forums.autodesk.com/t5/revit-api-forum/key-schedule-revit-api/td-p/5449134

import clr

clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
from Autodesk.Revit.DB.Structure import *

clr.AddReference('RevitAPIUI')
from Autodesk.Revit.UI import *

clr.AddReference('System')
from System.Collections.Generic import List

clr.AddReference('RevitNodes')
import Revit
clr.ImportExtensions(Revit.GeometryConversion)
clr.ImportExtensions(Revit.Elements)

clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager

doc = DocumentManager.Instance.CurrentDBDocument
uidoc=DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument

#Preparing input from dynamo to revit
viewSchedule = UnwrapElement(IN[0])

#Do some action in a Transaction
TransactionManager.Instance.EnsureInTransaction(doc)

elements = FilteredElementCollector(doc, viewSchedule.Id).ToElements()

params = []
names = []
for i in elements:
    params.append(i.Parameters)
    names.append(i.Name)

TransactionManager.Instance.TransactionTaskDone()

OUT = elements, names

While I was at it, I figured why not ZTN it:

5 Likes