Получить геометрию PressurePipe.

Автор Тема: Получить геометрию PressurePipe.  (Прочитано 92 раз)

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

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

  • ADN Club
  • **
  • Сообщений: 54
  • Карма: 13
Трубы добавляются в напорный трубопровод при помощи методов AddLinePipe и AddCurvePipe.
Создаю новые трубы на базе старых с сохранением геометрии и заданием нового типоразмера.
Возникла проблема с определением, является ли исходная труба "курвой" :).
BaseCurve фиктивная.
Пока нашел только способ с двойным Explode. При первом  вызове получается неименованный блок U*, при втором - Polyline или Arc.
Неужели, нет ничего попроще? На больших объемах  будет тормозить...

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 1235
  • Карма: 235
  • LISP/C#, AutoCAD/Civil 3D
  • Skype: zagor_dmtr
Re: Получить геометрию PressurePipe.
« Ответ #1 : 18-10-2017, 17:06:45 »
Для безнапорных труб "прокатывал" такой способ: определяем среднюю точку трубы и проверяем, лежит ли она на прямой между начальной точкой и конечной. Среднюю точку определял через параметры кривой. Если они работают, то как-то так:
Код - C# [Выбрать]
  1. StartParameter = pipe.GetParameterAtPoint(pipe.StartPoint);
  2. EndParameter = pipe.GetParameterAtPoint(pipe.EndPoint);
  3. MidPoint = pipe.GetPointAtParameter((StartParameter + EndParameter) / 2);

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

  • ADN Club
  • **
  • Сообщений: 54
  • Карма: 13
Re: Получить геометрию PressurePipe.
« Ответ #2 : 18-10-2017, 18:08:07 »
Код - C# [Выбрать]
  1. StartParameter = pipe.GetParameterAtPoint(pipe.StartPoint);
  2. EndParameter = pipe.GetParameterAtPoint(pipe.EndPoint);
  3. MidPoint = pipe.GetPointAtParameter((StartParameter + EndParameter) / 2);
  4.  
0.0
1.0
(0,0,0.5)

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 1235
  • Карма: 235
  • LISP/C#, AutoCAD/Civil 3D
  • Skype: zagor_dmtr
Re: Получить геометрию PressurePipe.
« Ответ #3 : 18-10-2017, 18:35:10 »
Мда...
Ну на самом деле, Explode - не так уж и плохо. Если объекты-"осколки" обрабатывать в памяти и не добавлять в базу данных чертежа, то не должно быть сильных тормозов.

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 1235
  • Карма: 235
  • LISP/C#, AutoCAD/Civil 3D
  • Skype: zagor_dmtr
Re: Получить геометрию PressurePipe.
« Ответ #4 : 18-10-2017, 18:57:41 »
А ведь есть ещё напорные трубы, выровненные по поверхности. Одна труба может состоять из более мелких сегментов, повторяющих линию профиля поверхности. Интересно, какой объект получится при взрыве такой трубы?
А ещё, при взрыве трубы может получиться не одна линия, а несколько - в зависимости от настроек стиля трубы. Надо будет среди них найти ту, которая идёт вдоль трубы...