A filter used to match elements which reside in a given workset.
Inheritance Hierarchy
System.ObjectAutodesk.Revit.DB.ElementFilter
Autodesk.Revit.DB.ElementQuickFilter
Autodesk.Revit.DB.ElementWorksetFilter
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.3.0.0 (25.3.0.0)
Syntax
C#
public class ElementWorksetFilter : ElementQuickFilter
The ElementWorksetFilter type exposes the following members.
Constructors
Name | Description | |
---|---|---|
![]() | ElementWorksetFilter(WorksetId) | Constructs a new instance of a filter to match elements in a given workset. |
![]() | ElementWorksetFilter(WorksetId, Boolean) | Constructs a new instance of a filter to match elements in a given workset. |
Properties
Name | Description | |
---|---|---|
![]() | Inverted |
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) |
![]() | IsValidObject |
Specifies whether the .NET object represents a valid Revit entity.
(Inherited from ElementFilter) |
![]() | WorksetId | The workset id. |
Methods
Name | Description | |
---|---|---|
![]() | Dispose | (Inherited from ElementFilter) |
![]() | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) |
![]() | GetHashCode | Serves as the default hash function. (Inherited from Object) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object) |
![]() | PassesFilter(Element) |
Applies the filter to a given element.
(Inherited from ElementFilter) |
![]() | PassesFilter(Document, ElementId) |
Applies the filter to a given element.
(Inherited from ElementFilter) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object) |
Remarks
This filter is a quick filter.Example
C#
public void WorksetElements(Document doc, Workset workset) { // filter all elements that belong to the given workset FilteredElementCollector elementCollector = new FilteredElementCollector(doc); ElementWorksetFilter elementWorksetFilter = new ElementWorksetFilter(workset.Id); ICollection<Element> worksetElemsfounds = elementCollector.WherePasses(elementWorksetFilter).ToElements(); // how many elements were found? int elementsCount = worksetElemsfounds.Count; String message = "Element count : " + elementsCount; // Get name and/or Id of the elements that pass the given filter and show a few of them int count = 5; // show info for 5 elements only foreach (Element ele in worksetElemsfounds) { if (null != ele) { message += "\nElementId : " + ele.Id; message += ", Element Name : " + ele.Name; if (0 == --count) break; } } Autodesk.Revit.UI.TaskDialog.Show("ElementsOfWorkset", message); }
VB
Public Sub WorksetElements(doc As Document, workset As Workset) ' filter all elements that belong to the given workset Dim elementCollector As New FilteredElementCollector(doc) Dim elementWorksetFilter As New ElementWorksetFilter(workset.Id) Dim worksetElemsfounds As ICollection(Of Element) = elementCollector.WherePasses(elementWorksetFilter).ToElements() ' how many elements were found? Dim elementsCount As Integer = worksetElemsfounds.Count Dim message As [String] = "Element count : " + elementsCount ' Get name and/or Id of the elements that pass the given filter and show a few of them Dim count As Integer = 5 ' show info for 5 elements only For Each ele As Element In worksetElemsfounds If ele IsNot Nothing Then message += vbLf & "ElementId : " + ele.Id.ToString message += ", Element Name : " + ele.Name If 0 = System.Threading.Interlocked.Decrement(count) Then Exit For End If End If Next Autodesk.Revit.UI.TaskDialog.Show("ElementsOfWorkset", message) End Sub