Идентификаторы элементов в Revit - Часть 3. Отрицательные значения ElementId
Предыдущие части:
- Часть 1 - Уникальный идентификатор (UniqueId) или числовой (Element.Id)
- Часть 2 - Уникальность уникального идентификатора UniqueId
Вопрос: Иногда я вижу отрицательные значения ElementId. Что это, и почему такое может быть?
Ответ: Revit использует отрицательные идентификаторы в нескольких случаях. В большинстве случаев они ссылаются на предопределенные значения констант, таких как значения встроенных параметров или категорий, и, по сути являются значениями перечислений BuiltInParameter и BuiltInCategory соответственно. И они также могу ссылаться на реальные объекты модели.
В некоторых случаях, отрицательные значения идентификаторов используются также для идентификации значений параметров, отображаемых в раскрывающихся списках в окне свойств элемента.
Revit API не всегда позволяет напрямую получить строковое значение соответствующее отрицательным значениям идентификаторов. В этом случае, можно получить соответствие идентификатора какому-либо строковому значению, с помощью RevitLookup. Просто выбирайте по очереди значение параметра из раскрывающегося списка, затем с помощью RevitLookup смотрите числовое значение. Используя данный подход, можно легко получить соответствия.
Прим. переводчика: Добавлю также, что одним часто встречающихся отрицательных значений является -1. Это числовое значение соответствует значению свойства Element.InvalidElementId. Фактически оно означает, что значение параметра, у которого тип ElementId, не соответствует ни одному элементу модели.
Обсуждение: http://adn-cis.org/forum/index.php?topic=774
Опубликовано 28.05.2014Отредактировано 30.05.2014 в 17:20:09