Выбрать главу

С целью облегчения ориентирования в тексте пособия служебные слова, выполняющие различные функции, выделяются разными шрифтами. В табл. 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.

Три переменные Автолиспа определены заранее, и их значения не рекомендуется изменять. К ним относятся:

pause - переменная определена как строка, состоящая из одного символа - обратной косой черты (\ - backslash) - и используется в функции command для организации паузы при необходимости ввода данных оператором;

pi - переменная определена как константа π, оцениваемая приблизительно в 3.1415926;