Returns an element id iterator to the elements passing the filters.
Namespace: Autodesk.Revit.DBAssembly: RevitAPI (in RevitAPI.dll) Version: 26.4.0.0 (26.4.0.0)
Syntax
C#
public FilteredElementIdIterator GetElementIdIterator()
Return Value
FilteredElementIdIterator
Exceptions
| Exception | Condition |
|---|
| InvalidOperationException |
The collector does not have a filter applied. Extraction or iteration of elements is not permitted without a filter.
|
Remarks
Calling this when you have an active iterator to this same collector will result in the first iterator being
stopped by this call.
Example
C#
RoomFilter filter = new RoomFilter();
FilteredElementCollector collector = new FilteredElementCollector(document);
collector.WherePasses(filter);
FilteredElementIdIterator roomIdItr = collector.GetElementIdIterator();
roomIdItr.Reset();
while (roomIdItr.MoveNext())
{
ElementId roomId = roomIdItr.Current;
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;
}
}
VB
Dim filter As New RoomFilter()
Dim collector As New FilteredElementCollector(document)
collector.WherePasses(filter)
Dim roomIdItr As FilteredElementIdIterator = collector.GetElementIdIterator()
roomIdItr.Reset()
While roomIdItr.MoveNext()
Dim roomId As ElementId = roomIdItr.Current
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
See Also
Reference