Координаты точки пересечения

Автор Тема: Координаты точки пересечения  (Прочитано 2223 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ZailarАвтор темы

  • ADN OPEN
  • Сообщений: 17
  • Карма: 0
Здравствуйте.
Имеются две линии детализации, и точно известно что они пересекаются. Существует ли быстрый способ определения координаты точки их пересечения?

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Re: Координаты точки пересечения
« Ответ #1 : 01-10-2018, 10:27:55 »
Да, конечно. Из объектов линий детализации получаем геометрию из свойства GeometryCurve, потом проверяем
Код - C# [Выбрать]
  1. curve1.Intersect(curve2) == SetComparisonResult.Overlap

Отмечено как Решение Zailar 03-10-2018, 18:14:00

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Координаты точки пересечения
« Ответ #2 : 01-10-2018, 23:15:25 »
Да, конечно. Из объектов линий детализации получаем геометрию из свойства GeometryCurve, потом проверяем
Код - C# [Выбрать]
  1. curve1.Intersect(curve2) == SetComparisonResult.Overlap
Так как Zailar нужны координаты точек пересечения, то подозреваю, что ему следует использовать другой метод Intersect:
Код - C# [Выбрать]
  1. IntersectionResultArray ira;
  2. if (curve1.Intersect(curve2, out ira) == SetComparisonResult.Overlap)
  3. {
  4.    foreach (IntersectionResult ir in ira)
  5.    {
  6.        XYZ pt = ir.XYZPoint; // Очередная точка пересечения
  7.    }
  8. }
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Александр Игнатович

  • Administrator
  • *****
  • Сообщений: 1152
  • Карма: 338
  • Skype: alexandr.ignatovich.itc
Re: Координаты точки пересечения
« Ответ #3 : 02-10-2018, 10:04:34 »
Да, Александр, Вы, конечно, правы. Я поторопился. Спасибо.