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

ADN Club => AutoCAD .NET API => Тема начата: brwEBNRz от 23-04-2018, 17:26:19

Название: Как продлить дугу?
Отправлено: brwEBNRz от 23-04-2018, 17:26:19
Прошу прощения если спрашиваю очевидное.
Как изменить длину дугу. Например, отрезать у дуги длинной 10 мм по 1 мм с каждой стороны. Метод Extend ведет себя как то странно (с моей точки зрения).
Буду признателен за пример кода на C#
Название: Re: Как продлить дугу?
Отправлено: Владимир Шу от 23-04-2018, 17:43:35
Тут не так давно про дуги что то было... вот http://adn-cis.org/forum/index.php?topic=8279.0
Может быть идейку какую получиться почерпнуть.
Название: Re: Как продлить дугу?
Отправлено: Александр Ривилис от 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 для разделения дуги на три части. Средняя (вторая) часть и будет наша укороченная.

Можно конечно и чисто геометрически это сделать.