Прерывание команды AutoCAD

Автор Тема: Прерывание команды AutoCAD  (Прочитано 4582 раз)

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

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1188
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Прерывание команды AutoCAD
« : 26-02-2017, 23:02:45 »
Подскажите.
Мне нужно прервать выполнение команды autocad
Как лучше это сделать в API NET?

Я что-то похожее на ActiveX раньше делал.
Вроде через вот это событие точно не помню - давно было.
Код - C# [Выбрать]
  1. private void AcadDocument_BeginCommand(string CommandName) {
  2.  
  3. }

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Прерывание команды AutoCAD
« Ответ #1 : 27-02-2017, 00:07:59 »
Мне нужно прервать выполнение команды autocad
Прервать выполнение или запретить выполнение?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1188
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Re: Прерывание команды AutoCAD
« Ответ #2 : 27-02-2017, 08:23:42 »
Нужно запретить пользователю выполнять любую команду с командной строки.

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1188
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Re: Прерывание команды AutoCAD
« Ответ #3 : 27-02-2017, 08:59:18 »
Ну или к примеру запретить выполнять какую-то конкретную команду.
Как-то так.
Код - C# [Выбрать]
  1. private void AcadDocument_BeginCommand(string CommandName) {
  2.     if (CommandName == "_LINE") {
  3.      // действия запрещающие выполнять данную команду
  4.     }
  5. }

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
Re: Прерывание команды AutoCAD
« Ответ #4 : 27-02-2017, 11:10:18 »
Маленькая поправочка: в .NET API событие на запуск команды:
Код - C# [Выбрать]
  1. Document.CommandWillStart(object sender, CommandEventArgs e)
А название команды:
Код - C# [Выбрать]
  1. e.GlobalCommandName
Команду никогда не пробовал прервать, даже интересно, возможно ли это? Так что, присоединяюсь к вопросу :)

Отмечено как Решение Алексей (IdeaSoft) 01-03-2017, 18:12:51

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

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Прерывание команды AutoCAD
« Ответ #5 : 27-02-2017, 15:41:31 »
Команду никогда не пробовал прервать, даже интересно, возможно ли это? Так что, присоединяюсь к вопросу :)
Еще раз. Не прерывать, а запретить выполнение. Можно. Для этой цели используется метод veto() в событии DocumentLockModeChanged:
Как запретить выполнение конкретной команды AutoCAD
« Последнее редактирование: 01-03-2017, 00:11:56 от Александр Ривилис »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1188
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Re: Прерывание команды AutoCAD
« Ответ #6 : 01-03-2017, 18:13:32 »
ак запретить выполнение конкретной команды AutoCAD
Спасибо за ссылку.
Пока все работает.
Вопросов нет.