Example #1
0
from Autodesk.Revit.DB import Workset, FilteredWorksetCollector, WorksetKind, FilteredElementCollector, ElementWorksetFilter, Element
from Autodesk.Revit.UI import TaskDialog
from pprint import pprint

uidoc = __revit__.ActiveUIDocument
doc = __revit__.ActiveUIDocument.Document

cl = FilteredWorksetCollector(doc)
worksetlist = cl.OfKind(WorksetKind.UserWorkset)

if doc.IsWorkshared:
    for ws in worksetlist:
        elementCollector = FilteredElementCollector(
            doc).WhereElementIsNotElementType()
        elementWorksetFilter = ElementWorksetFilter(ws.Id, False)
        els = elementCollector.WherePasses(elementWorksetFilter).ToElements()
        print('WORKSET: {0} ID: {1} COUNT: {2}'.format(ws.Name.ljust(50),
                                                       ws.Id, len(els)))
        els_array = {}

        for e in els:
            t = e.GetType().ToString()
            if t not in els_array.keys():
                els_array[t] = []
            els_array[t].append(str(e.Id))

            #
        # print(",".join(els_array.keys))
        # print("\n")
        for k in els_array.keys():
Example #2
0
def WorksetElements(doc, workset):
    elementCollector = FilteredElementCollector(doc)
    elementWorksetFilter = ElementWorksetFilter(workset.Id, False)
    worksetElemsfounds = elementCollector.WherePasses(
        elementWorksetFilter).ToElements()
    return worksetElemsfounds
# -*- coding: utf-8 -*-

import clr
clr.AddReference("RevitAPI")
from Autodesk.Revit.DB import FilteredElementCollector, ElementWorksetFilter, Instance
clr.AddReference("RevitServices")
from RevitServices.Persistence import DocumentManager
doc = DocumentManager.Instance.CurrentDBDocument

active_worset = doc.GetWorksetTable().GetActiveWorksetId()
filter_worset = ElementWorksetFilter(active_worset)
workset_name = doc.GetWorksetTable().GetWorkset(active_worset).Name

elements = FilteredElementCollector(doc).OfClass(Instance).WherePasses(
    filter_worset).ToElements()

OUT = elements, workset_name