Поменять тип компонента в Легенде

Автор Тема: Поменять тип компонента в Легенде  (Прочитано 1688 раз)

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

Оффлайн ufaolegАвтор темы

  • ADN OPEN
  • Сообщений: 1
  • Карма: 0
Добрый день! Есть ли какой-то способ поменять тип компонента в размещенном компоненте легенды? Прошерстил форум, вроде нигде не попадалась такая ситуация

Отмечено как Решение ufaoleg 27-11-2017, 13:42:06

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Re: Поменять тип компонента в Легенде
« Ответ #1 : 27-11-2017, 12:54:32 »
Коллега сказал - МОЖНО! ))
Я сам вот не умею, но коллега подкинул кусочек из кода:
Код - C# [Выбрать]
  1. var legendComponent = new FilteredElementCollector(doc, legendView.Id).OfCategory(BuiltInCategory.OST_LegendComponents).FirstOrDefault();//получаем компонент легенды, в нашем случае берем первый компонент
  2. var parameter = legendComponent.get_Parameter(BuiltInParameter.LEGEND_COMPONENT);//получаем параметр типоразмера компонента легенды
  3. parameter.Set(symbolId);//сеттим в него нужный тип, symbolId получите сами в вашей модели
Все выполняем естественно в транзакции, и желательно в try catch, потому что это все не точно)))))