Как подгрузить Лисп в Автокад
Мы рассматривали LISP-приложения для AutoCAD. Теперь давайте разберёмся, как внедрить LISP в работу.
Для Автокада доступны приложения со следующим расширением файла: *.arx, *.crx, *.lsp, *.dvb, *.dbx, *.vlx, *.fas. Рассмотрим на примере ЛИСПа, который позволяет выравнивать текст относительно указанной точки по оси X или Y (скачать файл «Выравнивание текста .lsp»).
ПРИМЕЧАНИЕ: Если вы скачиваете LISP-приложение в архиве, обязательно разархивируйте его. Это необходимо, чтобы сам файл перед загрузкой хранился на вашем компьютере.
Как установить файл *.lsp в Автокад?
1. Перейдите во вкладку «Управление». На панели «Приложения» выберите команду «Загрузить приложение». Воспользуйтесь командной строй в Автокаде и введите «_appload».
2. Откроется диалоговое окно «Загрузка/выгрузка приложений». Найдите подходящий файл с расширением *.lsp или др.
ПРИМЕЧАНИЕ: Чтобы файл загружался каждый раз при запуске Автокада, в разделе «Автозагрузка» укажите путь к этому скрипту (кнопка «Добавить»). Иначе вы выполните одноразовую загрузку, которая не сохранится при закрытии программы.
3. После проделанных действий нажмите кнопку «Загрузить».
4. Когда внизу этого диалогового окна появится сообщение об успешной загрузке, можно тестировать установленное приложение. Нажмите кнопку «Закрыть».

Как запустить команду приложения lisp?
В AutoCAD lisp-команды посмотреть нельзя. Следует отталкиваться от исходного файла, который был загружен в программу.
Файл скрипта можно открыть через обычный «Блокнот». В верхней части этого текстового документа разработчики оставляют необходимую информацию для работы. В том числе название команды, которая будет запускать ЛИСП. В данном примере это «z-text-align», поэтому в командную строку нужно вводить именно такой запрос для вызова инструмента.

ПРИМЕЧАНИЕ: Если автор не оставил подсказку с названием команды, то вы можете её найти в коде. Она будет находиться в строчке «defun c: z-text-align», как показано на рис. 4.
Далее следуйте указаниям командной строки и пошагово выполняйте запросы установленного скрипта.
Как подгрузить lisp в Автокад LT?
Как установить лисп в Автокад — понятно. Но как его загрузить в схожие программы, например, Автокад Electrical/Mechanical?
К сожалению, приложения, написанные на AutoLISP, работают только на полной версии программы AutoCAD. Поэтому такие скрипты нельзя внедрить в AutoCAD LT или др. версии.
Исключением могут являться специализированные приложения типа LT Extender и подобные ему, которые были разработаны с целью запуска файлов *.lsp или *.arx непосредственно в среде Автокад LT.
Освойте профессию проектировщика
Научитесь быстрому черчению, освоите прикладное 3D, автоматизируете создание ведомостей и спецификаций.
Язык программирования Lisp: функции, синтаксис, среда разработки

Более сорока лет назад разработан и внедрен в использование для выполнения целей искусственного интеллекта язык программирования LISP (ЛИСП), позднее ставший популярным среди пользователей ПО AutoCAD. Он создан для символьных вычислений. С течением времени был преобразован, чтобы соответствовать новым потребностям ИИ.
Начинающим пользователям, изучающим его архитектуру, рекомендуется рассматривать его в качестве формальной знаковой системы.
Это imperative language (императивный), действия которого описывают выполнение алгоритма, отличается от других, декларативных, предполагающих определение ограничений и соотношений в предметной сфере поставленной цели. По сравнению с другими подобными разработками С++ и FORTRAN, ЛИСП наделен большей функциональностью. Его популярность обусловлена большими возможностями для программирования в сочетании с мощным набором:
Это средства построения данных структур обозначения высокого уровня.
Конструкция
LISP синтаксис и семантика, разработанные программистами, обусловлены теорией рекурсивных функций. Символьные, s-выражения, являются элементами предложений, сочетаний. В них представлены софты и файлы. Они могут отображаться в виде списка (list) или атомов (atom).
Во втором варианте включены числовые комбинации, цифры, буквы латинского алфавита и знаки: *, -, +, /,@, %, , &, _,, ~.

Несколько поочередно идущих абзацев составляют каталог. Они обязательно разделяются пробелами и замыкаются в скобки.

Составляющими одних перечислений могут служить другие, более мелкие, подпункты. Символьные структуры разной формы и уровня сложности можно создавать благодаря произвольной углубленности и вложенности. Существует пустая строка, она обозначается – () и называется «nill». При возведении информационной структуры, а также при способе управления ею, она играет особенную роль, представляясь одновременно и атомом, и списком.
Язык LISP относится к языкам программирования, которые используются для создания дополнительных загрузок к ПО по проектированию и моделированию. Для их использования необязательно хорошо разбираться в компьютере на уровне профессионала.
После изучения основных принципов работы в таких пакетах, как AutoCAD или ZWCAD Professional, который является аналогом ACAD, появляется необходимость упростить выполнение длительных рутинных операций или полностью избавиться от них. Для этого дополнения и нужны. Если они написаны на ЛИСПе, скрипты называются LISP-приложения. Каждое из них представляет собой текстовый файл с определенным встроенным кодом для выполнения команды и подсказками от производителя. Определитесь с нужными для работы свойствами, выбирайте надстройку, скачивайте ее и загружайте в ZWCAD или другую платформу. Начиная с версии ZWCAD 2020, в платформу встроен Отладчик Lisp приложений, разработанный на базе Visual Studio Code от Microsoft.
Рассмотрим возможности одного такого модуля на образце скрипта «Выравнивание текстов».
Как загрузить lisp в автокад
Окно служит для загрузки и выгрузки приложений, а также для задания набора приложений для автозагрузки.
Параметры в верхней части этого диалогового окна извлекаются из стандартного диалогового окна выбора файлов . Ниже описываются дополнительные элементы, присущие только окну «Загрузка/выгрузка приложений».
Загрузка или обновление приложений, выделенных в списке файлов на вкладках «Загруженные приложения» или «Журнал». Кнопка недоступна до тех пор, пока не будет выбрано хотя бы одно приложение. Приложения ObjectARX, VBA и DBX загружаются немедленно; приложения LSP, VLX и FAS ставятся в очередь и загружаются после закрытия диалогового окна «Загрузка/выгрузка приложений».
Если выбранный файл уже загружен, нажатие кнопки ведет к его обновлению в памяти. Для приложений ObjectARX, однако, такое обновление не разрешено. Их нужно выгружать из памяти, и затем загружать заново. Опция «Загрузить» имеется также в контекстном меню, которое вызывается щелчком правой кнопки мыши на вкладке «Журнал».
Загруженные приложения
Вкладка содержит список загруженных приложений. Список упорядочен по алфавиту (по именам файлов). LISP-программы присутствуют в списке, только если они были загружены с помощью диалогового окна «Загрузка/выгрузка приложений». Пользователь может перетаскивать файлы в этот список из списка файлов или из какого-либо приложения, где можно применить перетаскивание, например, Microsoft ® Windows ® Explorer.
Если приложение было загружено с помощью Web-браузера AutoCAD, оно вначале попадает в папку для временных файлов на локальном диске. AutoCAD запускает приложение именно из этой папки, и именно эта папка будет указана в списке загрузки.
Некоторые приложения из списка на данной вкладке могут быть выгружены пользователем. Подробнее см. описание кнопки «Выгрузить». Имена файлов, которые не могут быть выгружены, отображаются тусклым шрифтом и не могут быть выделены.
Список журнала
Данная вкладка содержит список приложений, которые загружались при установленном флажке «Добавить в журнал». Разрешается перетаскивать в список файлы из верхней части окна, а также из любых программ, поддерживающих такую технологию (например, из Проводника Windows). Если в момент перетаскивания флажок «Добавить в журнал» опущен, файлы загружаются в память, но в журнале не появляются.
Приложения могут добавляться в список журнала и исключаться из него, но их выгрузка осуществляется только на вкладке «Загруженные приложения». Подробнее см. описание пунктов «Загрузить», «Выгрузить» и «Исключить».
Добавить в журнал
Если флажок установлен, записи обо всех загружаемых приложениях добавляются в журнал.
Пользователь может предпочесть очистить эту опцию при загрузке приложений с помощью Web-браузера AutoCAD, так как эти приложения становятся недоступны после очистки кэша временного местоположения приложения.
Выгрузить/Исключить
Выгружает выбранные приложения или исключает их из списка журнала. Кнопка «Выгрузить» становится доступной, только если на вкладке «Загруженные приложения» выделен какой-либо файл. Кнопка «Исключить» становится доступной, только если на вкладке «Журнал» выделен какой-либо файл.
Не могут быть выгружены LISP-приложения, а также не зарегистрированные специальным образом приложения ObjectARX.
Следует помнить, что при нажатии кнопки «Исключить» выбранное приложение не выгружается из памяти. Опция «Исключить» имеется также в контекстном меню вкладки «Журнал».
Автозагрузка
Набор приложений, загружаемых каждый раз при запуске AutoCAD. В группу «Автозагрузка» разрешается перетаскивать файлы из верхней части окна, а также из любых программ, поддерживающих такую технологию (например, из Проводника Windows).
В список автозагрузки не могут быть добавлены приложения, загружаемые с помощью Web-браузера AutoCAD.
Содержимое
Отображает диалоговое окно Автозагрузка . Можно также добавить файл в список автозагрузки, нажав на значок автозагрузки, или нажав правой кнопкой мыши имя приложения на вкладке «Журнал» и выбрав в контекстном меню «Добавить в список автозагрузки».
Строка состояния
Здесь отображаются сообщения о результатах загрузки и выгрузки приложений.
Как установить Лисп для Автокада
Вы нашли полезный для себя код на Лиспе который делает различные штуки и хотите его использовать. Как заставить его работать? Можно выделить 3 шага.
1. Сохранение программного кода на своем компьютере.
2. Загрузка файла в AutoCAD.
3. Запуск приложения (Лиспа).
Примечание: AutoLISP программы могут быть запущены только на полной версии Автокада, они не работают под AutoCAD LT. (исключая случаи загрузки дополнительных приложений типа LT Extender и ему подобных, которые специально разработаны для запуска lisp и (или) arx приложений в среде AutoCAD LT.)
Сохранение программного кода lisp на своем компьютере
Если код выложен на сайте, а не отдельным файлом, делаем так, с помощью курсора выделяем этот код и копируем его, нажав правую кнопку мыши и выбрав пункт Копировать (или Ctrl+C).
Запускаем «Блокнот» и вставляем наш код с помощью меню Правка → Вставить (или Ctrl+V). Получим примерно такое:

И сохраняем файл. Файл можно назвать, как вам нравится, но расширение у него должно быть .LSP. Правильнее (но не обязательно) будет назвать файл так же, как названа команда в найденном Вами коде. Команде всегда предшествует префикс C: после слова defun. В примере выше видно, что команду назвали OFF2, соответственно файл называем off2.lsp. Таким образом, мы можем избежать беспорядка, т.к. будем знать, что в файле off2.lsp находится команда OFF2.
Иногда в коде представлено несколько функций. Необходимо найти «главную». Такая функция либо имеет префикс С: либо сам автор кода уточняет как использовать. В случае нескольких «главных» имя файла не имеет никакой разницы.
Загрузка lisp файла в Автокад
Файл сохранили или скачали уже готовый и запускаем Автокад. Выбираем Сервис → AutoLISP → Приложения. ( Tools → AutoLISP → Load ) или набираем в командной строке _appload.
Мы должны увидеть диалоговое окно как представлено ниже:

И по порядку делаем так:
1. Перейдите к папке, куда Вы сохранили lisp файл.
2. Выберите файл, который Вы хотите загрузить из списка.
3. Нажмите кнопку Загрузить. (Если все прошло удачно, Вы должны увидеть надпись «off2.lsp успешно загружено»)
4. Нажмите кнопку Закрыть для завершения команды.
Или еще проще загрузить lisp файл путем перетаскивания (drag-and-drop) иконки файла в графическое окно открытого документа Автокада.
Немного теории об установке лисп
В описании практически любого кода есть такая строка где написано (defun … и потом после нее чего-то там еще. Так вот то, что там написано и есть имя функции.
Если первыми символами являются C: то функция готова к вызову из командной строки. Если такого нет, то вызывать функцию надо, заключая ее имя в круглые скобки.
Т.е. если написано (defun c:test то в командной строке набираем test , а если (defun test то пишем все тоже самое в скобочках (test) все просто!
Запуск lisp программы
Как только lisp файл загружен, вызываем команду из командной строки. Команда вызывается по ее имени. В нашем примере необходимо набрать в командной строке OFF2.
Организация библиотеки лисп файлов
Каждый раз набирать _appload для загрузки того или иного приложения не дело, да и файлов этих со временем накопится, проще будет организация свою библиотеку. Для начала условимся, что все наши файлы будем складывать в одну папку. Например, D:\MyLisp. Пропишем эту папку в путях доступа Автокада. Для этого выбираем Сервис → Настройка ( Tools → Options ) или набираем в командной строке _options. Переходим на закладку Файлы (Files) и раскрываем список Путь доступа к вспомогательным файлам (Support File Search Path).
Мы должны увидеть диалоговое окно, как представлено ниже:

Используйте следующую последовательность, чтобы прописать папку в путях доступа:
1. Нажмите кнопку Добавить.
2. Нажмите кнопку Обзор и выберите целевую папку (в нашем случае, D:\MyLisp).
3. Путь к папке должен появиться в диалоговом окне.
4. Нажмите кнопку OK для завершения команды.
Теперь наша папка прописана в путях доступа Автокада. Что это нам дает? Мы можем загружать наши файлы не указывая конкретного пути, а только имя файла.
Мы можем набрать в командной строке (load «») для загрузки необходимого кода, например (load «off2»). Заметьте, что добавлять расширение .lsp не обязательно, хотя и не запрещается.
А самое главное — это позволит нам создать панели с кнопками для загрузки той или иной программы. Кнопка будет иметь следующее содержание:
В нашем случае: ^C^C(if (null C:OFF2)(load «off2»));OFF2;
Вместо текста мы должны будем подставлять имя нужной нам команды, а вместо текста имя того файла, в котором эта команда сохранена. Помните, что файл должен иметь расширение .lsp.
Полезно. Как создать свою кнопку и вывести на свою панель команд читаем здесь.
