Використання програм мовою Автолисп при роботі в системі AutoCAD
Для використання Автоліспа в сеансі роботи з графічним редактором ACAD необхідні наступні умови.
1. Використовувана версія AutoCAD повинна мати модуль ADE-3.
2. При настроюванні системи AutoCAD Автолісп повинний бути підключений. При виконанні цих умов можна звертатися до Автоліспу, тобто виконувати функції Автоліспу в будь-який момент, коли редактор видає підказку COMMAND: (КОМАНДА:).
Можливі п'ять способів використання програм на Автоліспе в залежності від того, куди поміщена розроблена програма і яке ім'я дане основній (тобто останній) функції програми.
1. Безпосереднє введення програми з клавіатури. У відповідь на запрошення COMMAND: можна ввести першу функцію програми (набрати її текст на клавіатурі), і вона буде виконана, у відповідь на наступне запрошення - наступну функцію і тд. Зображення буде будуватися поступово, як при роботі з редактором ACAD. Значення, яке повертається кожною функцією буде видаватися на екран ( у нижній рядок).
Отже, будь-який текст, що починається із символу "(", редактор ACAD сприймає як функцію Автоліспу і передає інтерпретаторові Автоліспа. Очевидно, що він незручний, тому що при кожнім повторному виконанні програму потрібно знову цілком набирати.
2. Введення програми, оформленої як опис функції. Програма, набрана на клавіатурі в сеансі роботи з ACAD, може бути використана повторно, якщо вона оформлена як опис функції або кілька описів функцій, тобто починається з DEFUN. Повторний виклик такої програми реалізується як звертання до описаної функції в будь-який момент до завершення поточного сеансу роботи з ACAD. Після виходу, із графічного редактора програма "губиться".
3. Запис програми у вигляді файлу і виклик у вигляді функції Автоліспа. Програму можна створити як текстовий файл за допомогою будь-якого редактора текстів. Такий файл можна записати в доступний каталог, давши йому ім'я з розширенням LSP.
Далі дану програму потрібно завантажити в ОЗУ за допомогою функції Автоліспа LOAD. Функція має вигляд:
(LOAD < ім'я файлу > )
Ім'я файлу, у якому зберігається дана програма, варто задавати в текстовому виді без розширення, але при необхідності з префіксом.
В ACAD 2004 і вищої версії завантаження програми в оперативну память виконується також безпосередньо з редактора VisualLISP (File/Load File...<ім’я файлу>) або меню AutoCAD
(Tools/Load Application<ім’я файлу>або Tools/AutoLISP/Load Application<ім’я файлу>).
Тепер у відповідь на підказку COMMAND: у будь-який момент можна ввести рядок з ім'ям будь-якої функції програми, визначеної в програмі за допомогою DEFUN, уклавши це ім'я в дужки. Якщо потрібно, то після імені функції вказуються її аргументи. Наприклад, текст Програми
; Програма 1
(defun COLO(R1)
(setq P1 (getpoint "Введіть центр кола:"))
(setq R1 100)
(command "CIRCLE" P1 "D" R1 "")
(command "CIRCLE" P1 R1 "")
)
можна набрати в текстовому редакторі і записати на диск під ім'ям KOLO1.LSP. У сеансі роботи з ACAD у відповідь на COMMAND: увести рядок:
(LOAD “KOLO1”)
На екрані з'явиться ім'я завантаженої функції - COLO.
Після цього на будь-який запит COMMAND: можна набрати відповідь:
(COLO 100) або (COLO 200) і т.д.
У результаті цього Програма 1 буде виконана (з аргументами 100, 200 таін.).
Оформлення програми як готової команди ACAD.Програму можна оформити так, щоб після завантаження файлу з цією програмою, її можна було викликати по імені точно так само, як викликаються команди ACAD (тобто без дужок).
Для цього ім'я головної функції в програмі (останньої, котра описана через DEFUN) потрібно почати із символів "С:". Наприклад, у Програмі 1 запис C:COLO дозволяє створити нову команду AutoCAD з назвою COLO. Таким чином, можна оформляти тільки функції, що не мають аргументів.
(defun C:COLO()
(setq P1 (getpoint "Введіть центр кола:"))
(setq R1 100)
(command "CIRCLE" P1 "D" R1 "")
(command "CIRCLE" P1 R1 "")
)
Автоматичне завантаження програм.Може виникнути бажання обійтися без команди LOAD і завантажувати програму автоматично. Це можна зробити, якщо додати текст програми у файл ACAD.LSP. Такий файл буде завантажений в ОЗУ при виклику редактора ACAD.
Зрозуміло, що цілях економії оперативної пам'яті, у файл ACAD.LSP варто включати тільки найбільше часто використовувані програми.
Автоматичний запуск програми.Можна оформити програму таким чином, щоб вона не тільки завантажувалася, але й автоматично виконувалася після виклику редактора ACAD. Для цього її потрібно включити у файл ACAD.LSP під ім'ям S: STARTUP.
Таку програму доцільно застосовувати для настроювання середовища ACAD і створення зручних для користувача початкових умов.
Дата добавления: 2016-11-02; просмотров: 553;