Share

CurveElementFilter Class

A filter used to pass curve elements which are of a specific type.

Inheritance Hierarchy

System.Object
  Autodesk.Revit.DB.ElementFilter
    Autodesk.Revit.DB.ElementSlowFilter
      Autodesk.Revit.DB.CurveElementFilter


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

Syntax

C#

public class CurveElementFilter : ElementSlowFilter

The CurveElementFilter type exposes the following members.

Constructors

 NameDescription
Public methodCurveElementFilter(CurveElementType) Constructs a new instance of a filter to match specific types of curve elements.
Public methodCurveElementFilter(CurveElementType, Boolean) Constructs a new instance of a filter to match specific types of curve elements, with the option to match all curves which are not of the given curve type.

Properties

 NameDescription
Public propertyCurveElementType The curve element type.
Public propertyInverted 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)
Public propertyIsValidObject Specifies whether the .NET object represents a valid Revit entity.
(Inherited from ElementFilter)

Methods

 NameDescription
Public methodDispose
(Inherited from ElementFilter)
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodPassesFilter(Element) Applies the filter to a given element.
(Inherited from ElementFilter)
Public methodPassesFilter(Document, ElementId) Applies the filter to a given element.
(Inherited from ElementFilter)
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)

Example

C#

// Create a CurveElement filter to find CurveByPoints elements.
// It is necessary to use the CurveElementFilter, and not an ElementClassFilter or  the shortcut 
// method OfClass() because subclasses of CurveElement are not supported by those methods.
CurveElementFilter filter = new CurveElementFilter(CurveElementType.CurveByPoints);

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


// Find all curve elements: use inverted filter with invalid CurveElementType to match elements
CurveElementFilter notCurveByPntFilter = new CurveElementFilter(CurveElementType.Invalid, true); // inverted filter
collector = new FilteredElementCollector(document);
ICollection<Element> notCurveByPntFounds = collector.WherePasses(notCurveByPntFilter).ToElements();

VB

' Create a CurveElement filter to find CurveByPoints elements.
' It is necessary to use the CurveElementFilter, and not an ElementClassFilter or  the shortcut 
' method OfClass() because subclasses of CurveElement are not supported by those methods.
Dim filter As New CurveElementFilter(CurveElementType.CurveByPoints)

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


' Find all curve elements: use inverted filter with invalid CurveElementType to match elements
Dim notCurveByPntFilter As New CurveElementFilter(CurveElementType.Invalid, True)
' inverted filter
collector = New FilteredElementCollector(document)
Dim notCurveByPntFounds As ICollection(Of Element) = collector.WherePasses(notCurveByPntFilter).ToElements()

See Also

Reference

Was this information helpful?