FamilyStructuralMaterialTypeFilter Class


A filter used to match families that have the given structural material type.

Namespace: Autodesk.Revit.DB.Structure
Assembly: RevitAPI (in RevitAPI.dll) Version: 2015.0.0.0 (2015.0.0.0)
Since: 2011

Syntax

C#
public class FamilyStructuralMaterialTypeFilter : ElementSlowFilter
Visual Basic
Public Class FamilyStructuralMaterialTypeFilter _
	Inherits ElementSlowFilter
Visual C++
public ref class FamilyStructuralMaterialTypeFilter : public ElementSlowFilter

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.

Examples

Copy C#
// 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();
Copy VB.NET
' Use FamilyStructuralMaterialType filter to find families whose material type is Wood
Dim filter As New FamilyStructuralMaterialTypeFilter(StructuralMaterialType.Wood)

' Apply the filter to the elements in the active document
Dim collector As New FilteredElementCollector(document)
Dim woodFamiles As ICollection(Of Element) = collector.WherePasses(filter).ToElements()

' Find families are not Wood: Use inverted filter to match families
Dim notWoodFilter As New FamilyStructuralMaterialTypeFilter(StructuralMaterialType.Wood, True)
' inverted filter
collector = New FilteredElementCollector(document)
Dim notWoodFamilies As ICollection(Of Element) = collector.WherePasses(notWoodFilter).ToElements()

Inheritance Hierarchy

System Object
Autodesk.Revit.DB ElementFilter
Autodesk.Revit.DB ElementSlowFilter
Autodesk.Revit.DB.Structure FamilyStructuralMaterialTypeFilter

See Also