Не работает команда MyPickFirst в приложении, созданном в ObjectARX Wizard

Автор Тема: Не работает команда MyPickFirst в приложении, созданном в ObjectARX Wizard  (Прочитано 8255 раз)

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

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

  • ADN OPEN
  • Сообщений: 36
  • Карма: 0
Здравствуйте!
При выполнении команды MyPickFirst приложения шаблона ARX/DBX Project в AutoCAD Civil 3D 2020/2021 не происходит выбора объекта. Код заготовки команды выглядит так:
       
Код - C++ [Выбрать]
  1.         // Modal Command with pickfirst selection
  2.         // ACED_ARXCOMMAND_ENTRY_AUTO(CArxProject3App, _SAMMyGroup, MyPickFirst, MyPickFirstLocal, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET)
  3.         static void _SAMMyGroupMyPickFirst ()
  4.         {
  5.                 ads_name result ;
  6.                 int iRet = acedSSGet (ACRX_T("_I"), NULL, NULL, NULL, result);
  7.                 if ( iRet == RTNORM )
  8.                 {
  9.                         // There are selected entities
  10.                         // Put your command using pickfirst set code here
  11.                 }
  12.                 else
  13.                 {
  14.                         // There are no selected entities
  15.                         // Put your command code here
  16.                 }              
  17.         }

Соответствующий флаг ACRX_CMD_USEPICKSET ниже присутствует:

Код - C++ [Выбрать]
  1. ACED_ARXCOMMAND_ENTRY_AUTO(CArxProject3App, _SAMMyGroup, MyPickFirst, MyPickFirstLocal, ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET, NULL)

Переменная PICKFIRST в AutoCAD установлена в <1>.
Функция acedSSGet (ACRX_T("_I"), NULL, NULL, NULL, result) возвращает -5001, что соответствует строке #define RTERROR (-5001) // Some other error в заголовочном файле adscodes.h

Подскажите в чём проблема?

Отмечено как Решение Sergey Makarov 02-07-2021, 13:26:08

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
1. Команда запускается из командной строки?
2. Перед запуском команды что-то уже выбрано в чертеже?
Если оба условия выполнены, то это похоже на баг.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Впрочем проверь значение системной переменной QAFLAGS - она должна быть равна 0. И еще проверь в командной строке AutoCAD, после выбора одного или нескольких примитивов:
Код - Auto/Visual Lisp [Выбрать]
  1. (ssget "_I")
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • Сообщений: 36
  • Карма: 0
1. Команда запускается из командной строки?
2. Перед запуском команды что-то уже выбрано в чертеже?
Если оба условия выполнены, то это похоже на баг.

Александр, перед запуском команды нужно было что-то выбрать ... Извините, тему можно закрыть.

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Александр, перед запуском команды нужно было что-то выбрать ... Извините, тему можно закрыть.
:D :D :D :D :D :D
А я уже испугался, что в Civil 3D настолько серьезный баг...
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение