Как выбрать все экземпляры семьи в Revit? - PullRequest
0 голосов
/ 19 апреля 2019

Я создаю плагин для Revit 2019 и хочу выбрать все экземпляры определенного семейства и типа через API. «ElementClassFilter» доступен в Revit SDK для фильтрации элементов, но я хочу отобразить все экземпляры одного типа в синих линиях. Я отфильтровал определенный тип через "ElementClassFilter", но искал, как выбрать их в revit через API.

Следующий код предназначен для фильтрации элементов определенного семейства и типа.

ElementClassFilter filter = new ElementClassFilter(typeof(FamilyInstance));
FilteredElementCollector collector = new FilteredElementCollector(document);
collector.WherePasses(filter);
var query = from element in collector where element.Name == "Single-Standard" select element;

List<FamilyInstance> familyInstances = query.Cast<FamilyInstance>().ToList<FamilyInstance>();

Но я хочу показать все экземпляры одного и того же семейства и ввести следующее изображение

Изображение «Окно: Стандарт»

1 Ответ

1 голос
/ 24 апреля 2019
UIApplication UIapp = commandData.Application;
UIDocument UIdoc = UIapp.ActiveUIDocument;
Document doc = UIdoc.Document;

FilteredElementCollector elementCollector = new FilteredElementCollector(doc);
elementCollector.OfClass(typeof(FamilyInstance));

Selection sel = UIdoc.Selection;
sel.SetElementIds(elementCollector.ToList().Select(o => o.Id).ToList()); //User selection

Это простой пример того, как установить выбор пользователя.Для получения более подробной информации о Revit Selection Class вы можете посетить эту ссылку .

...