Как правильно сделать команду на кнопке

Автор Тема: Как правильно сделать команду на кнопке  (Прочитано 22029 раз)

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

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
А через ActiveX можно настраивать/создавать кнопки, менюшки, команды?
Да. Но это нужно будет делать при каждом запуске AutoCAD, т.к. это всё нельзя сохранить в CUI/CUIX средствами ActiveX.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • ***
  • Сообщений: 152
  • Карма: 2
А можно ли конкретно создавать команды? По моему это первое что приходится делать, и не слишком удобно все это устроено.

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
А можно ли конкретно создавать команды?
Уточни вопрос. Что такое "создавать команды"? Чтобы в командной строке можно было ввести имя команды и запустился её код? Тогда это не с помощью ActiveX. В нём нет средств для регистрации команд. Тут или lisp, или arx, или .NET.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • ***
  • Сообщений: 152
  • Карма: 2
Я имею ввиду вот что:
при настройке интерфейса я делаю так:
1. Создаю команду - соответственно выбираю иконку, название, прописываю макрос.
2. И добавляю на какую то панель.

Я имел ввиду, могу ли я создать такие команды не вручную, поскольку, я думаю их много надо создавать, а написать какой то скрипт для этого?

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

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Я имел ввиду, могу ли я создать такие команды не вручную, поскольку, я думаю их много надо создавать, а написать какой то скрипт для этого?
Это можно делать только при помощи AutoCAD .NET API (все классы в Autodesk.AutoCAD.Customization). И соответственно создаётся/редактируется CUI/CUIX-файл.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

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

  • ADN OPEN
  • ***
  • Сообщений: 152
  • Карма: 2
Спасибо за ответ!!!

Оффлайн Привалов Дмитрий

  • ADN Club
  • *****
  • Сообщений: 546
  • Карма: 119
В командной строке появляется
 (startapp "python" "D:
и ждет дальнейшего ввода, что то я косячу, со слешами какая то непонятка.
Подчистил пробелы после скобок и вроде заработало...
С этим связано?
Да. В меню каждый пробел вне lisp-выражения - это как пробел (или ввод) на клавиатуре.

Пробелы не единственная возможная причина. Существует ограничение на длину строки команд, которые можно выполнить с кнопки, около 255 символов. Я на такое натыкался в 2010. При этом в кнопе хранится вся строка, но выполняется только ее часть.

При вводе через консоль все работает, при нажатии кнопки происходит обрезание списка команд и не срабатывает.

Для обхода ограничения приходилось создавать внешний lisp файл, выносить код туда. А на кнопку вешать подгрузку/исполнение файла.
По причине ограничения стоит избегать длинных путей к файлам.