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