Page 13 - AutoLISP и Visual LISP в среде AutoCAD
P. 13
2.4. РАБОТА С AUTOLISP ИЗ КОМАНДНОЙ СТРОКИ AUTOCAD
К AutoLisp можно обращаться прямо из командной строки AutoCad. При
вводе какой-либо группы букв, интерпретатор командной строки пытается
найти введенное слово в списке команд AutoCad. Если введенного слова нет
в списке команд, то выдается сообщение об ошибке. Кроме того, команда
AutoCad не может содержать пробелов, т.к. нажатие клавиши "SPACE"
(пробел) воспринимается так же, как нажатие "ENTER" (ввод).
Если первым символом в командной строке ввести открывающуюся
круглую скобку, то интерпретатор командной строки AutoCad переходит в
специальный режим – режим ввода выражений AutoLisp. Выход из этого
режима осуществляется при вводе скобки, закрывающей вводимое
выражение, которое может быть сложным и содержать вложенные
выражения. В этом режиме нажатие клавиши пробел больше не
рассматривается как терминатор ввода, поскольку выражения AutoLisp
содержат пробелы. Кроме того выражения AutoLisp могут занимать
несколько строк и поэтому передаются вычислителю только после ввода
последней правой скобки. Поэтому в командной строке AutoCad может
появиться подсказка о количестве незакрытых круглых скобок (или кавычек
для строковых переменных).
Для того, чтобы узнать значение переменной AutoLisp необходимо в
командной строке AutoCad ввести !"имя_переменной"
Пример:
Команда: (setq x (/ pi 16) ; Вводим выражение AutoLisp
; в командной строке AutoCad
(_> ) ; Незакрыта одна круглая скобка
; (вводим закрывающую круглую скобку)
0.19635
; Возвращаемое значение
Команда: !x
0.19635 ; Значение переменной x
Команды AutoCad в англоязычной версии можно вводить в латинском
регистре (верхнем или нижнем). В русскоязычной версии AutoCad можно
пользоваться как русскими именами команд, так и английскими, но
предваренными знаком подчеркивания. Так, например, в русскоязычной
версии команду КРУГ можно заменить командой _CIRCLE.
Важно отметить, что использование английских команд (с
предваренными знаком подчеркивания) в AutoLisp дает возможность
запускать программы в любых национальных версиях AutoCad.
Выражения AutoLisp могут быть введены в качестве ответа на запросы
команд AutoCad.
12