На самом деле это очень легко достигается: короче говоря, вы просто включаете выражение alert
вне любого выражения defun
в файле AutoLISP, так что выражение alert
вычисляется немедленно, когда содержимое AutoLISP файл оценивается при загрузке.
Например:
(defun c:test ( )
(princ "\nThis is the main function.")
(princ)
)
(alert "Type \"test\" to run the main function.") ;; This will be displayed on load
(princ)
При загрузке указанного выше файла AutoLISP интерпретатор прочитает содержимое файла AutoLISP и немедленно оценит все содержащиеся в нем выражения AutoLISP. в нем.
В результате выражение defun
будет вычислено первым и определит функцию c:test
, которая затем может быть выполнена в командной строке AutoCAD в результате префикса c:
.
Выражение alert
затем будет вычислено и при желании отобразит окно сообщения для пользователя.
Наконец, будет вычислено закрывающее выражение (princ)
и вернет нулевой символ в командную строку, чтобы получить «чистую загрузку» . Если бы последнее выражение (princ)
было опущено, выражение alert
вернуло бы значение nil
в командную строку.