Hi everyone!
I tried get “name” and “area” of FromRoom but result don’t correct.
“Room Name” contain room number and “Area” not round all element.
Please show me where is incorrect code.
Thank Advance!
import Autodesk
from Autodesk.Revit.DB import *
doc = __revit__.ActiveUIDocument.Document
uidoc = __revit__.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))
for i in room_name:
print(i)
#get From_Room_Area
room_area = []
for i in selection:
room_area.append(get_from_room_area(i))
print(room_area)
@manhgt214 ,
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
2 Likes