Поэтому, постановка лишних пар скобок, что допустимо в других алгоритмических языках, в LISPе может привести к ошибкам.
Программирование в AutoCAD
Неавтоматизированное создание чертежей в AutoCAD
В программный комплекс AutoCAD встроен язык программирования AutoLISP.
Язык LISP появился в 1962 г. для решения задач в области искусственного интеллекта. Название языка произошло от фразы «LISting Processing» – обработка списков.
Развитие первоначального LISPа проходило по нескольким направлениям, что привело к появлению нескольких диалектов (разновидностей) LISP. Одним из диалектов является COMMON LISP, который с незначительными изменениями был встроен в AutoCAD v.2.1 1982 года. Таким образом появился очередной диалект LISPа под названием AutoLISP. В настоящее время AutoLISP постоянно развивается, что находит свое отражение в новых версиях AutoCAD.
Основой программ, написанных на языке LISP, является работа со списками, которые могут иметь произвольную длину и включать данные различных типов.
Список – это объекты, отделенные друг от друга пробелами и заключенные в скобки: ( … ).
Для LISPа всё, что заключено в круглые скобки, является списком, который следует обработать как вычисляемое выражение.
Если список является константой и его вычислять не нужно, то перед списком ставится знак одиночной кавычки: ‘( … ).
Одновременно с этим в LISPе доступны обычные арифметические вычисления, логические операции, работа с файлами и т.д.
Если результат вычисления выражения сохраняется в переменной, то это происходит с максимально возможной точностью, независимо от способа отображения на экране.
Аналогично многим другим языкам программирования, AutoLISP имеет средства для немедленного выполнения команд без сохранения их в памяти или на диске.
Для выполнения действий на языке AutoLISP без сохранения их в виде файла необходимо ввести выражение AutoLISP в командную строку и подтвердить действия клавишей ENTER.
Рассмотрим пример использования командной строки AutoCAD в виде калькулятора. Введем список (/ 5.0 2) и нажмем клавишу ввода. Если поле команд занимает три строки, то мы увидим введенное выражение, результат вычислений и новое системное приглашение AutoCAD:
Command: (/ 5.0 2) |
2.5 |
Command: |
Во введенном списке первый элемент является функцией деления, второй и третий – аргументами функции деления.
Для создания исходных текстов программ на AutoLISPе используются:
1. Интегрированная среда Visual LISP, встроенная в AutoCAD.
2. Любой текстовый редактор, сохраняющий файлы в формате DOS (файлы с исходными текстами программ на AutoLISPе имеют расширение LSP).
Загрузку интегрированной среды Visual LISP можно выполнить одним из следующих способов.
1. Через опции главного меню AutoCAD:
Сервис (Service) ® AutoLISP ® Редактор Visual LISP (Visual LISP Editor).
2. В командной строке AutoCAD ввести:
vlide (что является аббревиатурой от «Visual Lisp Interactive Development Environment») или vlispи нажать клавишу ENTER.
Загруженная среда Visual LISP открывает несколько окон, в том числе окна для работы с исходными текстами программ.
LSP-программа по терминологии AutoLISP называется «пользовательской функцией».
Пользовательская функция без аргументов и локальных переменных имеет следующую структуру:
(defun имяфункции () ; defun – встроенная функция, ;определяющая пользовательскую функцию ( … действия функции … ) ) (имяфункции) ;вызов функции |
В исходный текст пользовательской функции можно включать комментарии. Признаком начала комментария является символ «;».
Пользовательских функций в одном файле может быть несколько. Так бывает тогда, когда некоторые из них имеют назначение подпрограмм (или вложенных процедур) и вызываются из других функций, либо когда весь алгоритм представляется в виде нескольких логических модулей, которые оформляются как отдельные функции.