Как продлить дугу?

Автор Тема: Как продлить дугу?  (Прочитано 4757 раз)

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

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

  • ADN OPEN
  • Сообщений: 1
  • Карма: 0
Как продлить дугу?
« : 23-04-2018, 17:26:19 »
Прошу прощения если спрашиваю очевидное.
Как изменить длину дугу. Например, отрезать у дуги длинной 10 мм по 1 мм с каждой стороны. Метод Extend ведет себя как то странно (с моей точки зрения).
Буду признателен за пример кода на C#

Оффлайн Владимир Шу

  • ADN Club
  • *****
  • Сообщений: 624
  • Карма: 158
    • ПГСу Бложик
Re: Как продлить дугу?
« Ответ #1 : 23-04-2018, 17:43:35 »
Тут не так давно про дуги что то было... вот http://adn-cis.org/forum/index.php?topic=8279.0
Может быть идейку какую получиться почерпнуть.

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Как продлить дугу?
« Ответ #2 : 23-04-2018, 19:26:40 »
Как изменить длину дугу. Например, отрезать у дуги длинной 10 мм по 1 мм с каждой стороны.
Отрезать несложно. Объясню на пальцах без кода:
1. Находим длину дуги:
Код - C# [Выбрать]
  1. double len = arc.GetDistanceAtParameter(arc.EndParam)
2. Находим параметры начала и конца обрезанной дуги:
Код - C# [Выбрать]
  1. double t1 = arc.GetParameterAtDistance(1); // Новое начало дуги укороченной на 1
  2. double t2 = arc.GetParameterAtDistance(len - 1); // Новый конец дуги укороченной на 1
3. Воспользуемся методом arc.GetSplitCurves для разделения дуги на три части. Средняя (вторая) часть и будет наша укороченная.

Можно конечно и чисто геометрически это сделать.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение