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

ADN Club => Revit API => Тема начата: Zailar от 30-09-2018, 20:43:09

Название: Координаты точки пересечения
Отправлено: Zailar от 30-09-2018, 20:43:09
Здравствуйте.
Имеются две линии детализации, и точно известно что они пересекаются. Существует ли быстрый способ определения координаты точки их пересечения?
Название: Re: Координаты точки пересечения
Отправлено: Александр Игнатович от 01-10-2018, 10:27:55
Да, конечно. Из объектов линий детализации получаем геометрию из свойства GeometryCurve, потом проверяем
Код - C# [Выбрать]
  1. curve1.Intersect(curve2) == SetComparisonResult.Overlap
Название: Re: Координаты точки пересечения
Отправлено: Александр Ривилис от 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. }
Название: Re: Координаты точки пересечения
Отправлено: Александр Игнатович от 02-10-2018, 10:04:34
Да, Александр, Вы, конечно, правы. Я поторопился. Спасибо.