Як використовувати Лісп, опублікований на форумі
Ви знайшли корисний для себе код на Ліспі і хочете його використовувати. Можна виділити 3 етапи:
- збереження програмного коду на своєму комп'ютері
- завантаження файлу
- запуск програми
Примітка: AutoLISP програми можуть бути запущені тільки на повній версії Автокад, вони не працюють під AutoCAD LT. (Крім випадків завантаження додаткових додатків типу LT Extender і йому подібних, які спеціально розроблені для запуску lisp і (або) arx додатків в середовищі AutoCAD LT.)
Збереження програмного коду на своєму комп'ютері
За допомогою курсору виділяємо цей код і копіюємо його в буфер обміну, натиснувши праву кнопку миші і вибравши пункт Копіювати (або Ctrl + C).
Запускаємо "Блокнот" і вставляємо наш код за допомогою меню Правка >> Вставити (або Ctrl + V):
Після того як вставили код в записник, ми повинні мати щось на зразок цього:

Завантаження lisp файлу
Далі, запускаємо Автокад і вибираємо Сервіс >> АвтоЛІСПа >> Завантажити (Tools >> AutoLISP >> Load) або набираємо в командному рядку _appload.
Ми повинні побачити діалогове вікно як представлено нижче:

Використовуйте наступну послідовність, щоб завантажити off2.lsp:
- Перейдіть до папки, куди Ви зберегли lisp файл.
- Виберіть файл, який Ви хочете завантажити зі списку.
- Натисніть кнопку Завантажити.
(Якщо все пройшло вдало, Ви повинні побачити напис "off2.lsp успішно завантажено") - Натисніть кнопку Закрити для завершення команди.
Команда або функція?
Для початку необхідно визначитися, що у нас: команда або функція?
Трохи теорії.
В описі практично будь-якого коду є такий рядок, як
і потім після неї чогось там написано. Так ось те, що там написано і є ім'я функції.
Якщо першими символами є C :. то функція готова до виклику з командного рядка. Якщо такого немає, то викликати функцію треба, укладаючи її ім'я в круглі дужки.
Наприклад, є функція
Її викликати (за умови, що вона довантажуючи) з командного рядка можна безпосередньо:
І будуть виконані дії
А ось таку:
Можна буде викликати тільки так:
І будуть виконані дії.
З точки зору AutoCAD'a це 2 різних модуля.
Запуск lisp програми
Як тільки lisp файл завантажений, Ви можете викликати команду з командного рядка. Команда викликається з її імені. У нашому прикладі необхідно набрати в командному рядку OFF2.
Запам'ятайте, ім'я команди містить префікс C: після слова defun. Якщо Ви бачите в коді:
то в командному рядку необхідно набрати префікс C:.
Tips: Ви можете також завантажити lisp файл шляхом перетягування (drag-and-drop) іконки файлу в графічне вікно відкритого документа Автокада.
AutoCAD; error: no function definition:
Якщо Ваша функція або команда не працює або завершує роботу з повідомленням як в прикладі нижче, то Вам може допомогти простий спосіб.
Команда: (vlax-get-acad-object)
; error: no function definition: VLAX-GET-ACAD-OBJECT
Наберіть в командному рядку (vl-load-com) або (переважно) додайте її в початок lisp файлу.
Тепер ваш lisp повинен працювати без помилок.
Що таке це (vl-load-com)?
Ця функція завантажує велику кількість функцій, що входять в розширення AutoLisp, що дозволяє працювати з об'єктами, властивостями, методами і подіями ActiveX. Ознакою необхідності завантаження розширення AutoLisp є наявність в тексті Вашої програми функцій, що починаються з префіксів vla- (наприклад vla- get-activedocument), vlax- (наприклад vlax- get-acad-object), vl- (наприклад vl- catch-all- apply) і vlr- (наприклад vlr- pers).
У будь-якому випадку ніколи не завадить додати (vl-load-com) в початок файлу, щоб уникнути подібних помилок.
Організація бібліотеки Лісп файлів.
Що робити, якщо набралася достатня кількість файлів? Кожен раз набирати _appload для завантаження того чи іншого додатка? Найбільш ефективним буде організація своєї бібліотеки. Для початку домовимося, що всі наші файли будемо складати в одну папку. Наприклад, D: \ MyLisp. Пропишемо цю папку в шляхах доступу Автокада. Для цього вибираємо Сервіс >> Налаштування (Tools >> Options) або набираємо в командному рядку _options. Переходимо на закладку Файли (Files) і розкриваємо список Шлях доступу до допоміжних файлів (Support File Search Path).
Ми повинні побачити діалогове вікно, як наведено нижче:

Використовуйте наступну послідовність, щоб прописати папку в шляхах доступу:
- Натисніть кнопку Додати.
- Натисніть кнопку Огляд і виберіть цільову папку (в нашому випадку. D: \ MyLisp)
- Шлях до папки повинен з'явитися в діалоговому вікні.
- Натисніть кнопку OK для завершення команди.
Автозавантаження файлів.
Якщо є необхідність завантажувати свої lsp файли при відкритті креслення, то потрібно додати необхідні файли в список автозаргузкі.
Запускаємо Автокад і вибираємо Сервіс >> АвтоЛІСПа >> Завантажити (Tools >> AutoLISP >> Load) або набираємо в командному рядку _appload.
У діалоговому вікні тиснемо на кнопку Додатки поруч з зображення портфеля

У наступному діалоговому вікні тиснемо на кнопку Додати і вказуємо на необхідні файли.

Вони повинні з'явитися в списку додатків.
Тепер перераховані файли будуть завантажуватися щоразу при відкритті малюнка.
Важливо розуміти, що (принаймні в повній версії AutoCAD) завантаження додатків, поміщених в автозавантаження (Startup Suite), як правило, виконується в усі профілі і сесії AutoCAD'a.
Крім того, є ще один момент. Якщо існує 2 або більше файлів, в яких описані функції з однаковими іменами, виконуватися буде та, яка завантажилася останньої. Оскільки передбачити, в якій послідовності буде виконуватися завантаження додатків, неможливо, подібних ситуацій слід уникати.