| |
BIGLIB |
| большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно |
|
| |
ФАНТАСТИКА |
| фентези,
фантастика, фантастические повести |
|
| |
ФИЛОСОФИЯ |
книги, которые заставляют
задуматься над окружающим тебя миром.
|
|
| |
МЕДИЦИНА |
медицинские книги,
методички,
народные лечебники |
|
| |
КУЛИНАРИЯ |
рецепты
тортов, консервирование,
все о спиртных
напитках. |
|
| |
СТИХИ |
| стихи популярных
и не очень авторов |
|
| |
ТВОРЧЕСТВО |
| народное творчество,
стихи, песни и т.д. |
|
| |
ЮМОР |
| анекдоты, приколы,
смешные истории |
|
| |
ЭРОТИКА |
| эротические рассказы,
книги о технике секса,
кама-сутра и др. |
|
|
| |
 |
- 5 -
Руководство пользователя по АВТОЛИСПу
Глава 1
Введение
АutoLISP - это модификация языка программирования LISP,
встроенная в пакет ADE-3 AutoCAD. AutoLISP позволяeт пользователям и
разработчикам AutoCADа писать макропрограммы и функции на очень
мощном языке высокого уровня, который хорошо сочетается с прикладной
графикой. LISP очень прост в изучении и очень гибок.
================================================================
ОБРАТИТЕ ВHИМАHИЕ
Для эффективного пользования AutoCADом совсем не обязательнo
учиться пользоваться AutoLISPом, если у Вас нет опыта
программирования, Вам достаточно прочесть требования по
инсталяции в Главе 2. Это полезно знать для ряда дисциплин
AutoCADа, используюших AutoLISP. Однако, если Вы любите
программировать, прочтите все руководство, чтобы научиться
пользоваться AutoLISPом, что превратит общие возможности
AutoCADа в еще более мощный графический инструмент лично для
Вас.
================================================================
Это руководство, а не учебник по программированию на LISPе,
однако мы приводим пример практического применения AutoLISPа в главе 3
и рекомендуем просмотреть различные тексты на LISPе для изучения этого
языка программирования. LISP - это язык, имеющий много диалектов,
включая МасLISP, InterLISP, ZetaLISP, CommonLISP. AutoLISP - наиболее
близок по синтаксису и соглашениям к CommonLISPу, но является
небольшой его частью и имеет много дополнительных функций, отражающих
специфику AutoCADа. Это руководство включает все функции AutoLISPа и
их применение.
1.1 Типы Данных в AutoLISPе
AutoLISP поддерживает несколько различных типов данных:
* списки
* символы
* строковые константы
* действительные числа
* целые числа
* файловый дескриптор (описатель файлов)
* "имена" примитивов AutoCAD
* наборы AutoCADа
* встроенные функции (субр)
Целые 16-битовые числа в пределах от -32768 до +32767.
Действительные числа представлены как числа с плавающей запятой
двойной точности. Строковые константы могут быть любой длины, память
для них распределяется динамически. Однако существует максимальная
- 6 -
Руководство пользователя по АВТОЛИСПу
длина для строковых констант, равная 100 символам.
AutoLISP содержит несколько встроенных функций для обеспечения
основ программирования 2-х мерных и 3-х мерных графических программ.
Kогда вы имеете дело с координатами, соблюдаются следующие соглашения:
2-х мерные точки выражаются в виде списков из двух действительных
чисел (Х Y), как:
(3.400000 7.520000)
Первое значение - координата Х, второе - Y.
3-х мерные точки выражаются в виде списков из трех действительных
чисел (X Y Z), как:
(3.400000 7.520000 1.000000)
Первое значение - координата X, второе - Y,
третье - Z.
Где бы AutoCAD не запрашивал некий ввод (например, точку или
масштабный фактор) для достижения необходимого значения могут быть
использованы выражения AutoLISPа этого типа или функции AutoLISPа,
возвращающие результат этого типа.
1.2 Вычислитель AutoLISPа
Сердцем каждого интерпритатора LISPа является вычислитель.
Вычислитель берет строку, введенную пользователем, вычисляет ее, и
возвращает некий результат. Hиже следует процесс вычисления в
AutoLISPе:
* Целые, действительные, строковые константы, указатели файлов
вычисляются в самих себя.
* Символы вычисляются в свои текущие значения.
* Списки вычисляются в зависиости от первого элемента списка.
Если список вычисляется в :
* список (или nil), предполагается, что список является
определением функции и функция вычисляется, используя оставшиеся
элементы списка как аргументы;
* имя внутренней функции (субр), то остальные элементы списка
передаются в субр как формальные аргументы и вычисляются субром.
Если вы ввели выражение AutoLISPа в ответ на запрос AutoCADа
"Command:" /команда:/, AutoLISP вычислит выражение и выведет результат
на экран. Запрос AutoCADа "Command:" повторится.
Если некорректное выражение набрано с клавиатуры или считано из
файла, AutoLISP может выдать следующую подсказку:
n>
где n - целое число, отмечающее как много уровней левых скобок
осталось незакрытыми. Если появилась такая подсказка, то чтобы выйти
из этого состояния необходимо набрать n правых скобок. Частая ошибка -
- 7 -
Руководство пользователя по АВТОЛИСПу
пропуск закрывающихся двойных кавычек (") в текстовой строке. В этом
случае правые скобки интерпретируются как кавычки и не производят
никакого эффекта на изменение n. Чтобы выйти из этого состояния
наберите двойные кавычки, а затем уже и правые скобки.
1.3 Соглашения по Лексике.
Ввод в AutoLISP может принимать несколько форм. Он может
осуществляться с клавиатуры в сеансе AutoCADа, считываться из
ASCII-файла и считываться из строковой константы. Во всех случаях
должны соблюдаться следующие соглашения:
* Имена символов могут состоять из любой последовательности
печатных знаков, исключая следующие:
( ) . ' " ;
* Следующие символы вызывают прерывание имени символа или
числовой константы:
( ) ' " ; (пробел) (конец файла)
* Выражения могут занимать несколько строк.
* Hесколько пробелов между символами эквивалентны одному пробелу.
Хотя отступы в строках и не требуются, вы можете использовать их для
повышения наглядности структурирования ваших функций.
* Имена символов и функций (субр) в AutoLISPе безразличны к
регистру, на котором они набраны. Имена символов не могут начинаться с
цифры.
* Целые константы могут начинаться с необязательных символов "+"
или "-". Kак было замечено ранее, они находятся в пределах от -32768
до +32767.
* Действительные константы состоят из одной или более цифры, за
которыми следует десятичная точка, за которой, в свою очередь
следуют одна или более цифр; т.о. "4" не является действительным,
правильным будет "0.4". Точно так же "5." не является действительным,
правильным будет "5.0". Действительные числа могут выражаться в
"научном" представлении, т.е. иметь необязательный параметр "е" или
"Е", за которым следует степень числа 10.
* Буквенные строковые константы - это последовательность знаков,
взятая в кавычки. Внутри взятых в кавычки строковых констант
можно ввести управляющие символы, пользуясь знаком обратной черты (\).
Kоды символов таковы:
\\ означает знак \
\е означает символ escape-последовательности
\n означает новую строку (newline)
\r означает возврат каретки (return)
\t означает табуляцию (tab)
\nnn означает знак, восьмеричный код которого nnn
Hапример, следующая запись выводит подсказку на новую строку:
(prompt "\nВведите первую точку: ")
* Знак апостофа может быть использован как короткая запись
- 8 -
|
adfun.ru
|
|
|
|