Загрузка приложений AutoLISP

Перед использованием файлов AutoLISP их необходимо загрузить в программу.

Приложения AutoLISP хранятся в доступных для редактирования текстовых файлах ASCII или Unicode с расширением LSP. В таких файлах обычно имеется раздел заголовка, в котором описана программа и ее назначение, а также даются конкретные инструкции. Данный заголовок также может включать комментарии, в которых указан автор и правовая информация, касающаяся использования программы. Строки комментариев начинаются с символа точки с запятой (;). Для просмотра и редактирования таких файлов можно использовать любой текстовый редактор или текстовый процессор, который сохраняет тексты в формате ASCII или Unicode.

Важное замечание: В программах на основе AutoCAD 2021 и более поздних версий исходные файлы AutoLISP можно сохранять в файлах формата ASCII или Unicode. В программах на основе AutoCAD 2020 и более ранних версий поддерживаются только файлы формата ASCII.

Перед использованием AutoLISP-приложения его необходимо загрузить в память. Для этого можно использовать команду ЗАГПРИЛ или функцию load языка AutoLISP. При загрузке приложения AutoLISP выполняется загрузка AutoLISP-кода из LSP-файла в память системы. Необходимо задать относительный вспомогательный путь в параметре имени файла, если файл LSP не расположен в пути поиска вспомогательных файлов.

Прим.: Начиная с продуктов на базе AutoCAD 2014, пользовательские приложения должны работать в безопасном режиме; в этом случае системной переменной SECURELOAD установлено значение 1 или 2. При работе в безопасном режиме программа будет ограничена на загрузку и выполнение только файлов, содержащих код из доверенных источников в пути поиска вспомогательных файлов; доверенные источники определяются системной переменной TRUSTEDPATHS.

Загрузка приложения с помощью функции load требует ввода выражения AutoLISP в командной строке. В случае успешного выполнения функции load в командной строке отображается значение последнего выражения в файле. Обычно в этом качестве выступает либо имя самой последней определенной в файле функции, либо подсказка по использованию функции. Если функция load завершается неудачно, AutoLISP выдает сообщение об ошибке. Сбой функции load может быть вызван ошибками кода в файле или неверным именем файла, введенным в командной строке. Синтаксис функции load имеет следующий вид:

(load filename [onfailure])

Функция load имеет два аргумента: обязательный filename и необязательный onfailure. При загрузке файла AutoLISP в командной строке, как правило, вводится значение только одного аргумента — filename.

Прим.: Если существует несколько приложений AutoLISP с одинаковыми именами, загружается то из них, которое имеет наиболее поздний штемпель даты и времени. То же самое происходит при загрузке файлов с расширениями LSP, FAS или VLX, если не указано полное имя файла, включая его расширение. Файлы VLX поддерживаются только в ОС Windows.

В следующем примере иллюстрируется загрузка файла AutoLISP newfile.lsp.

Команда: (load "newfile")

Расширение LSP указывать необязательно. Такой формат ввода можно использовать для любых файлов LSP, хранящихся по текущему библиотечному пути.

Для загрузки файла AutoLISP, находящегося не по библиотечному пути, аргумент filename должен включать в себя также полный путь к файлу.

Windows

Команда: (load "d:/files/morelisp/newfile")

ОС macOS и веб-приложения

Команда: (load "/files/morelisp/newfile")

Прим.: Для разделения имен папок при вводе пути следует использовать одну прямую косую черту (/) или две обратных косых черты (\\). Это связано с тем, что в AutoLISP символ обратной косой черты (\\) имеет специальное назначение.