Использование acedCommandS

Автор Тема: Использование acedCommandS  (Прочитано 7244 раз)

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

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

  • ADN OPEN
  • Сообщений: 12
  • Карма: 1
Использование acedCommandS
« : 18-08-2023, 10:42:48 »
Здравствуйте интересует вопрос использования acedCommandS.
Есть вот такой код
Код - C++ [Выбрать]
  1. AcGePoint3d point(0, 0,0);
  2. AcDbEntity* pEntity;
  3. pBlockIterator->getEntity(pEntity, AcDb::kForWrite);
  4. // Какой-то код
  5. acdbGetAdsName(entname, pEntity->id());
  6. int value = acedCommandS(RTSTR, _T("_EXTRIM"), RTENAME, entname, RT3DPOINT, point, RTNONE);
  7. acutPrintf(_T("acedCommandS return %d\n"), value);
  8. pEntity->close();
  9.  
acedCommandS возвращает -5001, что говорит об ошибке, не могу понять в чем она заключается.
Есть вариант, что объекты, которые должны быть обрезаны, закрыты.
Мне в целом непонятно как использовать команды через aceCommandS, как узнать их параметры, какой они тип имеют ?
Использую ObjectARX 2022, пишу под AutoCad 2022.

Отмечено как Решение Kruvcraft 25-08-2023, 13:44:01

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Использование acedCommandS
« Ответ #1 : 18-08-2023, 13:42:02 »
_EXTRIM - это команда, которая определена в lsp-файле с именем extrim.lsp:
Код - Auto/Visual Lisp [Выбрать]
  1. (defun c:extrim ( / na e1 p1 redraw_it lst n )
  2. ...
  3. )
  4.  
Такие команды нельзя запускать при помощи acedCommandS
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение