Сообщество программистов Autodesk в СНГ

ADN Club => Revit API => Тема начата: Александр Пекшев aka Modis от 19-08-2018, 13:03:43

Название: FilteredElementCollector для ссылочного документа
Отправлено: Александр Пекшев aka Modis от 19-08-2018, 13:03:43
Всем привет. Может кто уже сталкивался и нашел решение...
Имеется текущий документ, в который вставлена ссылка на другой проект.
Если я нахожусь на плане этажа, где ссылка и вставлялась, то такая конструкция работает:
Код - 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

Вопрос - как создать фильтр элементов, чтобы получить элементы из ссылочного документа на конкретном виде текущего документа?
Название: Re: FilteredElementCollector для ссылочного документа
Отправлено: Александр Игнатович от 19-08-2018, 17:32:37
Привет, в общем случае, пока, к сожалению, никак. При создании FilteredElementCollector Id вида должно быть внутри документа, переданного 1 параметром, то, что где-то срабатывает, это, скорее случайность, когда в связанном документе есть вид с таким же Id (например, оба файла на основании одного и того же шаблона).

Но, если речь идет о 3D-виде, можно попробовать поковырять Custom Exporter.
Название: Re: FilteredElementCollector для ссылочного документа
Отправлено: toxan от 20-08-2018, 09:52:48
Можно "фоново" открыть документ. А там уже искать все что нужно.
Название: Re: FilteredElementCollector для ссылочного документа
Отправлено: Александр Игнатович от 20-08-2018, 09:56:52
Зачем? RevitLinkInstance.GetLinkDocument() и вперед.
Название: Re: FilteredElementCollector для ссылочного документа
Отправлено: Александр Пекшев aka Modis от 20-08-2018, 09:57:22
Можно "фоново" открыть документ. А там уже искать все что нужно.
Вопрос как-раз в том, что нужно не искать в самом проекте, а взять только те, что видны на текущем виде текущего проекта
Название: Re: FilteredElementCollector для ссылочного документа
Отправлено: Александр Игнатович от 20-08-2018, 10:00:57
Александр Пекшев, ага, я так и понял. Тут печаль, к сожалению, API не позволяет, если только с Custom Exporter из 3D-вида