ElementIsCurveDrivenFilter Class


A filter used to match elements which are curve driven.

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

Syntax

C#
public class ElementIsCurveDrivenFilter : ElementQuickFilter
Visual Basic
Public Class ElementIsCurveDrivenFilter _
	Inherits ElementQuickFilter
Visual C++
public ref class ElementIsCurveDrivenFilter : public ElementQuickFilter

Remarks

The term "curve driven" indicates that the element's Location property is a LocationCurve. Example elements found by this filter include walls, beams, and curve elements. This filter is a quick filter. Quick filters operate only on the ElementRecord, a low-memory class which has a limited interface to read element properties. Elements which are rejected by a quick filter will not be expanded in memory.

Examples

CopyC#
// Create an ElementIsCurveDriven filter to find slanted columns(which is curve-driven) in the document,
// The term "curve driven" indicates that the element's Location property is a LocationCurve
ElementIsCurveDrivenFilter filter = new ElementIsCurveDrivenFilter();

// Apply the filter to the elements in the active document,
// Use the ElementIsCurveDrivenFilter on columns to find only slanted columns (vertical columns 
// are placed at a single point).
FilteredElementCollector collector = new FilteredElementCollector(document);
ICollection<Element> slantColumns = collector
    .WherePasses(filter).OfCategory(BuiltInCategory.OST_StructuralColumns).ToElements();

// Find elements of not curve driven: use inverted filter to match elements
ElementIsCurveDrivenFilter notCurveDrivenFilter = new ElementIsCurveDrivenFilter(true); // inverted filter
collector = new FilteredElementCollector(document);
ICollection<Element> notCurveDrivenFounds = collector.WherePasses(notCurveDrivenFilter).ToElements();
CopyVB.NET
' Create an ElementIsCurveDriven filter to find slanted columns(which is curve-driven) in the document,
' The term "curve driven" indicates that the element's Location property is a LocationCurve
Dim filter As New ElementIsCurveDrivenFilter()

' Apply the filter to the elements in the active document,
' Use the ElementIsCurveDrivenFilter on columns to find only slanted columns (vertical columns 
' are placed at a single point).
Dim collector As New FilteredElementCollector(document)
Dim slantColumns As ICollection(Of Element) = collector.WherePasses(filter).OfCategory(BuiltInCategory.OST_StructuralColumns).ToElements()

' Find elements of not curve driven: use inverted filter to match elements
Dim notCurveDrivenFilter As New ElementIsCurveDrivenFilter(True)
' inverted filter
collector = New FilteredElementCollector(document)
Dim notCurveDrivenFounds As ICollection(Of Element) = collector.WherePasses(notCurveDrivenFilter).ToElements()

Inheritance Hierarchy

SystemObject
  Autodesk.Revit.DBElementFilter
    Autodesk.Revit.DBElementQuickFilter
      Autodesk.Revit.DBElementIsCurveDrivenFilter

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 →