FilteredElementCollector для ссылочного документа

Автор Тема: FilteredElementCollector для ссылочного документа  (Прочитано 2288 раз)

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

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

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Всем привет. Может кто уже сталкивался и нашел решение...
Имеется текущий документ, в который вставлена ссылка на другой проект.
Если я нахожусь на плане этажа, где ссылка и вставлялась, то такая конструкция работает:
Код - C# [Выбрать]
  1. var linkedDoc = linkInstance.GetLinkDocument();
  2. List<Element> collectorForLinked =
  3.     new FilteredElementCollector(linkedDoc, doc.ActiveView.Id).WherePasses(filter).ToElements().ToList();
Понятно, что doc - это текущий документ.

Однако, если я создам сечение, перейду на него и запущу код - будет ловится ошибка viewId is not a view

Вопрос - как создать фильтр элементов, чтобы получить элементы из ссылочного документа на конкретном виде текущего документа?

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Привет, в общем случае, пока, к сожалению, никак. При создании FilteredElementCollector Id вида должно быть внутри документа, переданного 1 параметром, то, что где-то срабатывает, это, скорее случайность, когда в связанном документе есть вид с таким же Id (например, оба файла на основании одного и того же шаблона).

Но, если речь идет о 3D-виде, можно попробовать поковырять Custom Exporter.

Оффлайн toxan

  • ADN OPEN
  • Сообщений: 8
  • Карма: 0
Можно "фоново" открыть документ. А там уже искать все что нужно.

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Зачем? RevitLinkInstance.GetLinkDocument() и вперед.

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

  • ADN Club
  • *****
  • Сообщений: 1658
  • Карма: 366
  • Отец modplus.org
    • ModPlus
Можно "фоново" открыть документ. А там уже искать все что нужно.
Вопрос как-раз в том, что нужно не искать в самом проекте, а взять только те, что видны на текущем виде текущего проекта

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Александр Пекшев, ага, я так и понял. Тут печаль, к сожалению, API не позволяет, если только с Custom Exporter из 3D-вида