КОМПЬЮТЕРНАЯ ЛИТЕРАТУРА - Руководство пользователя по АвтоЛиспу

Индекс материала
Руководство пользователя по АвтоЛиспу
Стр. 2
Стр. 3
Стр. 4
Стр. 5
Стр. 6
Стр. 7
Стр. 8
Стр. 9
Стр. 10
Стр. 11
Стр. 12
Стр. 13
Стр. 14
Стр. 15
Стр. 16
Стр. 17
Стр. 18
Стр. 19
Стр. 20
Стр. 21
Стр. 22
Стр. 23
Стр. 24
Стр. 25
Стр. 26
Стр. 27
Стр. 28
Стр. 29
Стр. 30
Все страницы



                           - 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а,


где 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 -