RVTDocs.com

FilteredElementCollector.GetElementIdIterator

Method
Description:
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.
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.