A filter used to match families that have the given structural material type.
Inheritance Hierarchy
System.ObjectAutodesk.Revit.DB.ElementFilter
Autodesk.Revit.DB.ElementSlowFilter
Autodesk.Revit.DB.Structure.FamilyStructuralMaterialTypeFilter
Namespace: Autodesk.Revit.DB.Structure
Assembly: RevitAPI (in RevitAPI.dll) Version: 26.1.0.0 (26.1.0.34)
Syntax
C#
public class FamilyStructuralMaterialTypeFilter : ElementSlowFilter
The FamilyStructuralMaterialTypeFilter type exposes the following members.
Constructors
Name | Description | |
---|---|---|
![]() | FamilyStructuralMaterialTypeFilter(StructuralMaterialType) | Constructs a new instance of a filter to match families that have the given structural material type. |
![]() | FamilyStructuralMaterialTypeFilter(StructuralMaterialType, Boolean) | Constructs a new instance of a filter to match families by structural material type, with the option to match all families which are not of the given structural material type. |
Properties
Name | Description | |
---|---|---|
![]() | Inverted |
True if the results of the filter are inverted; elements that would normally be accepted by this filter will be rejected,
and elements that would normally be rejected will be accepted.
(Inherited from ElementFilter) |
![]() | IsValidObject |
Specifies whether the .NET object represents a valid Revit entity.
(Inherited from ElementFilter) |
![]() | StructuralMaterialType | The family structural material type. |
Methods
Name | Description | |
---|---|---|
![]() | Dispose | (Inherited from ElementFilter) |
![]() | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) |
![]() | GetHashCode | Serves as the default hash function. (Inherited from Object) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object) |
![]() | PassesFilter(Element) |
Applies the filter to a given element.
(Inherited from ElementFilter) |
![]() | PassesFilter(Document, ElementId) |
Applies the filter to a given element.
(Inherited from ElementFilter) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object) |
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.Example
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();
VB
' 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()