Share

ElementWorksetFilter Class

A filter used to match elements which reside in a given workset.

Inheritance Hierarchy

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


Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 26.1.0.0 (26.1.0.34)

Syntax

C#

public class ElementWorksetFilter : ElementQuickFilter

The ElementWorksetFilter type exposes the following members.

Constructors

 NameDescription
Public methodElementWorksetFilter(WorksetId) Constructs a new instance of a filter to match elements in a given workset.
Public methodElementWorksetFilter(WorksetId, Boolean) Constructs a new instance of a filter to match elements in a given workset.

Properties

 NameDescription
Public propertyInverted 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)
Public propertyIsValidObject Specifies whether the .NET object represents a valid Revit entity.
(Inherited from ElementFilter)
Public propertyWorksetId The workset id.

Methods

 NameDescription
Public methodDispose
(Inherited from ElementFilter)
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodPassesFilter(Element) Applies the filter to a given element.
(Inherited from ElementFilter)
Public methodPassesFilter(Document, ElementId) Applies the filter to a given element.
(Inherited from ElementFilter)
Public methodToStringReturns 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

See Also

Reference

Was this information helpful?