Вызов команды по нажатию на ручку customentity

Автор Тема: Вызов команды по нажатию на ручку customentity  (Прочитано 14421 раз)

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

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

  • ADN OPEN
  • **
  • Сообщений: 66
  • Карма: 1
Код - C++ [Выбрать]
  1. void GripCback::SetParamsForDraw(AcDbObjectId pEntId, int pGripNumber)
  2. {
  3.         entId=pEntId;
  4.         gripNumber=pGripNumber;
  5.  
  6. }
  7.  
  8. //Hot grip Call back function Implementation
  9. AcDbGripOperations::ReturnValue
  10. GripCback::hotGripfunc(AcDbGripData                     *pthis,
  11.                                            const AcDbObjectId   &entId,
  12.                                                 int                                      contextFlags)
  13. {
  14.         AcDbGripOperations::ReturnValue gripStat(AcDbGripOperations::eOk);
  15.  
  16.  
  17.         int index =(int) pthis->appData();
  18.        
  19.         SetParamsForDraw(entId,index);
  20.  
  21.        
  22.         acDocManager->sendStringToExecute(acDocManager->document(acdbHostApplicationServices()->workingDatabase()),
  23.                 _T("TVS_Draw\n"), TRUE, FALSE, FALSE);
  24.        
  25.  
  26.         TSTDSTRING *psApppData = static_cast<TSTDSTRING *>(pthis->appData());
  27.         if(psApppData)
  28.         {
  29.                
  30.                 gripStat=AcDbGripOperations::eGripHotToWarm;
  31.                
  32.         }
  33.        
  34.         else
  35.         {
  36.         gripStat=AcDbGripOperations::eOk;
  37.         }
  38.        
  39.         return gripStat;
  40. }
  41.        

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

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

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

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

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

  • ADN OPEN
  • **
  • Сообщений: 66
  • Карма: 1
Спасибо, добавил статический метод в класс и все заработало как надо.

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

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