AcEdJig и Polar Tracking

Автор Тема: AcEdJig и Polar Tracking  (Прочитано 3189 раз)

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

Оффлайн Михаил ГолубевАвтор темы

  • ADN OPEN
  • Сообщений: 24
  • Карма: 0
AcEdJig и Polar Tracking
« : 06-09-2021, 12:31:49 »
Здравствуйте. В предыдущем вопросе про AcEdJig мы решили проблему с ключевыми словами.
Теперь проблема в том, что та же самая джига совершенно или не реагирует или очень странно создает вспомогательные линии для Polar Tracking.
Нужно, что бы джига ловила 90 градусов к предыдущему начерченному сегменту, а она вообще ничего не ловит в данном случае. И ortho mode на нее тоже не действует.
Александр запостил в предыдущий вопрос пример проекта с джигами. Я его скомпилировал под 2022 и там Polar Tracking работает, когда выполняется джига. Я перерыл весь проект, но так и не нашел где отличие от моей джиги. В доках тоже ничего не нашел...
Что нужно сделать, чтоб Polar Tracking работал с джигой?

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

  • Administrator
  • *****
  • Сообщений: 13399
  • Карма: 1720
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: AcEdJig и Polar Tracking
« Ответ #1 : 06-09-2021, 13:21:55 »
Александр запостил в предыдущий вопрос пример проекта с джигами. Я его скомпилировал под 2022 и там Polar Tracking работает, когда выполняется джига.
Это хорошо. Немного позже гляну и сравню исходники.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • Administrator
  • *****
  • Сообщений: 13399
  • Карма: 1720
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: AcEdJig и Polar Tracking
« Ответ #2 : 06-09-2021, 17:25:27 »
Обрати внимание на это в коде Grip: (метод AcEdJig::DragStatus AcRectJig::sampler())
Код - C++ [Выбрать]
  1.         setUserInputControls((UserInputControls)
  2.                 (AcEdJig::kAccept3dCoordinates
  3.                 | AcEdJig::kGovernedByOrthoMode // <--- Это в первую очередь
  4.                 | AcEdJig::kNoNegativeResponseAccepted
  5.                 | AcEdJig::kNullResponseAccepted
  6.                 | AcEdJig::kNoZeroResponseAccepted));
  7.  
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Михаил ГолубевАвтор темы

  • ADN OPEN
  • Сообщений: 24
  • Карма: 0
Re: AcEdJig и Polar Tracking
« Ответ #3 : 06-09-2021, 23:43:33 »
Да, я уже заметил эту опцию и уже пробовал ее внести -- она и сейчас там есть, но эффекта вообще никакого.

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

  • Administrator
  • *****
  • Сообщений: 13399
  • Карма: 1720
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: AcEdJig и Polar Tracking
« Ответ #4 : 07-09-2021, 00:09:59 »
Ну тогда вероятно проблема в том, что в Grip используется acquirePoint(<точка>), а у тебя acquirePoint(<точка1>, <точка2>)
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Михаил ГолубевАвтор темы

  • ADN OPEN
  • Сообщений: 24
  • Карма: 0
Re: AcEdJig и Polar Tracking
« Ответ #5 : 07-09-2021, 09:53:01 »
Да, спасибо, заработало...

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

  • Administrator
  • *****
  • Сообщений: 13399
  • Карма: 1720
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: AcEdJig и Polar Tracking
« Ответ #6 : 07-09-2021, 12:30:56 »
Да, спасибо, заработало...
Причина в том, что в качестве базовой точки (<точка2>) в случае acquirePoint(<точка1>, <точка2>) у тебя выбирается точка, которую вернул предыдущий acquirePoint, а она слишком близка к текущей, чтобы можно было использовать полярное отслеживание или орто.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Михаил ГолубевАвтор темы

  • ADN OPEN
  • Сообщений: 24
  • Карма: 0
Re: AcEdJig и Polar Tracking
« Ответ #7 : 07-09-2021, 17:22:47 »
В общем, не работает так как в команде pline. В pline polar tracking работает от последнего сегмента (если, конечно, в настройках выставлено) и можно ловить 90° к последнему сегменту.
Джига же не реагирует на никакой сегмент нарисованой полилинии, а только на то, что было нарисовано до использования команды.
По этому, у меня создается впечатление, что объект нужно закрыть или как-то обновить базу данных или объекты участвующие в черчении, что бы его последний сегмент тоже начал учитыватьс в polar tracking. Ну, или совсем грустное, если с джигами не работает polar tracking от последнего сегмента, хотя это похоже не то, так как работает же от уже начерченных линий...

Вы ничего про это не знаете?

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

  • Administrator
  • *****
  • Сообщений: 13399
  • Карма: 1720
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: AcEdJig и Polar Tracking
« Ответ #8 : 07-09-2021, 18:25:02 »
По этому, у меня создается впечатление, что объект нужно закрыть или как-то обновить базу данных или объекты участвующие в черчении, что бы его последний сегмент тоже начал учитыватьс в polar tracking.
Само-собой. Добавляешь в базу сразу после создания первого сегмента, а затем открываешь его на запись и передаешь в Jig. Привязки работают только с объектами в базе.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Михаил ГолубевАвтор темы

  • ADN OPEN
  • Сообщений: 24
  • Карма: 0
Re: AcEdJig и Polar Tracking
« Ответ #9 : 07-09-2021, 18:44:48 »
Нет, простите, конечно мой объект записан в базу. Это полилиния, я прибавляю к ней пункты, которые джига находит. Мне приходится вызывать draw() каждый раз, что бы последний сегмент было видно в едиторе. Но эти новые сегменты не участвуют в polar tracking, и поэтому у меня создается впечатление, что что=то надо обновить или срегенить.

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

  • Administrator
  • *****
  • Сообщений: 13399
  • Карма: 1720
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: AcEdJig и Polar Tracking
« Ответ #10 : 07-09-2021, 19:03:49 »
Нет, простите, конечно мой объект записан в базу.
Нет. Ты его записываешь позднее. У тебя (в том коде, который ты показал) добавление в базу происходит только после завершения цикла с Jig.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Михаил ГолубевАвтор темы

  • ADN OPEN
  • Сообщений: 24
  • Карма: 0
Re: AcEdJig и Polar Tracking
« Ответ #11 : 07-09-2021, 19:13:56 »
Да, но это было раньше. Сейчас я записываю его как только есть два вертекса.

Оффлайн Михаил ГолубевАвтор темы

  • ADN OPEN
  • Сообщений: 24
  • Карма: 0
Re: AcEdJig и Polar Tracking
« Ответ #12 : 08-09-2021, 10:10:51 »
Так же, я попытался закрывать и открывать объект после каждой модификации, но это тоже не сработало на polar tracking.
Но в pline команде же polar tracking работает от последнего начерченного сегмента, то почему джига этого не делает?

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

  • Administrator
  • *****
  • Сообщений: 13399
  • Карма: 1720
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: AcEdJig и Polar Tracking
« Ответ #13 : 08-09-2021, 20:36:43 »
Михаил Голубев,
Попробуй устанавливать ось X ПСК по последнему сегменту своей линии.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Михаил ГолубевАвтор темы

  • ADN OPEN
  • Сообщений: 24
  • Карма: 0
Re: AcEdJig и Polar Tracking
« Ответ #14 : 10-09-2021, 10:36:24 »
Спасибо, попробую, когда вернусь к этой теме.