check out this topic
builtinparameters easy to catch, in general
keep attetion to your syntex, “print” want work … use the template from primier!
import sys
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
def get_from_room_name(element):
try:
return Autodesk.Revit.DB.Element.Name.get(element.FromRoom[phase])
except:
return None
def get_from_room_area(element):
return round(((element.FromRoom[phase].Area)*0.092903),2)
phases = doc.Phases
phase = phases[phases.Size - 1]
#Select all elements category from revit
selection = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Doors).WhereElementIsNotElementType().ToElements()
#get From_Room_Name
room_name = []
for i in selection:
room_name.append(get_from_room_name(i))
#get From_Room_Area
room_area = []
for i in selection:
room_area.append(get_from_room_area(i))
OUT = room_name, room_area