CurveElementFilter Class


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

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

Syntax

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

Examples

CopyC#
// 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();
CopyVB.NET
' 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()

Inheritance Hierarchy

SystemObject
  Autodesk.Revit.DBElementFilter
    Autodesk.Revit.DBElementSlowFilter
      Autodesk.Revit.DBCurveElementFilter

See Also

ArchiLabs

Stop fighting Revit automation.

Build repeatable BIM design and documentation workflows with scripts, data, and AI in one place, without wrestling brittle one-off automations.

Try ArchiLabs →