Получение связанных элементов, которые появляются в Schedule Revit API

Есть ли способ получить список связанных элементов, которые появляются в расписании (включая фильтры, фазовые фильтры и т. д.), С помощью Revit API (2017 и более поздних версий).

В настоящее время, если вы запрашиваете ViewSchedule с помощью FilteredElementCollector, он вернет N элементов (например, Windows, Doors) и M RevitLinkInstances. Однако RevitLinkInstance не отображает фактический элемент, который отображается в связанной модели. Есть ли способ сделать запрос в RevitLinkInstance в рамках ViewSchedule? Или подобное решение?

Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
Создание ресурсов API Laravel: Советы по производительности и масштабируемости
Создание ресурсов API Laravel: Советы по производительности и масштабируемости
Создание API-ресурса Laravel может быть непростой задачей. Она требует глубокого понимания возможностей Laravel и лучших практик, чтобы обеспечить...
Как создать простое погодное приложение на Python с API OpenWeatherMap
Как создать простое погодное приложение на Python с API OpenWeatherMap
Этот учебник проведет вас через процесс создания простого погодного приложения с помощью Python и OpenWeatherMap API.
Пакеты Java
Пакеты Java
Пакет java - это группа классов, интерфейсов и подпакетов схожего типа. Думайте об этом как о папке в каталоге файлов. Мы используем пакеты, чтобы...
Как использовать API парсинга квитанций с помощью JavaScript за 5 минут?
Как использовать API парсинга квитанций с помощью JavaScript за 5 минут?
В этом руководстве вы узнаете, как использовать API парсинга квитанций за 5 минут с помощью JavaScript. Eden AI предоставляет простой и удобный для...
1
0
475
1

Ответы 1

Мне удалось заставить его работать, передав идентификатор расписания в новый fileteredElementCollector следующим образом:

schedule = doc.ActiveView
scheduledElements = list(FilteredElementCollector(doc, schedule.Id))

allElements = []

for element in scheduledElements:
    if element.Category.Name == 'RVT Links':
        linkedElements = list(FilteredElementCollector(element.GetLinkDocument(), schedule.Id))
        for linkedElement in linkedElements:
            allElements.Add(linkedElement)
    else:
        allElements.Add(element)

for element in allElements:
    print element

Сообщите мне, сработало ли это и для вас

Другие вопросы по теме