Параметр StorageType.ElementId

Автор Тема: Параметр StorageType.ElementId  (Прочитано 1959 раз)

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

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

  • ADN OPEN
  • **
  • Сообщений: 64
  • Карма: 0
Параметр StorageType.ElementId
« : 28-08-2020, 23:20:45 »
Подскажите как изменять параметр StorageType.ElementId
В семействе 2 вложенных семейства.
Предполагал так, но GetSubComponentIds не видит вложенных семейств

Код - C# [Выбрать]
  1. var r = uiDoc.Selection.PickObject(ObjectType.Element);
  2. var fi = doc.GetElement(r.ElementId) as FamilyInstance;
  3. var _subElementId = fi.GetSubComponentIds();
  4. fi.LookupParameter("УГО").Set(_subElementId.First());
  5.  



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

  • ADN OPEN
  • **
  • Сообщений: 64
  • Карма: 0
Re: Параметр StorageType.ElementId
« Ответ #1 : 29-08-2020, 11:26:57 »
Решение найдено

Код - C# [Выбрать]
  1. family.GetFamilyTypeParameterValues(family.LookupParameter("УГО").Id)
  2.  

Оффлайн Илья Дрягин

  • ADN OPEN
  • Сообщений: 25
  • Карма: 2
  • Стройтэкпроект
Re: Параметр StorageType.ElementId
« Ответ #2 : 13-04-2022, 09:04:42 »
А как получить имена типов вложенных семейств?

Код - C# [Выбрать]
  1. family.GetFamilyTypeParameterValues(Parameter.Id)
выдает только ID типов, при этом если семейства не общие, по этому ID не получится получить сам тип из проекта.

В RevitLookup реализовано получение NestedFamilyTypeReference, из которого можно получить имя типа вложенного семейства, но как это сделать я не нашел