Page 17 - AutoLISP и Visual LISP в среде AutoCAD
P. 17

2.6. ВВОД ДАННЫХ


                      Для ввода данных в AutoLisp существует семейство функций GET. Для
                  всех основных типов есть своя функция GET. Все функции GET могут иметь
                  в качестве аргумента произвольную строковую константу, в которой может
                  содержаться  текст  запроса  или  какая-то  подсказка.  Все  функции GET
                  приостанавливают  выполнение  программы  до  тех  пор,  пока  не  будет
                  осуществлен  ввод.  Все  вводимые  данные  автоматически  преобразуются  в
                  нужный  тип  данных.  В  ответ  на  запрос  функций GET нельзя  вводить
                  выражения AutoLisp.


                      (getpoint [точка]  [текст_подсказки])
                      Функция  возвращает  координаты  указанной  пользователем  точки  как
                  список из двух или трёх чисел (в зависимости от настройки AutoCad). Если
                  первый аргумент присутствует, AutoCad рисует "резиновую нить" от точки,
                  определенной первым аргументом.
                      Пример:

                  (getpoint)                                  ; (-130.0 24.0 0.0)
                  (getpoint "\nВведите точку")                ; \n - переход на новую строку
                  (getpoint '(10 20) )                        ; "резиновая" нить от точки (10,20)


                      (getcorner точка [текст_подсказки])
                      Эта  функция,  так  же  как  и getpoint,  возвращает  координаты  указанной
                  пользователем  точки.  Отличие  заключается  в  том,  что  функция getcorner
                  строит  "резиновую"  рамку  при  передвижении  курсора  по  экрану,  первый
                  угол  которой  определяется  первым  аргументом.  Первый  аргумент –
                  обязателен.


                      (getangle [точка]  [текст_подсказки])
                      Функция  возвращает  значение  угла  (в  радианах)  между  задаваемым
                  пользователем  вектором  и  положительным направлением  оси X. Начальная
                  точка  может  быть  определена  первым  аргументом  функции.  Вторую  точку
                  следует  указать  на  экране,  при  этом AutoCad рисует  "резиновую"  нить  от
                  точки,  указанной  первым  аргументом.  Если  первый  аргумент  опущен,
                  AutoCad требует ввода двух точек.


                      (getorient [точка]  [текст_подсказки])
                      Эта  функция,  как  и  функция getangle возвращает  значение  угла,  но  не
                  относительно положительного направления оси X, а относительно текущего
                  направления  измерения  углов.  Текущее  направление  измерения  углов
                  определяется системной переменной AutoCad - ANGBASE.


                      (getdist [точка]  [текст_подсказки])






                  16
   12   13   14   15   16   17   18   19   20   21   22