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

ADN Club => ObjectARX => Тема начата: Sergey Makarov от 29-06-2021, 11:13:40

Название: Не работает команда MyPickFirst в приложении, созданном в ObjectARX Wizard
Отправлено: Sergey Makarov от 29-06-2021, 11:13:40
Здравствуйте!
При выполнении команды 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

Подскажите в чём проблема?
Название: Re: Не работает команда MyPickFirst в приложении, созданном в ObjectARX Wizard
Отправлено: Александр Ривилис от 29-06-2021, 15:51:34
1. Команда запускается из командной строки?
2. Перед запуском команды что-то уже выбрано в чертеже?
Если оба условия выполнены, то это похоже на баг.
Название: Re: Не работает команда MyPickFirst в приложении, созданном в ObjectARX Wizard
Отправлено: Александр Ривилис от 29-06-2021, 16:25:44
Впрочем проверь значение системной переменной QAFLAGS - она должна быть равна 0. И еще проверь в командной строке AutoCAD, после выбора одного или нескольких примитивов:
Код - Auto/Visual Lisp [Выбрать]
  1. (ssget "_I")
Название: Re: Не работает команда MyPickFirst в приложении, созданном в ObjectARX Wizard
Отправлено: Sergey Makarov от 02-07-2021, 13:25:58
1. Команда запускается из командной строки?
2. Перед запуском команды что-то уже выбрано в чертеже?
Если оба условия выполнены, то это похоже на баг.

Александр, перед запуском команды нужно было что-то выбрать ... Извините, тему можно закрыть.
Название: Re: Не работает команда MyPickFirst в приложении, созданном в ObjectARX Wizard
Отправлено: Александр Ривилис от 02-07-2021, 13:39:02
Александр, перед запуском команды нужно было что-то выбрать ... Извините, тему можно закрыть.
:D :D :D :D :D :D
А я уже испугался, что в Civil 3D настолько серьезный баг...