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

ADN Club => Revit API => Тема начата: Starscream343 от 08-06-2019, 19:14:40

Название: Получить объект модели по известным координатам
Отправлено: Starscream343 от 08-06-2019, 19:14:40
Добрый день, форумчане!
Подскажите пожалуйста. У меня есть кабельный лоток (CableTray). В нём отрисованы каналы (Conduit). Известны координаты начала и конца каждого канала, а та же геометрия лотка. Можно ли средствами api получить доступ к самим каналам по известным координатам? Необходимо для того, чтобы соединять фитингами создаваемые плагином каналы с уже имеющимися в лотке. Язык C#.
Название: Re: Получить объект модели по известным координатам
Отправлено: Александр Игнатович от 10-06-2019, 10:43:44
Честно говоря, не совсем понятна задача. Вы говорите, что "каналы" - это Conduit, тогда они представлены отдельными элементами модели, у них есть Connector-ы, фиттинги создавать методами doc.Create.NewElbowFitting / NewTransitionFitting и т.д. Если вопрос в том, как их искать, то смотрите фильтры BoundingBoxContainsPointFilter, BoundingBoxIntersectsFilter, BoundingBoxIsInsideFilter в сочетании с фильтром по классу элемента (Conduit) или по категории. Фильтр может найти несколько больше элементов, так что среди найденных проверяйте уже по геометрии Conduit (например, анализируя его Location). Как-то так.
Название: Re: Получить объект модели по известным координатам
Отправлено: Starscream343 от 10-06-2019, 12:15:55
Александр Игнатович, BoundingBoxContainsPointFilter и BoundingBoxIntersectsFilter как раз то что нужно! Не знал о них. Спасибо! Теперь можно  получить заполненность каждого лотка и доступ кондуитам!