Returns an element id iterator to the elements passing the filters.
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 2015.0.0.0 (2015.0.0.0)
Since: 2011
Syntax
C# |
---|
|
Visual Basic |
---|
|
Visual C++ |
---|
|
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;
}
}

' Use a RoomFilter to find all room elements in the document.
Dim filter As New RoomFilter()
' Apply the filter to the elements in the active document
Dim collector As New FilteredElementCollector(document)
collector.WherePasses(filter)
' Get results as ElementId iterator
Dim roomIdItr As FilteredElementIdIterator = collector.GetElementIdIterator()
roomIdItr.Reset()
While roomIdItr.MoveNext()
Dim roomId As ElementId = roomIdItr.Current
' Warn rooms smaller than 50 SF
Dim room As Room = TryCast(document.GetElement(roomId), Room)
If room.Area < 50.0 Then
Dim prompt As [String] = "Room is too small: id = " & roomId.ToString()
TaskDialog.Show("Revit", prompt)
Exit While
End If
End While
Exceptions
Exception | Condition |
---|---|
Autodesk.Revit.Exceptions InvalidOperationException | The collector does not have a filter applied. Extraction or iteration of elements is not permitted without a filter. |