Как получить семью / типы из категории, используя Revit API? - PullRequest
0 голосов
/ 19 марта 2020

Я работаю над инструментом Revit с использованием visual studio. Этот конкретный инструмент будет применять пакетные теги определенного c типа / семейства. Пока мой инструмент фильтрует все категории в модели и перечисляет типы category.annotation, который предназначен для маркировки. Пользователь может выбрать одну из этих категорий, вот где я застрял, как только я заставил пользователя выбрать категорию, как я могу получить семьи или типы из этого выбора?

1 Ответ

0 голосов
/ 19 марта 2020

Существует множество способов достижения этого.

Вот фрагмент кода из Образцы Building Coder , который фильтрует экземпляры семейства определенной c категории:

ElementClassFilter f1
  = new ElementClassFilter(
    typeof( FamilyInstance ) );

ElementCategoryFilter f2
  = new ElementCategoryFilter(
    BuiltInCategory.OST_Doors );

ElementCategoryFilter f3
  = new ElementCategoryFilter(
    BuiltInCategory.OST_Windows );

LogicalOrFilter f4
  = new LogicalOrFilter( f2, f3 );

LogicalAndFilter f5
  = new LogicalAndFilter( f1, f4 );

FilteredElementCollector collector
  = new FilteredElementCollector( doc );

Вы можете легко адаптировать это или искать другие фрагменты кода в примерах для сбора символов семейства.

Сбор семейств немного сложнее, чем символов, поскольку их категория не всегда четко определены.

Эта топика c была недавно обсуждена на форуме Revit API

...