FilteredElementCollector.GetElementIdIterator
Method
Description:
Returns an element id iterator to the elements passing the filters.
Returns an element id iterator to the elements passing the filters.
Remarks:
Calling this when you have an active iterator to this same collector will result in the first iterator being stopped by this call.
Calling this when you have an active iterator to this same collector will result in the first iterator being stopped by this call.
Examples
// Use a RoomFilter to find all room elements in the document.
RoomFilter filter = new RoomFilter();
// Apply the filter to the elements in the active document
FilteredElementCollector collector = new FilteredElementCollector(document);
collector.WherePasses(filter);
// Get results as ElementId iterator
FilteredElementIdIterator roomIdItr = collector.GetElementIdIterator();
roomIdItr.Reset();
while (roomIdItr.MoveNext())
{
ElementId roomId = roomIdItr.Current;
// Warn rooms smaller than 50 SF
Room room = document.GetElement(roomId) as Room;
if (room.Area < 50.0)
{
String prompt = "Room is too small: id = " + roomId.ToString();
TaskDialog.Show("Revit", prompt);
break;
}
}
Exceptions
Exception | Condition |
---|---|
InvalidOperationException | The collector does not have a filter applied. Extraction or iteration of elements is not permitted without a filter. |