Поэтому, постановка лишних пар скобок, что допустимо в других алгоритмических языках, в 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 – встроенная функция, ;определяющая пользовательскую функцию ( … действия функции … ) ) (имяфункции) ;вызов функции

 

В исходный текст пользовательской функции можно включать комментарии. Признаком начала комментария является символ «;».

Пользовательских функций в одном файле может быть несколько. Так бывает тогда, когда некоторые из них имеют назначение подпрограмм (или вложенных процедур) и вызываются из других функций, либо когда весь алгоритм представляется в виде нескольких логических модулей, которые оформляются как отдельные функции.