Функция
| Описание
|
(DEFUN <имя функции> [<список аргументов>] [ / <локальные переменные>] <выражение>...)
| определяет функцию с именем <имя функции>. За именем функции следует список аргументов, за которым следует косая черта и имена одного или нескольких локальных символов функции. Если нет аргументов и локальных символов, которые следует объявлять, за именем функции следует поставить пустые скобки.
Используя функцию DEFUN можно добавить новые команды в AutoCAD. Для того, чтобы пользоваться вновь созданными командами AutoCADa, функции, определённые с помощью DEFUN, должны удовлетворять следующим правилам:
имя функции должно быть вида "С:ХХХ", где все буквы - прописные. Часть имени "С:" должна присутствовать всегда; часть имени "ХХХ" может быть любым именем команды, не дублирующую какую-либо команду AutoCADa.
функция должна быть определена без аргументов - пустой список (допускаются локальные символы).
Пример: (DEFUN C:NAME()
<ТЕЛО ФУНКЦИИ>
)
Функции, определённые таким образом, могут вызываться простым вводом "ХХХ" части имени функции, когда появилась подсказка AutoCADa "Command:".
|
(COMMAND "<имя команды>" [<аргумент>...])
| выполняет команды AutoCADa в AutoLISPe и всегда возвращает nil. Аргументы всегда представляют опции команд AutoCADa. Имена команд и опций представляются как строковые константы, двумерные точки - как списки из двух действительных чисел.
(аргументы пишутся в "")
|
PAUSE
| приостановливает действие функции COMMAND. Если используется прозрачная команда в момент приостанова функции COMMAND, функция остается в состоянии паузы до завершения прозрачной команды, после чего вернётся к нормальному выполнению. Пауза будет продолжаться до тех пор, пока не будет введён допустимый аргумент и не выполнятся все прозрачные команды.
|
(SETVAR <имя переменной> <значение переменной>)
| присваивает значение системной переменной AutoCADa и возвращает его. Имя переменной должно быть заключено в кавычки.
|
(SETQ <перем1> <выражение1> [<перем2> <выражение2>]...)
| Устанавливает в <перем1> значение <выражение1>, в <перем2> значение <выражение2> и т.д.
|
(GETANGLE [<точка>] [<подсказка>])
| создаёт паузу для того, чтобы пользователь ввёл угол. <точка> - двумерная базовая точка в текущей пользовательской системы координат. Функция всегда возвращает угол в радианах относительно текущей плоскости построения. Задать угол можно путём набора чисел на клавиатуре в текущих единицах измерения.
|
(GETDIST [<точка>] [<подсказка>])
| создаёт паузу для того, чтобы пользователь ввёл расстояние. <точка> - двумерная базовая точка в текущей пользовательской системы координат. Задать расстояние можно путём набора числа на клавиатуре в текущих единицах измерения. Функция всегда возвращает расстояние как действительное число. Можно также ввести расстояние, указав две точки на экране.
|
(GETPOINT [<точка>] [<подсказка>])
| запрашивает у пользователя точку. <точка> - двумерная базовая точка в текущей пользовательской системы координат. Точку можно ввести путём указания её на экране или записав координаты в текущих единицах измерения. Если присутствует аргумент <точка>, AutoCAD нарисует "резиновую" линию от этой точки до текущего положения курсора.
|
(INITGET [<биты>] [<строка>])
| устанавливает различные опции для использования последующими функциями GETXXX, кроме GETSTRING и GETVAR. <биты> - это целое число со следующими значениями:
Биты
| Значения
|
| Запрещён пустой ввод
|
| Запрещён ввод нуля
|
| Запрещён ввод отрицательных чисел
|
| Не контролируются лимиты
|
| Возвращаются трёхмерные, а не двумерные точки
|
| Применяется пунктир для изображения "резиновой" линии или рамки
|
|
(LIST <выражение>...)
| берёт любое число <выражений> и организует из них строку, возвращая список. В AutoLISPe эта функция используется для определения значений двух- и трёхмерных точек.
|
(CAR <список>)
| возвращает первый элемент <списка>. Если <список> пуст, возвращается nil.
|
(CDR <список>)
| возвращает все элементы списка, кроме первого. Если <список> пуст, возвращается nil. Если аргументом <списка> является точечная пара, CDR возвращает второй элемент, не заключая его в список.
|
(LAST <список>)
| возвращает последний элемент списка, причём <список> не должен быть равен nil.
|
Здесь приведен список сообщений об ошибках, которые вы можете встретить в процессе написания и отладки функций Автолиспа. Они выводятся стандартным обработчиком ошибок Автолиспа в виде: