В табл. П8.1 приведен перечень всех функций языка AutoLISP. В главе 12 изучается основная часть этих функции. Остальные функции предназначены для программирования меню, диалоговых окон и технологии ActiveX и в данной книге не рассматриваются. Информация о них может быть получена, например, через справочную систему AutoCAD 2000.
Функция | Назначение |
+ | сложение |
- | вычитание |
* | умножение |
/ | деление |
= | равенство |
/= | неравенство |
< | меньше |
<= | меньше или равно |
> | больше |
>= | больше или равно |
~ | дополнение до -1 |
1+ | увеличение на 1 |
1- | уменьшение на 1 |
abs | абсолютная величина |
acad_colordlg | вызов диалогового окна с палитрой цветов |
acad_helpdlg | вызов справки |
acad_strlsort | сортировка списка строк |
action_tile | действие кнопки DCL-файла |
add_list | добавление в раскрывающийся список диалогового окна |
alert | вызов окна с сообщением |
alloc | размер сегмента памяти |
and | логическое "и" |
angle | вычисление угла |
angtof | перевод угла в вещественное число |
angtos | перевод угла в символьное представление |
append | добавление к списку |
apply | применение операции к элементам списка |
arx | список загруженных ARX приложений |
arxload | загрузка ARX-приложения |
arxunload | выгрузка ARX-приложения |
ascii | вычисление кода буквенно цифрового символа |
assoc | выбор по ключевому элементу списка |
atan | арктангенс |
atof | перевод из символьного представления в вещественное |
atoi | перевод из символьного представления в целое |
atom | проверка символа |
atoms-family | перечень символов |
autoarxload | автозагрузка ARX приложения |
autoload | автозагрузка |
Boole | булева операция |
boundp | проверка значения символа |
caaar,caddr | (car (car (car ) ) ) , (car (cdr (cdr ) ) ) , |
caar,cadr | (car (car ) ) , (car (cdr ) ) |
car | извлечение первого элемента списка |
cdr | получение остатка списка без первого элемента |
chr | получение бувенно-цифрового символа по его коду |
client_data_tile | привязка пользовательских данных |
close | закрытие файла |
command | передача команд и параметров в командную строку AutoCAD |
cond | проверка условий |
cons | создание списка |
cos | косинус |
cvunit | перевод в другие единицы измерения |
defun | определение новой функции |
defun-q | определение функции через список |
defun-q-list-ref | получение списка тела функции |
defun-q-list-set | передача списка в тело функции |
dictadd | добавление к словарю |
dictnext | переход на следующую запись словаря |
dictremove | удаление из словаря |
dictrename | переименование в словаре |
dictsearch | поиск в словаре |
dimx_tile | горизонтальный размер поля |
dimy_tile | вертикальный размер поля |
distance | расстояние |
distof | перевод строки в вещественное представление |
done_dialog | закрытие диалогового окна |
end_image | конец операции над графической кнопкой |
end_list | конец операции над раскрывающимся списком |
entdel | удаление (восстановление) примитива |
entget | получение списка примитива |
entlast | извлечение последнего элемента рисунка |
entmake | создание примитива |
entmakex | создание примитива или неграфического объекта |
entmod | изменение примитива |
entnext | переход к следующему примитиву (подпримитиву) |
entsel | выбор объекта с указываемой точкой |
entupd | перерисовка измененного примитива |
eq | равенство объектов |
equal | равенство с допуском |
*error* | обработка ошибок |
eval | вычисление списка как функции |
exit | выход |
exp | натуральный антилогарифм |
expand | расширение памяти |
expt | возведение в степень |
fill_image | заполнение графической кнопки |
findfile | поиск файла |
fix | усечение вещественного числа до целого |
float | преобразование числа в вещественное |
foreach | применение операции к элементам списка |
function | определение функции с возможностями оптимизации |
gc | сборка мусора |
gcd | наибольший общий делитель |
get_attr | значение атрибута, заданное полю диалогового окна в DCL-файле |
get_tile | текущее значение атрибута диалогового окна |
getangle | ввод угла |
getcfg | извлечение параметров приложения |
getcname | получение синонимов имен команд |
getcorner | ввод точки с рамкой |
getdist | ввод расстояния |
getenv | значение переменной окружения |
getfiled | вызов диалогового окна поиска файла |
getint | ввод целого числа |
getkword | ввод опции из списка |
getorient | ввод угла |
getpoint | ввод точки |
getreal | ввод вещественного числа |
getstring | ввод строки |
getvar | значение системной переменной |
graphscr | переход в графический экран |
grclear | очистка видового экрана |
grdraw | рисование вектора |
grread | чтение данных через произвольное устройство ввода |
grtext | запись в пункт меню или зону графического экрана |
grvecs | рисование множества векторов |
handent | имя примитива, соответствующее метке |
help | вызов раздела справки |
if | условный оператор |
initdia | управление диалоговым окном следующей команды |
initget | установка опций функций ввода |
inters | пересечение отрезков |
itoa | преобразование целого числа в символьное представление |
lambda | описание локальной функции |
last | извлечение последнего элемента списка |
layoutlist | перечень листов файла рисунка |
length | длина списка |
list | формирование списка |
listp | проверка на список |
load | загрузка файла с LISP-программами |
load_dialog | загрузка DCL-файла |
log | натуральный логарифм |
logand | побитовое логическое "и" |
logior | побитовое логическое "или" |
Ish | побитовый сдвиг |
mapcar | применение функции к каждому элементу списка |
max | максимум |
mem | параметры памяти |
member | проверка на вхождение в список |
menucmd | операция с пунктом меню |
menugroup | операция с группой меню |
min | минимум |
minusp | проверка на отрицательность |
mode_tile | переключение режима поля диалогового окна |
namedobjdict | имя основного словаря неграфических данных |
nentsel | доступ к данным сложного объекта с запросом |
nentselp | доступ к данным сложного объекта без запроса |
new_dialog | вызов диалогового окна |
not | логическое отрицание |
nth | выбор элемента списка по номеру |
null | проверка на nil |
numberp | проверка на число |
open | открытие файла |
or | логическое "или" |
osnap | изменение режима объектной привязки |
polar | построение точки по расстоянию и направлению, задаваемому углом |
prini | вывод в файл или на экран |
princ | вывод в файл или на экран |
print | вывод в файл или на экран |
progn | программная скобка для функции if |
prompt | вывод сообщения |
quit | выход |
quote | цитирование (обращение к списку не как к функции) |
read | чтение из строки |
read-char | чтение символа с клавиатуры |
read-line | чтение строки из файла |
redraw | перерисовка примитивов |
regapp | регистрация приложения |
rem | остаток от деления |
repeat | цикл с заданным количеством повторений |
reverse | переворот списка |
rt05 | преобразование вещественного числа в символьное представление |
set | присвоение значения через адрес символа |
set_tile | задание значения переменной диалогового окна |
setcfg | запись данных приложения |
setenv | задание переменной окружения |
setfunhelp | регистрация справочной команды |
setq | присвоение значения символу AutoLISP |
setvar | присвоение значения системной переменной AutoCAD |
setview | установка вида в видовом экране |
sin | синус |
slide_image | заполнение графической кнопки слайдом |
snvalid | проверка имени таблицы символов |
sqrt | квадратный корень |
ssadd | добавление объекта в набор выбора |
ssdel | удаление объекта из набора |
ssget | формирование набора по запросу или признаку |
ssgetfirst | определение выбранных объектов |
sslength | количество элементов в наборе |
ssmemb | проверка на принадлежность объекта к набору |
ssname | извлечение объекта из набора |
ssnamex | информация о способе создания набора |
sssetfirst | включение ручек у объектов |
startapp | запуск приложения |
start_dialog | запуск диалогового окна загруженного DCL-файла |
start_image | начало операции с графической кнопкой |
start_list | начало операции над раскрывающимся списком |
strcase | преобразование регистра в строке символов |
strcat | конкатенация (сцепление) строк |
strlen | длина строки |
subst | замена элемента в списке |
substr | извлечение подстроки |
tablet | работа с планшетом |
tbinext | переход к следующему символу в таблице |
tbiobjname | поиск объекта в таблице символов |
tbisearch | поиск символа в таблице |
term_dialog | принудительное завершение (закрытие) диалогового окна |
terpri | перевод курсора на новую строку |
textbox | вычисление ограничивающего прямоугольника для надписи |
textpage | переключение в текстовый экран |
textscr | переход в текстовое окно |
trace | начало трассировки |
trans | преобразование точки в другую систему координат |
type | определение типа символа |
unload_dialog | выгрузка DCL-файла |
untrace | окончание трассировки |
vector_image | рисование отрезка внутри графической кнопки |
ver | определение версии AutoLISP |
vl-acad-defun | переопределение функции как внешнего приложения |
vl-acad-undefun | отмена переопределения функции как внешнего приложения |
vl-arx-import | импорт приложения в пространство имен другого документа |
vl-bb-ref | возврат значения переменной из внедокументного пространства имен |
vl-bb-set | задание значения переменной из внедокументного пространства имен |
vl-catch-all-apply | выполнение функции с каждым элементом списка |
vl-catch-all-error-message | возврат сообщения об ошибке |
vl-catch-all-error-p | проверка, является ли аргумент ошибочным |
vl-cmdf | передача команды или опции в командную строку |
vl-consp | проверка списка на nil |
vl-directory-files | получение списка имен файлов папки |
vl-doc-export | экспорт функции из пространства имен VLX-приложения в текущий документ |
vl-doc-import | импорт последней экспортированной функции в пространство имен VLX-приложения |
vl-doc-ref | передача значения переменной из пространства имен текущего документа |
vl-doc-set | задание значения переменной из пространства имен текущего документа |
vl-every | проверка истинности условия с первым элементом каждого из списков-аргументов |
vl-exit-with-error | передача управления программе *еггог* |
vl-exit-with-value | возврат значения функции, которая вызвана другим пространством имен |
vl-file-copy | копирование или присоединение содержимого одного файла к другому |
vl-file-delete | удаление файла |
vl-file-directory-p | проверка, содержит ли имя файла путь |
vl-file-rename | переименование файла |
vl-file-size | размер файла в байтах |
vl-file-systime | дата последнего изменения файла |
vi-filename-base | выделение имени файла без пути и расширения |
vl-filename-directory | выделение пути, если он входит в имя файла |
vl-filename-extension | выделение расширения из имени файла |
vl-filename-mktemp | уникальное имя для временного файла |
vl-get-resource | извлечение содержимого файла с расширением txt, включенного в VLX-приложение |
vl-list* | построение списка |
vl-list->string | построение строки по кодам входящих в нее буквенно-цифровых знаков |
vl-list-exported-functions | список экспортированных функций |
vl-list-length | длина списка |
vl-list-loaded-vix | список всех связанных с данным документом VLX-приложений с собственными пространствами имен |
vl-load-all | загрузка файла во все ранее открытые документы и во все документы, которые будут открыты в данном сеансе AutoCAD |
vl-load-com | загрузка дополнительных функций Visual LISP в AutoLISP |
vl-load-react ors | загрузка функций, поддерживающих реакторы |
vl-member-if | проверка истинности условия хотя бы с одним элементом списка |
vl-member-if-not | проверка на nil условия хотя бы с одним элементом списка |
vl-position | номер символа как элемента поданного списка |
vl-prinl-to-string | вывод данных в строку аналогично функции prin1 |
vl-princ-to-string | вывод данных в строку аналогично функции princ |
vl-propagate | передача значения переменной во все ранее открытые документы и во все документы, которые будут открыты в данном сеансе AutoCAD |
vl-registry-delete | удаление значения из реестра Windows |
vl-registry-descendents | список ключей из указанного раздела реестра Windows |
vl-registry-read | чтение данных из раздела реестра Windows |
vl-registry-write | создание раздела в реестре Windows |
vl-remove | удаление элемента из списка |
vl-remove-if | выделение элементов списка, не удовлетворяющих проверяемому условию |
vl-remove-if-not | выделение элементов списка, удовлетворяющих проверяемому условию |
vl-some | проверка выполнения условия, применяемого с последовательно подаваемыми элементами списков-аргументов |
vl-sort | сортировка элементов списка |
vl-sort-i | сортировка элементов списка с возвратом номеров в новом списке |
vl-string->list | преобразование строки буквенно-цифровых знаков в список с кодами знаков |
vl-string-elt | получение кода по действующей таблице для символа с номером в строке |
vl-string-left-trim | удаление символов из начала строки |
vl-string-mismatch | вычисление длины общего префикса для двух строк, начиная с некоторой позиции |
vl-string-position | поиск символа с заданным кодом в строке |
vl-string-right-trim | удаление символов из конца строки |
vl-string-search | поиск заданного образца внутри строки |
vl-string-subst | замена внутри строки одного шаблона на другой |
vl-string-translate | замена символов в строке по закону |
vl-string-trim | удаление символов из начала и конца строки |
vl-symbol-name | возврат имени символа как строки |
vl-symbol-value | возврат значения символа |
vl-symbolp | проверка, является ли объект символом |
vl-unload-vix | выгрузка VLX-приложения, загруженного в свое пространство |
vl-vbaload | загрузка проекта VBA |
vl-vbarun | выполнение VBA-макро |
vl-vlx-loaded-p | проверка, загружено ли VLX-приложение |
vlax-3D-point | создание точки-варианта |
vlax-add-cmd | добавление команды AutoCAD |
vlax-create-object | создание VLA-объекта |
vlax-curve-getArea | площадь VLA-обьекта |
vlax-curve-getDistAtParam | длина кривой от начальной точки до точки, заданной параметром |
vlax-curve-getDistAtPoint | длина кривой от начальной до указанной точки |
vlax-curve-getEndParam | значение параметра конечной точки кривой |
vlax-curve-getEndPoint | вычисление конечной точки кривой |
vlax-curve-getParamAtDist | значение параметра на заданном расстоянии от начальной точки кривой |
vlax-curve-getParamAtPoint | значение параметра в точке кривой |
vlax-curve-getPointAtDist | вычисление точки, находящейся на заданном расстоянии от начальной точки кривой |
vlax-curve-getPointAtParam | вычисление точки, лежащей на кривой, с заданным значением параметра |
vlax-curve-getStart Pa ram | начальное значение параметра на кривой |
vlax-curve-getStartPoint | вычисление начальной точки кривой |
vlax-curve-isClosed | проверка замкнутости кривой |
vlax-curve- isPeriodic | проверка периодичности кривой как функции параметра |
vlax-curve-isPlanar | проверка планарности кривой |
vlax-curve-getClosestPointTo | вычисление точки, лежащей на кривой и ближайшей к заданной точке |
vlax-curve-getClosestPointT oProjection | вычисление ближайшей точки на кривой после проектирования кривой на плоскость |
vlax-curve-getFirstDeriv | вычисление первой производной в заданном месте кривой |
vlax-curve-getSecondDeriv | вычисление второй производной в заданном месте кривой |
vlax-dump-obj ect | вывод свойств объекта, а также методов, к нему примененных |
vlax-ename->vla-object | преобразование примитива в VLA-объект |
vlax-erased-p | проверка, удален ли VLA-обьект |
vlax-for | вычисление выражения с каждым VLA-обьектом из группы (collection) |
vlax-get-acad-object | восстановление объекта lAcadApplication верхнего уровня |
vlax-get-object | вычисление текущего вхождения объекта приложения |
vlax-get-or-create-object | вычисление текущего вхождения объекта приложения или создание нового |
vlax-get-property | извлечение свойства VLA-обьекта |
vlax-import-type-library | импорт информации из библиотеки типов |
vlax-invoke-method | вызов метода ActiveX |
vlax-ldata-delete | удаление LISP-данных из словаря |
vlax-ldata-get | извлечение LISP-данных из словаря или объекта |
vlax-ldata-list | вывод LISP-данных из словаря |
vlax-ldata-put | запись LISP-данных в словарь или объект |
vlax-ldata-test | проверка возможности сохранения LISP-данных |
vlax-make-safearray | создание безопасного массива |
vlax-make-variant | создание варианта |
vlax-map-collection | применение функции ко всем объектам группы |
vlax-method-applicable-p | проверка поддержки объектом метода |
vlax-object-released-p | проверка, освобожден ли объект в графической базе |
vlax-product-key | путь к разделу AutoCAD в системном реестре Windows |
vlax-property-available-p | проверка наличия у объекта требуемого свойства |
vlax-put-property | присвоение свойства VLA-объекту |
vlax-read-enabled-p | проверка читаемости объекта |
vlax-release-object | освобождение объекта |
vlax-remove-cmd | удаление команды или группы команд |
vlax-safearray-fill | сохранение данных в безопасном массиве |
vlax-safear ray-get-dim | получение размерности массива |
vlax-safear ray-get-element | чтение элемента массива |
vlax-safearray-get-l-bound | нижняя граница массива |
vlax-safearray-get-u-bound | верхняя граница массива |
vlax-safearray-put-element | запись элемента в массив |
vlax-safearray-type | определение типа массива |
vlax-safearray->list | вывод массива в список |
vlax-tmatrix | представление матрицы преобразования типа 4Х4, используемой в операциях ActiveX |
vlax-typeinfo-available-p | проверка наличия информации TypeLib |
vlax-variant-change-type | значение варианта после смены типа данных |
vlax-variant-type | тип данных варианта |
vlax-variant-value | значение варианта |
vlax-vla-object->ename | преобразование VLA-объекта в примитив AutoCAD |
vlax-write-enabled-p | проверка возможности изменения объекта |
vlisp-compile | компиляция LSP-файла в FAS-файл |
vlr-acdb-re actor | создание реактора операций добавления, изменения и удаления объектов |
vlr-add | восстановление отключенного реактора |
vlr-added-p | проверка включения реактора |
vlr-beep-reaction | выдача звукового сигнала |
vlr-command-reactor | создание реактора команд |
vlr-current-reaction-name | имя текущего события, вызванного реактором |
vlr-data | получение данных приложения, связанных с реактором |
vlr-data-set | перезапись данных приложения, связанных с реактором |
vlr-deepclone-reactor | создание реактора для операций размножения объектов |
vlr-docmanager-reactor | создание реактора рисунков как документов |
vlr-dwg-reactor | создание реактора для событий, связанных с сохранением, открытием, закрытием рисунков |
vlr-dxf-reactor | создание реактора, связанного с чтением или записью DXF-файлов |
vlr-editor-reactor | создание реактора редактирования |
vlr-insert-reactor | создание реактора операций вставки блоков |
vlr-linker-reactor | создание реактора операций загрузки/выгрузки ARX-приложений |
vlr-lisp-reactor | создание реактора ввода LISP-выражений |
vlr-miscellaneous-reactor | создание реактора прочих событий |
vlr-mouse-reactor | создание реактора операций с мышью |
vlr-notification | проверка активности реактора в зависимости от пространства имен |
vlr-object-reactor | создание реактора объектов |
vlr-owner-add | добавление объекта к списку владельцев реактора объектов |
vlr-owner-remove | удаление объекта из списка владельцев реактора объектов |
vlr-owners | получение списка владельцев реактора объектов |
vlr-pers | перевод реактора в постоянный режим |
vlr-pers-list | получение списка постоянных реакторов |
vlr-pers-p | проверка постоянности режима реактора |
vlr-pers-re lease | перевод реактора в переменный режим |
vlr-reaction-names | список всех возможных событий для данного типа реакторов |
vlr-reaction-set | добавление функций к реактору |
vlr-re act ions | список точечных пар событий и действий |
vlr-reactors | список существующих реакторов |
vlr-remove | отключение реактора |
vlr-remove-all | отключение реакторов определенного типа |
vlr-set-notification | проверка работы реактора, если пространство имен неактивно |
vlr-sysvar-reactor | создание реактора, связанного с изменением значений системных переменных |
vlr-toolbar-reactor | создание реактора, связанного с изменением пиктограмм кнопок панелей инструментов |
vlr-trace-reaction | печать в окне Трассировка (Trace) |
vlr-type | тип реактора |
vlr-types | список всех типов реакторов |
vlr-undo-react or | создание реактора, связанного с отменой действий |
vlr-wblock-reactor | создание реактора, связанного с операцией ПБЛОК (WBLOCK) |
vlr-window-reactor | создание реактора, связанного с операциями изменения размеров окна AutoCAD |
vlr-xref-reactor | создание реактора, связанного с операциями над внешними ссылками |
vports | параметры текущей конфигурации видовых экранов |
wcmatch | сравнение с образцом |
while | цикл по условию |
write-char | вывод символа |
write-iine | вывод строки |
xdroom | определение размера свободной памяти зоны расширенных данных |
xdsize | определение размера памяти, необходимого для добавления расширенных данных |
zerop | проверка на ноль |
| | |
Эти функции работают с VLA-объектами.