Share

FilteredElementCollector.FirstElementId Method

Returns the id of the first element to pass the filter(s).


Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 26.4.0.0 (26.4.0.0)

Syntax

C#

public ElementId FirstElementId()

Return Value

ElementId
The first element id.

Exceptions

ExceptionCondition
InvalidOperationException The collector does not have a filter applied. Extraction or iteration of elements is not permitted without a filter.

Remarks

This will reset the collector to the beginning and find the first element that passes the applied filter(s). If you have an active iterator to this same collector it will be stopped by this call.

Example

C#

FilteredElementCollector collector = new FilteredElementCollector(document);

// Use shortcut OfClass to get View elements
collector.OfClass(typeof(View3D));

// Get the Id of the first view
ElementId viewId = collector.FirstElementId();

// Test if the view is valid for element filtering
if (FilteredElementCollector.IsViewValidForElementIteration(document, viewId))
{
    FilteredElementCollector viewCollector = new FilteredElementCollector(document, viewId);

    // Get all FamilyInstance items in the view and delete them
    viewCollector.OfClass(typeof(FamilyInstance));
    ICollection<ElementId> familyInstanceIds = viewCollector.ToElementIds();

    document.Delete(familyInstanceIds);
}

VB

Dim collector As New FilteredElementCollector(document)

' Use shortcut OfClass to get View elements
collector.OfClass(GetType(View3D))

' Get the Id of the first view
Dim viewId As ElementId = collector.FirstElementId()

' Test if the view is valid for element filtering
If FilteredElementCollector.IsViewValidForElementIteration(document, viewId) Then
   Dim viewCollector As New FilteredElementCollector(document, viewId)

   ' Get all FamilyInstance items in the view and delete them
   viewCollector.OfClass(GetType(FamilyInstance))
   Dim familyInstanceIds As ICollection(Of ElementId) = viewCollector.ToElementIds()

   document.Delete(familyInstanceIds)
End If

See Also

Reference

Was this information helpful?