Как получить параметры доступные для использования фильтрации спецификации
В Revit мы можем создать спецификацию с определенным фильтром. Таким образом, только элементы, удовлетворяющие фильтру, будут выведены в спецификации. Например, мы можем выбрать элементы, находящиеся только на уровне 1.
Из скриншотов мы видим, что параметры, доступные для фильтрации отличаются, в зависимости от категории, которую мы выбрали. Есть ли какой-либо способ, получить все параметры, по которым можно отфильтровать для заданной категории?
Ответ – Да. Можно воспользоваться методом TableView.GetAvailableParameters, который главным образом используется для доступа к параметрам, которые можно использовать в спецификации для заданной категории. А так как параметр можно использовать в спецификации, то его же можно и использовать в фильтрации.
Пример кода:
- var availableParameterIds = TableView.GetAvailableParameters
- (RevitDoc, new ElementId(BuiltInCategory.OST_DuctTerminal));
- foreach (var pid in availableParameterIds)
- {
- var builtinParameter = (BuiltInParameter)pid.IntegerValue;
- //дальше работаем со встроенным параметром.
- }
Источник: http://adndevblog.typepad.com/aec/2015/01/revitapi-how-to-know-the-parameters-used-in-schedulefilter-for-a-specific-category.html
Обсуждение: http://adn-cis.org/forum/index.php?topic=1888
Опубликовано 23.02.2015