RVTDocs.com
Namespace: Autodesk.Revit.DB

FamilyInstanceFilter

Class
Description:
A filter used to find elements that are family instances of the given family symbol.
Remarks:
This filter is a slow filter, but it uses a quick filter to eliminate non-candidate elements before the elements are obtained and expanded. Therefore this filter does not have to be paired with another quick filter to minimize the number of Elements that are expanded.
Inheritance Hierarchy:
System.Object
  Autodesk.Revit.DB.ElementFilter
    Autodesk.Revit.DB.ElementSlowFilter
      Autodesk.Revit.DB.FamilyInstanceFilter
Syntax
public class FamilyInstanceFilter : ElementSlowFilter
Examples
// Creates a FamilyInstance filter for elements that are family instances of the given family symbol in the document

// Find all family symbols whose name is "W10X49"
FilteredElementCollector collector = new FilteredElementCollector(document);
collector = collector.OfClass(typeof(FamilySymbol));

// Get Element Id for family symbol which will be used to find family instances
var query = from element in collector where element.Name == "W10X49" select element;
List<Element> famSyms = query.ToList<Element>();
ElementId symbolId = famSyms[0].Id;

// Create a FamilyInstance filter with the FamilySymbol Id
FamilyInstanceFilter filter = new FamilyInstanceFilter(document, symbolId);

// Apply the filter to the elements in the active document
collector = new FilteredElementCollector(document);
ICollection<Element> familyInstances = collector.WherePasses(filter).ToElements();