Значения атрибутов из раскрывающегося списка
Я периодически получаю запросы от разработчиков, которые хотят задать свой собстенный набор значений параметров для использования их в надстройках и для ограничения выбора возможных значений в ползовательском интерфейсе.
Внутренне, в Revit такой механизм реализован, например, используя отрицательные значения ElementId для раскрывающихся списков.
На саомо деле это уже давнее пожелание, которое, к сожалению, так и остается нериализованным.
Но, Marcelo Quevedo из компании hsbcad недавно столкнулся опять с этой проблемой и предложил два обходных пути для решения этой проблемы:
Значения параметров из раскрывающегося списка
Со слов Marcelo:
Нам нужно создать раскрывающийся список значений параметров для наших семейств на подобие перечислений в C#. Например, такой набор:
Параметр 1: Ориентация со следующими возможными значениями параметров:
- Параллельно оси X
- Перпендикулярно оси X
- Параллельно оси Y
- Перпендикулярно оси Y
- Параллельно оси Z
- Перпендикулярно оси Z
Параметр 2: Фигура:
- Квадрат
- Круг
- Овал
Мы нашли два возможных решения, но оба они не совершенны.
1. Использвание вложенных семейств и типов
Для этого способа мы создали вложенные семейства Категории Обобщенная модель для каждого значения списка (одно для ориентации и одно для фигуры). Мы создали типоразмеры этиз семейств и назвали из в соответствии с желаемыми значениями списка. В добавлок, мы добавили два параметра семейтва: один – Ориентация и связали его с соответсвующим семейством, второй – Фигура и также связали его с семейством. Однако, проблема в том, что параметр типа семейства категории Обобщенная модель связывает категории и отображаются все вложенные Обощенные модели в качестве возможных значений.
Было бы лучше, если была бы возможность связать параметр с конкретным вложенным семейством, а не с категорией.
Вот скриншот результатов:
2. Использование числовых значений и подсказок
Для реализации второо способа мы создали числовые параметры и задали подсказки для них с описанием каждого значения параметра.
Например, для параметра Ориентация мы создали соответсвующий числовой параметр и задали вот такую подсказку:
- Параллельно оси X
- Перпендикулярно оси X
- Параллельно оси Y
- Перпендикулярно оси Y
- Параллельно оси Z
- Перпендикулярно оси Z
Результат в итоге выглядит так:
Надеюсь, это окажется полезным.
Источник: http://thebuildingcoder.typepad.com/blog/2015/11/drop-down-enumerated-parameter-values.html
Обсуждение: http://adn-cis.org/forum/index.php?topic=
Опубликовано 18.05.2016