When i get an element from the boundary segment and apply any method from the Elements class to it i get the error:
AttributeError: ‘NoneType’
Why is this happening?
import sys,os
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
clr.AddReference('RevitServices')
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)
clr.AddReference('RevitAPI')
from Autodesk.Revit import DB
from Autodesk.Revit.DB import *
from Autodesk.Revit.DB import FilteredElementCollector as Filter
clr.AddReference('System')
from System.Collections.Generic import List
from Autodesk.Revit.DB import Structure
from Autodesk.Revit.DB import JoinType
doc = DocumentManager.Instance.CurrentDBDocument
uiapp = DocumentManager.Instance.CurrentUIApplication
uidoc = uiapp.ActiveUIDocument
options = SpatialElementBoundaryOptions()
rooms = Filter(doc).OfCategory(DB.BuiltInCategory.OST_Rooms).WhereElementIsNotElementType().ToElements()
for room in rooms:
for segment in room.GetBoundarySegments(options):
for crv in segment:
el = doc.GetElement(crv.ElementId)
elType = el.GetTypeId()