Тема: Макрос на кнопке

Повесил макрос на кнопку , теперь хочу сделать так , чтобы
при "повторе команды" он опять запускался, а не запрашивал имя макроса.Т.е. как объединить _-vbarun и "имя макроса" в одну команду.

Re: Макрос на кнопке

Забыл , "повтор команды" - это у меня правая кнопка мыши.

Re: Макрос на кнопке

текст:
"^C^C-vbarun filename.dvb!macros "
(пробел в конце обязателен!).

Re: Макрос на кнопке

При такой записи тоже самое. После повтора (нажатия правой кнопки мыши) Acad заускает _-vbarun  , а затем спрашивает имя макроса, что не достаточно удобно. Хотелось бы его не вводить.

Re: Макрос на кнопке

Я прописываю в лисповском файле (на автозагрузке, в mnl), например, такую запись:
(defun c:razmvib ()
  (vl-vbarun "razmvib"))
Потом вешаю на кнопку обыкновенное:
^C^Crazmvib

Re: Макрос на кнопке

> 123
,  спасибо вроде все неплохо заработало smile

Re: Макрос на кнопке

А я сразу вешаю на кнопку:
^C^C(defun c:razmvib() (vl-vbarun "razmvib")) razmvib

Re: Макрос на кнопке

У меня работает эта конструкция:
-vbarun "e:/programm/summa.dvb!ThisDrawing.dlinna"
вместо "ThisDrawing" может быть "Module1".

Re: Макрос на кнопке

Аркадий Эйдельман, что стоит за словами вешаю на кнопку?
по поподробней если не затруднит...

Re: Макрос на кнопке

клик правой кнопкой мыши на панели инструментов-Адаптация-Свойства кнопки, в поле макрос для данной кнопки-пишешь свою строку. Или тоже самое в файле mnu (см. справку)

Re: Макрос на кнопке

> Аркадий Эйдельман
Вроде по логике вещей и так должно работать: ^C^C(vl-vbarun "razmvib")

Re: Макрос на кнопке

Вах! работает, спасибо VK +)

Re: Макрос на кнопке

Могу посоветовать книжку -
В.Свет "AutoCAD Язык макрокоманд и создание кнопок"

Re: Макрос на кнопке

пример: -vbarun Module1 (впереди знак минус !!!)

Re: Макрос на кнопке

пример: -vbarun Module1 (впереди знак минус !!!)
а Module1 имя процедуры (макроса)

Re: Макрос на кнопке

Можно предложить такую функцию

;;;  ******************************
;;;  Загрузка и запуск програм VBA
;;;  Если un = t макрос после выполнения
;;;  выгружается
(defun ld-dvb (file Macro un / pn)
  (if (setq pn (findfile file))
    (progn
      (vl-vbaload pn)
      (vl-vbarun Macro)
    ) ;_ end of progn
    (princ (strcat "Файл " file " не найден."))
  ) ;_ end of if
  (if (and un pn)
    (vl-cmdf "_.vbaunload" pn)
  ) ;_ end of if
  (princ)
) ;_ end of defun
;;;  ****************************

Поместить её в файл acaddoc.lsp
а на кнопке писАть
(ld-dvb "horosho.dvb" "ochen" nil)

Re: Макрос на кнопке

"повтор команды" — это у меня правая кнопка мыши.

Чтобы был повтор команды тогда так

(defun c:ld-dvb (file Macro un / pn)