FilteredElementCollectorGetElementIdIterator Method |
Returns an element id iterator to the elements passing the filters.
Namespace: Autodesk.Revit.DBAssembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntaxpublic FilteredElementIdIterator GetElementIdIterator()
Public Function GetElementIdIterator As FilteredElementIdIterator
public:
FilteredElementIdIterator^ GetElementIdIterator()
member GetElementIdIterator : unit -> FilteredElementIdIterator
Return Value
FilteredElementIdIterator
ExceptionsException | 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
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;
}
}
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
No code example is currently available or this language may not be supported.
No code example is currently available or this language may not be supported.
See Also