Хотел назвать эту работу "Работа с рабочими наборами", но решил не давать почву для комментариев про масляное масло. Всем привет! Сегодня расскажу, как взаимодействовать с рабочими наборами в Revit API. Итак, для начала, проверим наш документ на наличие рабочих наборов. Тут всё просто: свойство IsWorkshared класс Document. Попробуем найти наборы через RevitLookup, команда Snoop Database: Как мы видим, экземпляров класса Workset тут нету. Оно и понятно: класс Workset наследуется от WorksetPreview, который не является элементом, а является просто IDisposable: Раз рабочий набор не является элементом, следовательно, мы не сможем получить их через FilteredElementCollector. Однако, авторы Revit API именно в этом моменте решили сильно нам жизнь не усложнять и добавили класс FilteredWorksetCollector. Работает он примерно также, как и коллектор элементов: var worksets = new FilteredWorksetCollector(document).OfKind(WorksetKind.UserWorkset).ToWorksets(); WorksetKind — это тип рабочего набора.