Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Символы AutoLISP




Символы AutoLISP- это слова, состоящие из группы буквенно-цифровых знаков и являющиеся именами функций или переменных, используемых для хранения данных пользователя. В символах AutoLISP не должны использоваться разделители выражений, к которым относятся круглые скобки, пробелы и двойные кавычки, и служебные знаки -"." (точка), "," (запятая), ";" (точка с запятой), " ' " (апостроф), "/" (косая черта), "\" (обратная косая черта). Написание символов не должно соответствовать написанию чисел (например, символ не должен состоять из одних цифр).

Зарезервированными являются символы, используемые как имена функций, а также некоторые обозначения констант.

В именах символов AutoLISP регистр (верхний или нижний) не имеет значения. Поэтому setq, SETQ, SETq, Setq, SETQ обозначают одну и ту же функцию setq.

AutoLISP работает с объектами следующих типов:

- целое число;

- вещественное число;

- строка;

- список, точечная пара;

- дескриптор файла;

- указатель функции, приложения;

- примитив AutoCAD;

- набор выбора;

- VLA-объект.

Символам AutoLISP могут быть присвоены значения любых типов (этим язык AutoLISP выгодно отличается от языков высокого уровня типа Fortran). Пользователь в явном виде может задавать константы следующих типов: целые, вещественные, строковые и списковые.

Целые числа могут быть как положительными, так и отрицательными или нулями. Диапазон допустимых значении варьирует от -2,147,483,648 до +2,147,483,647 (крайние значения включены в допустимые: запятые могут использоваться как разделители триад цифр).

К целым числам относятся слова, состоящие только из цифр. Кроме того, целые числа могут иметь знак "+" или "-". Если пользователь пытается задать целое число, не лежащее между описанными выше предельными значениями, то вводимое число преобразуется в вещественное.

Вещественные числа - это слова, которые состоят из цифр и содержат внутри только одну десятичную точку. Могут иметь знак "+" или "-". В состав вещественного числа может входить латинский символ "е" или "Е" с показателем степени числа 10.

Строковые константы начинаются и заканчиваются кавычками (сами кавычки в длину константы не входят) и содержат внутри себя текст, который может состоять из любых знаков, в т. ч. пробелов, скобок, апострофов. Особо рассматривается знак "\", который является служебным и используется для ввода в текстовую строку некоторых специальных знаков (например, кавычек и самого знака "\"). Константа "" считается строкой нулевой длины. В строковые константы могут входить управляющие знаки печати, например: "\n" - переход на новую строку, "\t" - символ табуляции.

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

Функция setq возвращает значение, совпадающее со значением выражения, присваиваемого последней неременной (<переменнаям>), поэтому тип результата также совпадает с типом этого выражения.

К зарезервированным символам, значения которых пользователям не рекомендуется изменять, помимо имен функций, относятся следующие:

- т - единственная логическая константа, имеющая значение "истина";

- nil - пустое значение (оно же в логических операциях играет роль и значения "ложь"); это значение не эквивалентно числу 0 или пустой строке ("");

- pi - постоянная, равная отношению длины окружности к диаметру (3.14159);

- pause - постоянная, позволяющая ввести паузу при работе команды системы AutoCAD (используется в функции command).

Для хранения данных пользователь может вводить свои символы (переменные), не совпадающие по написанию с зарезервированными или ранее занятыми. Появление новых переменных осуществляется с помощью функции setq, например:

(setq r1 15.33 s24 9)

Здесь вводятся переменные r1 и s24, получающие, соответственно, значения 15.33 (вещественное) и 9 (целое). При этом к той части оперативной памяти, которая отведена для текущего рисунка, добавляются участки, занимаемые переменными. Если переменной присвоить значение nil, то такая переменная из памяти удаляется и ее место освобождается для других операций AutoLISP.

Переменные могут использоваться в любых выражениях, например:

(setq уу2 (+ 20.56 уу0))

Ввод с клавиатуры выражений AutoLISP не всегда удобен, поэтому можно записать предварительно свои строки на языке AutoLISP в файл с расширением Isp (текст располагается в файле произвольным образом построчно, не обязательно каждое новое выражение начинать с новой строки; желательно заканчивать строку на разделителе - пробеле или скобке), а затем загрузить этот файл с помощью функции load. Синтаксис функции load следующий:

(load <файл> [<сообщение>])

Здесь <файл> - это строка с именем загружаемого файла, а <сообщение> - это строка с текстом сообщения, которое нужно вывести, если загружаемый файл не будет обнаружен. Возвращаемое значение в случае удачной загрузки - результат последнего выражения или имя последней функции, если в файле находятся определения функций. В случае если загружаемый файл не найден, возвращается текст сообщения об ошибке.

Аргумент <сообщение> может быть опущен, в этом случае при ошибке загрузки выдается стандартное сообщение AutoCAD. Аргумент <файл> обычно содержит только имя файла, который ищется в соответствии с настройкой рабочего каталога и путей поиска файлов поддержки. Однако можно указывать и полное имя с путем, - например, "f:/Dis/Progs/longwid.lsp" или "f:\\Dis\\Progs\\longwid.lsp". В качестве разделителя каталогов может использоваться косая черта или обратная косая черта, но обратная черта должна обязательно удваиваться.

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

- vix

- fas

- Isp

Расширение vix соответствует файлам приложении, fas - компилированным LISP-файлам, Isp - исходным LISP-файлам. Для непосредственного редактирования пользователю доступны только файлы с расширением Isp, т. к. файлы с расширениями vix и fas не являются текстовыми.

 

 




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 1445; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.