Введение в Автолисп | страница 3



С целью облегчения ориентирования в тексте пособия служебные слова, выполняющие различные функции, выделяются разными шрифтами. В табл. 1 приведены гарнитуры шрифтов, используемые в дальнейшем для выделения отдельных элементов программ. Эти гарнитуры используются только в тексте пособия, полные тексты программ на Автолиспе и отдельные извлечения из них, используемые в качестве примеров, выполняются гарнитурой Arial.

Если Автолисп подключен к Автокаду, любая функция Автолиспа, введенная в командную строку, обрабатывается, а результат обработки возвращается в поле сообщений. Это очень удобно как при отладке программ, так и при проверке правильности записи функций. Если во время сеанса активизирована программа, написанная с ошибками, Автолисп прекращает ее обработку, сообщает об ошибке и производит обратную трассировку программы, указывая то место, где она совершена.


Tаблица 1. Гарнитуры шрифтов, используемые в пособии

ГарнитураОбласть использованияПримеры
Times New Roman CyrИмена примитивовArc, Line, Donut
To же, полужирныйКоманды Автокадаsave, copy, line
To же, курсивИмена файлов, сообщения командной строкиc:\acad\bolt.lsp From point:_
ArialТексты программ, имена переменныхsetq pt (1 2)) bolt, file1
To же, полужирныйИмена функций Автолиспаsetq, getdist
Arial полужирный курсивАргументы функцийstring [mode]

1.1. Типы данных в Автолиспе

Автолисп может оперировать следующими типами данных:

• Идентификаторы (Symbols) или переменные (Variables)

• Целые числа (Integers)

• Вещественные числа (Real numbers)

• Строки (Strings)

• Списки (Lists)

• Дескрипторы файлов (File descriptors)

• Имена примитивов Автокада (AutoCAD entity names)

• Наборы примитивов Автокада (AutoCAD selection sets)

• Встроенные (Subrs) и внешние (External Subrs) функции


Идентификаторы или переменные. Эти два термина в Автолиспе идентичны. Подобно любым языкам программирования Автолисп для идентификации переменных использует их имена. Значение переменной определяется ее параметрами аналогично тому, как это принято в других языках. В соответствии с синтаксисом Автолиспа каждая законченная структурная единица заключается в круглые скобки, а входящие в нее параметры, команды и функции разделяются пробелами.

В качестве примера приводится установка переменной pt1, рассматриваемой как точка в поле чертежа:


(setq pt1 ‘(1 2)).


Здесь встроенная функция присвоения setq устанавливает имя переменной pt1 и идентифицирует ее с точкой, имеющей координаты х=1, у=2.