Среда программирования на AutoLISP в графической системе AutoCAD (Справочник), страница 7

выполняется <функция> с аргументами, заданными <списком>. APPLY работает как со встроенными функциями, определёнными пользователем (они создаются с помощью функций  DEFUN  или LAMBDA).

(lambda <аргументы> <выражение>...)

определяет “анонимную” функцию. Она обычно используется, когда при определении новая функция не именуется. LAMBDA возвращает значение последнего <выражения> и часто используется вместе с функциями  APPLY и/или MAPCAR для выполнения функции над списком.

3.8. Функции преобразований

(ascii <строковая константа>)

преобразовывает символ <строковая константа> в ASCII - символьный код (целое число).

(atof <строковая константа>)

преобразовывает символ <строковая константа> в действительное число.

(atoi <строковая константа>)

преобразовывает символ <строковая константа> в целое число.

(chr <число>)

преобразовывает целое <число> в символьный код ASCII, результатом является строковая константа.

(fix <число>)

преобразовывает <число> в целое число. <Число> может быть как целым, так и действительным. Действительное число усекается до ближайшего целого путём отбрасывания дробной части.

(float <число>)

преобразовывает <число> в действительное число. <Число> может быть как целым, так и действительным.

(itoa <целое>)

преобразовывает <целое> число в строковую константу.

(rtos <число> [<режим> [<точность>]])

возвращает строковую константу, которая представляет <число> (действительная величина) в соответствии со значениями <режима>, <точности> и размерной переменной AutoCAD DIMZIN. <Режим> и <точность> -- целые величины, которые назначают режим отображения и точность. Ниже приведены значения <режима>:

1    – научный,

2    – десятичный,

3    – инженерный (футы и десятичные дюймы),

4    – архитектурный (футы и дробные дюймы),

5    – произвольные дробные части.

Если опущены <режим> и <точность>, то используются текущие значения  LUNITS и LUPREC.

(angtos <угол> [<представление> [<точность>]])

возвращает <угол> (действительное число, в радианах) преобразованным в строковую константу. Аргумент <представление> -- целое число, определяющие формат преобразования:

0  Градусы,

1  Градусы/минуты/секунды,

2  Грады,

3  Радианы,

4  Геодезическое представление.

Аргумент <точность> -- целое число, указывающее количество цифр после запятой аргумент <представление> и <точность> обращаются к переменным AutoCAD AUNITS и  AUPREC. Если эти аргументы игнорируются, то используются текущие значения AUNITS  и AUPREC.

(read <строка>)

возвращает первый список или атом из данной <строки>. При этом <строка> не должна содержать пробелы.

(cvunit <значение> <из> <в>)

возвращает <значение>, преобразованное из единицы измерения, заданной строки <из>, в единицы измерения, заданные строкой <в>. Единицы измерения должны быть заданы в файле acad.unt.

3.9. Функции работы со списками

(car <список>)

выбирает первый элемент <списка>. Если список пуст, то возвращает nil.

(cdr <список>)

выбирает все элементы <списка>, кроме первого. Если <список> пуст, то возвращает nil.

(caar), (cadr), (cddr), (cadar), и т.д.

осуществляется конкатенация функций CAR и CDR, вплоть до четвёртого уровня глубины. В AutoLISP CADR часто используется для “извлечения” координаты Y 2-мерной и 3-мерной точки (второй элемент списка, состоящего из двух или трёх натуральных чисел). Точно также CADDR используется для “извлечения” координаты Z точки в трёхмерном пространстве.

(list <выражение>...)

организует список из любого числа выражений, возвращая список.

(cons <новый первый элемент> <список>)

добавляет <новый первый элемент> в начало списка . Функция CONS воспринимает также атом на месте аргумента <списка>, конструируя структуру, известную как точечная пара.