Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
METHOD / Основы САПР / AutoLISP2006.doc
Скачиваний:
84
Добавлен:
05.03.2016
Размер:
1.04 Mб
Скачать

1. Переменные языка AutoLisp

Язык AutoLISP, как и любой язык программирования, использует переменные. Переменная - это объект, имеющий уникальное имя и способный хранить в себе некоторое значение.

Система работы с переменными в языке AutoLISP значительно отличается от тако­вой в других языках программирования. Пользователь найдет, что она гораздо проще: не нужно заранее определять типы переменных и резервиро­вать для них место. Переменные языка AutoLISP динамические - создание переменной и опре­деление её типа осуществляется в момент присвоения переменной значения в программе. Таким образом, совершенно отсутствует секция определения данных.

AutoLISP - встроенный язык п. AutoCAD, поэтому кроме переменных самой программы на языке AutoLISP (т.е переменных созданных пользователем), программист имеет возможность обращаться к системным переменным п. AutoCAD - переменным определенными разработчиками фирмы Autodesk. Рассмотрим оба типа переменных.

1.1 Системные переменные пакета AutoCad

Все настройки графического редактора управляются системными переменными. Когда вы изменяете установки, например включаете режим ORTHO или изменяете пределы чертежа командой LIMITS и пр., AutoCAD сохраняет установленный режим в соответствующей системной переменной. Часть переменных имеет защиту от изменения - метку “read only”. Те переменные которые не имеют защиты могут быть изменены командой SETVAR. Системные переменные могут быть также изменены функциями языка AutoLISP.

Для того чтобы, после отработки LISP программы, настройки графического пакета не изменились, необходимо, сохранить старые значения системных переменных в переменных языка AutoLISP при помощи функции GETVAR. Далее установить новые значения системных переменных необходимые для работы Lisp программы функцией SETVAR (не путать с командой п.AutoCAD SETVAR) и затем восстановить их старые значения перед выходом из Lisp программы. Восстанавливать старые значения системных переменных - это хороший стиль программирования на AutoLISP, он поможет вам застраховаться от ошибок.

1.2 Переменные языка AutoLisp определенные пользователем

Переменные языка AutoLISP совершенно независимы от системных переменных п. AutoCAD и могут повторять их имена. При каждом обращении к переменной, AutoLISP использует то значение переменной, которое было установлено последним. Имя переменной может состоять из любых печатных символов (в т.ч. и цифр), однако не должно включать в себя зарезервированные Автолиспом символы, поскольку они интерпретируются специальным образом. Не рекомендуется использовать для имен переменных следующие символы:

Зарезервированные символы: . ' " ; ( ) или пробел

Знаки операций AutoLISP: - * = > < + - /

"Плохие" символы: ? ' ! \ " , а также управляющие символы

Нельзя также использовать в качестве имен переменных имена функций языка AutoLISP. Заметим, что AutoLISP не различает малые и большие буквы. Поскольку имя переменной длиной более шести символов требует для хранения больше памяти, рекомендуется не превышать этот предел. Не следует также начинать имя переменной с цифры.

Имена переменных

Неверные

Ошибка

верные

123

РТ123

10.5

действительная константа

tx10_5

ANGLK

конфликтует с функцией ANGLE Автолиспа

ANGL

A(l)

содержит запрещенные символы

А­_1

OLD SUM

содержит пробел

OLD_SUM

Соседние файлы в папке Основы САПР