ElementIsCurveDrivenFilter Class


A filter used to match elements which are curve driven.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 21.0.0.0 (21.1.1.109)
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

Copy C#
// 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();
Copy VB.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

System Object
Autodesk.Revit.DB ElementFilter
Autodesk.Revit.DB ElementQuickFilter
Autodesk.Revit.DB ElementIsCurveDrivenFilter

See Also