Как пользоваться функцией ellipticalArc

Автор Тема: Как пользоваться функцией ellipticalArc  (Прочитано 6441 раз)

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

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

  • ADN OPEN
  • Сообщений: 31
  • Карма: 1
Задаю в Автокаде две точки - начала и конца прямой:
AcGePoint3d ptStart, ptEnd;

Хочу чтобы относительно указанного направления прямой В ОБРАТНУЮ СТОРОНУ нарисовался Полукруг с центром круга а точке ptStart с указанным значением радиуса.

Подскажите пожалуйста, как нарисовать вообще хоть какую-то кривую / полукруг, в принципе, ибо по описанию к функции я не могу понять как нарисовать что-то кроме прямой, хотя и перебираю различные входные параметры ...

Код - C++ [Выбрать]
  1.         double gradusStr = 100;
  2.         double gradusEnd = 50;
  3.         double gradusTil = 90;
  4.         double radianStr = (gradusStr * M_PI) / 180.0;
  5.         double radianEnd = (gradusEnd * M_PI) / 180.0;
  6.         double radianTil = (gradusTil * M_PI) / 180.0;
  7.  
  8.         AcGeVector3d direction = (ptStart - ptEnd); //.normalize();
  9.  
  10.         // рисуется прямая
  11.         mode->geometry().ellipticalArc(ptStart, direction, 140, 40, radianStr, radianEnd, radianTil);
  12.         // тоже рисуется прямая ...
  13.         mode->geometry().ellipticalArc(ptStart, direction, 0, 40, gradusStr, gradusEnd, gradusTil);
  14.  
  15.  

по описанию параметров функции ничего не могу понять ... может не стоило браться под конец дня, но всё же ...

Код - C++ [Выбрать]
  1. virtual Adesk::Boolean  ellipticalArc
  2. (
  3.   const AcGePoint3d&         center, // центр на сколько я понимаю будущей окружности или чего ?
  4.   const AcGeVector3d&        normal, // вектор нормали
  5.   double                     majorAxisLength, // длина большей оси
  6.   double                     minorAxisLength, // длина меньшей оси
  7.   double                     startDegreeInRads, // начальный угол в радианах, но относительно чего
  8.   double                     endDegreeInRads,   // конечный угол в радианах, но относительно чего
  9.   double                     tiltDegreeInRads,  // угол .... наклона / касательной ???
  10.   AcGiArcType                arcType = kAcGiArcSimple // параметр заполнения как я понял
  11. ) const = 0 ;
  12.  
  13.  
« Последнее редактирование: 15-06-2018, 23:38:12 от Александр Ривилис »

Отмечено как Решение knightrocker 16-06-2018, 20:49:01

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Как пользоваться функцией ellipticalArc
« Ответ #1 : 15-06-2018, 23:41:04 »
knightrocker,
1. Прочитай у меня в подписи о том, как следует форматировать код на форуме и соблюдай это правило.
2.
может не стоило браться под конец дня, но всё же ...
Вполне возможно. Особенно если не будешь объяснять что и где ты собираешься рисовать. Если ты хочешь нарисовать полукруг, то почему у тебя оси имеют разную длину? И почему не воспользоваться методом circularArc() вместо ellipticalArc()?
« Последнее редактирование: 16-06-2018, 01:25:32 от Александр Ривилис »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • Сообщений: 31
  • Карма: 1
Re: Как пользоваться функцией ellipticalArc
« Ответ #2 : 16-06-2018, 10:41:58 »
knightrocker,
1. Прочитай у меня в подписи о том, как следует форматировать код на форуме и соблюдай это правило.
2.
может не стоило браться под конец дня, но всё же ...
Вполне возможно. Особенно если не будешь объяснять что и где ты собираешься рисовать. Если ты хочешь нарисовать полукруг, то почему у тебя оси имеют разную длину? И почему не воспользоваться методом circularArc() вместо ellipticalArc()?

Александр, извиняюсь за оплошность.

Перешёл по ссылке в подписи: http://adn-cis.org/forum/index.php?topic=1829.msg7154#msg7154

На месте превью видео увидел следующее:
"
The ID for this embedded ScreenCast is invalid.
Learn more about Screencast ...

:(
"

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Как пользоваться функцией ellipticalArc
« Ответ #3 : 16-06-2018, 13:32:07 »
Перешёл по ссылке в подписи: http://adn-cis.org/forum/index.php?topic=1829.msg7154#msg7154

На месте превью видео увидел следующее:
"
The ID for this embedded ScreenCast is invalid.
Learn more about Screencast ...

:(

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