RVTDocs.com

FamilyStructuralMaterialTypeFilter

Class
Description:
A filter used to match families that have the given structural material type.
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.Structure.FamilyStructuralMaterialTypeFilter
Syntax
public class FamilyStructuralMaterialTypeFilter : ElementSlowFilter
Examples
// Use FamilyStructuralMaterialType filter to find families whose material type is Wood
FamilyStructuralMaterialTypeFilter filter = new FamilyStructuralMaterialTypeFilter(StructuralMaterialType.Wood);

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

// Find families are not Wood: Use inverted filter to match families
FamilyStructuralMaterialTypeFilter notWoodFilter =
    new FamilyStructuralMaterialTypeFilter(StructuralMaterialType.Wood, true); // inverted filter
collector = new FilteredElementCollector(document);
ICollection<Element> notWoodFamilies = collector.WherePasses(notWoodFilter).ToElements();