Я пытаюсь изучить фильтр Quick, Slow и LINQ в Revit API с помощью Python. Поэтому я решил создать универсальный фильтр для любой категории, отфильтровав значения параметров или Семейство / Категория / Символ.
Теперь у меня есть набор элементов разных категорий (стены, полы, семейные символы и т. Д.), Взятые из FilteredElementCollector (документ), и мне нужно получить все параметры, которые есть в любом элементе коллекции. Другими словами, пересечение наборов параметров. Было бы идеально, если бы можно было сделать такой фильтр без использования LINQ.
uidoc = __revit__.ActiveUIDocument
doc = uidoc.Document
collector = FilteredElementCollector(doc)
list_of_categories = [
ElementCategoryFilter(BuiltInCategory.OST_StructuralColumns),
ElementCategoryFilter(BuiltInCategory.OST_Walls),
ElementCategoryFilter(BuiltInCategory.OST_Floors)
]
logical_filter = LogicalOrFilter(list_of_categories)
collector.WherePasses(logical_filter)
Спасибо за любые идеи