Запуск функции Lisp при запуске AutoCAD

Я использую программу Lisp для загрузки макроса VBA в AutoCAD. Приведенная ниже программа Lisp автоматически загружается в AutoCAD при запуске.

(defun C:LoadDVB ()
  (command "vbaload" "WindowsDoors.dvb")
)

Однако мне все еще нужно ввести «LoadDVB» в командную строку AutoCAD, чтобы заставить плагин работать, иначе он выдает ошибку. Мне нужно автоматизировать этот шаг, чтобы при запуске я мог просто использовать плагин VBA.


person Nick Gilbert    schedule 18.09.2014    source источник
comment
У меня нет опыта работы с AutoCAD, но есть ли причина, по которой вы не можете просто вызвать то же самое в своей функции инициализации? Или просто (command "vbaload" "WindowsDoors.dvb") вместо (defun …)?   -  person Joshua Taylor    schedule 19.09.2014


Ответы (1)


По сути, ваш автозагрузчик создает новую команду, и эта команда загружает ваш макрос VBA.

В данном случае (defun C:LoadDVB () ...) определяет функцию под названием "LoadDVB", которую вы можете запустить в командной строке. Код внутри функции загружает ваш макрос VBA... но этот код не запускается до тех пор, пока вы не вызовете функцию в командной строке.

Если вы хотите, чтобы ваш автозагрузчик напрямую загружал ваш макрос, удалите определение функции. Все, что вам нужно, это одна строка, которая читает (command "vbaload" "WindowsDoors.dvb").

person Wes Lord    schedule 02.10.2014