Skip to content

FilteredElementCollector.OfClass

Public Class

Applies an ElementClassFilter to the collector.

Namespace: Autodesk.Revit.DB

Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)

Syntax

public FilteredElementCollector OfClass(
Type type
)

Parameters

typeType

The element type.

Return Value

FilteredElementCollector
A handle to this collector. This is the same collector that has just been modified, returned so you can chain multiple calls together in one line.

Exceptions

Exception

Condition


ArgumentException

The input type is not a subclass of Element. -or- The input type is of an element type that exists in the API, but not in Revit’s native object model.


ArgumentNullException

A non-optional argument was null


Remarks

Only elements whose class is an exact match to the input class, or elements whose type is derived from the input class will pass the collector.

There is a small subset of Element subclasses in the API that are not supported by this filter. These classes exist in the API, but not in Revit’s native object model, which means that this filter doesn’t support them. In order to use a class filter to find elements of these types, it is necessary to use a higher level class and then process the results further to find elements matching only the subclass. For a list of subclasses affected by this restriction, consult the documentation for ElementClassFilter.

If you have an active iterator to this collector it will be stopped by this call.

Example

// Use OfClass method to apply an ElementClassFilter and find Levels in the document
FilteredElementCollector collector = new FilteredElementCollector(document);
ICollection<Element> levels = collector.OfClass(typeof(Level)).ToElements();