Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

LISP или AutoLISP в AutoCAD




LISP или AutoLISP это традиционный язык программирования для AutoCAD. С его помощью можно создавать свои программы в любой области проектирования. Создание таких программ избавляет пользователя от типовых, рутинных операций и существенно повышают производительность работы в AutoCAD.

В этой курсовой работе я рассмотрю пример простой программы на языке LISP. Подробно разберу ее программный код.

Для выполнения примера нам понадобиться только программа AutoCAD. Специальная инсталляция AutoLISP не требуется. Он поставляется с каждой копией AutoCADа.

И первое с чего я должен начать – это поставить перед собой задачу. И в качестве примера я предлагаю написать программу, которая попросит нас указать базовую точку р1. и после указания, построит куб со сторонами 200.

Рис 7.

Программный код я буду писать в редакторе «Visual Lisp». Чтобы его открыть, в начале нужно запустить AutoCAD.

Далее на ленте выбираем вкладку «Управление» и на панели «Приложение» щелкаем на пункте «Редактор Visual Lisp»

Рис 8.

Создаем новый файл: щелкаем на кнопку обведенную красным.

Рис 9.

И в открывшимся окне, набираем текст программы или копируем его.

Рис 10.

В программном коде после «;» можно оставлять свои комментарии, которые в дальнейшем никак не влияют на выполнение команды.

Давая имя командам и файлам, стараемся присвоить им уникальные имена. Чтобы в дальнейшем избежать пересечения со стандартными командами или с командами созданными другими пользователями. Я назову наш файл и команду «mp_kub» (подразумевая my program Kub)

Сохраняю ее в папке «D:/MyLisp» под именем «mp_kub».

Рис 11.

Теперь, чтобы использовать программу в AutoCADе, ее предварительно нужно загрузить. Щелкаем по кнопке выделенной зеленым.

Рис 12.

Если программа набрана без ошибок. Ниже в окне «Консоль Visual LISP» появиться надпись о том, что наша программа загружена.

Рис 13.

 

Переходим в AutoCAD, вводим «mp_kub» в командную строку и нажимаем Enter.

Рис 14.

 

Появится подсказка: «Укажите базовую точку:» Щелкните в любой точки рабочего окна AutoCAD и он нарисует куб.

Рис 15.

Рис 16.

 

Подробное описание функции языка LISP

Подробное описание функции языка LISP, которые использовал в программном коде.

(defun c:mp_kub (/ p1 p2 p3 p4 p5 p6 p7 p8)

<выражения>

)

Создание функции пользователя с именем «mp_kub».

Префикс «с:» означает, что эту функцию можно будет использовать как стандартную команду AutoCAD. Достаточно ввести имя в командную строку AutoCADа.

(/ p1 p2 p3 p4 p5 p6 p7 p8) – временные переменные, которые используются в выражениях.

(setq p1 (getpoint "\nУкажите базовую точку: "))

Функция getpoint – даёт возможность пользователю указать точку при помощи мыши.

Результатом функции будут координаты точки указанные пользователем.

«\nУкажите базовую точку:» — текст приглашения.

Префикс «\n» означает переход на новую командную строку.

Функция присвоения (setq p1 <значение>) позволяет сохранить <значение> в переменной p1.

(setq p2 (polar p1 0 200))

Рис 17.

Функция (polar p1 0 200) вычисляет координаты точки отстоящей от точки р1 на расстояние 200 в направлении луча образующим с ось Х угол 0 радиан.

(setq p2 <значение>) — Затем эти координаты присваиваются р2.

(command "_line" p1 p2 p3 p4 p1 "")

Функция command выполняет стандартные функции AutoCADа. В нашем случаи проводит отрезки по точкам с координатами р1, р2, р3, р4, р1.

«_line» — имя стандартной функции AutoCAD.

«» — имитирует нажатие клавиши <Enter>.

Рис 18.

 


 

Заключение

В процессе работы над темой «Создание простых объектов в AutoCAD в Auto Lisp» были рассмотрены сами программы и написан код.

Потрачено: много времени, много нервов, куча чая и вкусняшек.)

Создание кода основного алгоритма была реализована на языке Auto Lisp. В ходе наших исследований были рассмотрены различные электронные ресурсы, книги и научные работы, посвященные данной тематике.

.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...