Считывание значения параметра семейства

Автор Тема: Считывание значения параметра семейства  (Прочитано 4491 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн Илья ДрягинАвтор темы

  • ADN OPEN
  • Сообщений: 25
  • Карма: 2
  • Стройтэкпроект
Добрый день!
Я только начал ковырять программирование под Revit и программирование в общем.
Возник у меня вопрос, который я никак не могу решить, может из-за отсутствия опыта:
Мне требуется через Revit API считать ЗНАЧЕНИЕ параметра семейства из открытого семейства в редакторе семейств. И вот тут я перерыл кучу документации и статей, но в FamilyManager  и  FamilyParameter существуют только только методы установки значений (Set и SetFormula), а вот считать значение не получается, нет аналогов функций GetValueAs... и свойства Value тоже нет. Была мысль как то увязать Документ семейства с элементом и через элемент получить значения параметров, но с этим тоже не получилось.
Подскажите пожалуйста решение.

Отмечено как Решение Илья Дрягин 05-09-2016, 14:41:34

Оффлайн Виктор Чекалин

  • Administrator
  • *****
  • Сообщений: 694
  • Карма: 111
  • Skype: chekalin-v
Drakus, приветствую на форуме!
Спасибо за интересный вопрос.
Действительно, получение значение параметра семейства неявное и немного отличается от работы с параметрами объекта. Тем не менее, получить значение можно.
Дело в том, что значение параметров семейства  индивидуально для каждого типоразмера семейства, а сам набор параметров - один для всех типоразмеров.
Таким образом, список параметров можно получить для всего семейства целиком, с помощью метода FamilyManager.GetParameters(). Получить значение конкретного параметра конкретного типоразмера можно с помощью метода FamilyType.AsValueString(FamilyParameter parameter)
« Последнее редактирование: 05-09-2016, 15:02:31 от Виктор Чекалин »

Оффлайн Илья ДрягинАвтор темы

  • ADN OPEN
  • Сообщений: 25
  • Карма: 2
  • Стройтэкпроект
Спасибо большое!
Бился над этим пару дней. Не совсем для меня очевидный момент получения доступа к значениям параметра через класс Типа, а не Параметра, хотя увязывается с логикой Revit