ADN Club => Civil 3D API => Тема начата: Andant от 18-10-2017, 16:53:57
Название: Получить геометрию PressurePipe.
Отправлено: Andant от 18-10-2017, 16:53:57
Трубы добавляются в напорный трубопровод при помощи методов AddLinePipe и AddCurvePipe. Создаю новые трубы на базе старых с сохранением геометрии и заданием нового типоразмера. Возникла проблема с определением, является ли исходная труба "курвой" :). BaseCurve фиктивная. Пока нашел только способ с двойным Explode. При первом вызове получается неименованный блок U*, при втором - Polyline или Arc. Неужели, нет ничего попроще? На больших объемах будет тормозить...
Название: Re: Получить геометрию PressurePipe.
Отправлено: Дмитрий Загорулькин от 18-10-2017, 17:06:45
Для безнапорных труб "прокатывал" такой способ: определяем среднюю точку трубы и проверяем, лежит ли она на прямой между начальной точкой и конечной. Среднюю точку определял через параметры кривой. Если они работают, то как-то так:
Название: Re: Получить геометрию PressurePipe.
Отправлено: Дмитрий Загорулькин от 18-10-2017, 18:35:10
Мда... Ну на самом деле, Explode - не так уж и плохо. Если объекты-"осколки" обрабатывать в памяти и не добавлять в базу данных чертежа, то не должно быть сильных тормозов.
Название: Re: Получить геометрию PressurePipe.
Отправлено: Дмитрий Загорулькин от 18-10-2017, 18:57:41
А ведь есть ещё напорные трубы, выровненные по поверхности. Одна труба может состоять из более мелких сегментов, повторяющих линию профиля поверхности. Интересно, какой объект получится при взрыве такой трубы? А ещё, при взрыве трубы может получиться не одна линия, а несколько - в зависимости от настроек стиля трубы. Надо будет среди них найти ту, которая идёт вдоль трубы...