Сообщество программистов Autodesk в СНГ
ADN Club => AutoCAD .NET API => Тема начата: Podushkin от 27-05-2021, 19:55:53
-
День добрый. Есть вопрос над которым бьюсь уже пару дней. Есть 3d полилиния, она пересекает 2d полилинию. При этом 3d линия варьируется по координате Z. 2d линия имеет уровень отличный от 0. Необходимо найти координаты точки пересечения. Использую метод intersectWith(). Вызываю его для 3d линии, как аргумент передаю 2d линию. На выходе получаю точку пересечения, но почему то на 2d линии. Тоесть 3d имеет в этом месте Z =300, уровень 2d = 400. Результат их пересечения имеет Z= 400. Хотя в случае с 2мя 3d полилиниями z= точке пересечиния на той линии для которой вызывается метод. Вопрос, почему так? И как все же получать Z на 3d линии?
-
Podushkin,
Приветствую на форуме!
У меня сразу несколько вопросов:
1) Почему тема создана в разделе Civil 3D, если вопрос про Polyline и Polyline3d, которые есть в обычном AutoCAD?
2) Ты ищешь визуальное пересечение или реальное пересечение? Судя по тому что ты пишешь реального пересечения нет.
-
Сапасибо, все верно, надо было в ветке Autocad писать, просто работаю сейчас в Civil. Реального пересечения нет.
-
Если реального пересечения нет, то после получения визуального пересечения можно получить реальное пересечение, найдя пересечение Polyline3d с вертикальной Xline, проведенной из точки визуального пересечения.
-
Спасибо. Реальное пересечение находится тем же методом?
-
Спасибо. Реальное пересечение находится тем же методом?
Не понял вопроса. В смысле если есть реальное пересечение, то как его найти? Да. Можно так же, как я предложил выше.
-
Спасибо.