AutoLiSP函数分类整理
应用程序处理函数
函数 | 说明 |
---|---|
(arx) | 返回当前加载的ObjectARX应用程序列表 |
(arxload application [onfailure]) | 加载ObjectARX应用程序 |
(arxunload application [onfailure]) | 卸载ObjectARX应用程序 |
(autoarxload filename cmdlist) | 预定义加载关联ObjectARX文件的命令名 |
(autoload filename cmdlist) | 预定义加载关联AutoLISP文件的命令名 |
(initdia [dialogflag]) | 强制显示下一个命令对话框 |
(load filename [onfailure]) | 计算文件中的AutoLISP表达式 |
(startapp appcmd file) | 启动Windows应用程序 |
(vl-vbaload "filename") | 加载Visual Basic工程 |
(vl-vbarun "macroname") | 运行Visual Basic宏 |
(vlax-add-cmd global-name func-sym [local-name cmd-flags]) | 向AutoCAD的内置命令集中添加命令 |
数学函数
函数 | 说明 |
---|---|
(+ [number number]...) | 返回所有数值的总和 |
(- [number number]...) | 从第一个数值中减去第二个和后面的数值,返回差值 |
(* [number number]...) | 返回所有数值的乘积 |
(/ [number number]...) | 用第一个数值除以后面其他数值的乘积,返回商值 |
(~ int) | 返回参数的按位非(即1的补码) |
(1+ number) | 返回参数增1的结果 |
(1- number) | 返回参数减1的结果 |
(abs number) | 返回参数的绝对值 |
(atan num1 [num2]) | 返回一个数的反正切值(以弧度为单位) |
(cos ang) | 返回一个以弧度表示的角度的余弦值 |
(exp number) | 返回常数e的指定次幂 |
(expt base power) | 返回一个数的指定次幂 |
(fix number) | 截去实数的小数部分,将它转换成整数后返回该整数 |
(float number) | 将一个数转换成实数后返回该实数 |
(gcd int1 int2) | 返回两个整数的最大公约数 |
(log number) | 以实数形式返回一个数的自然对数 |
(logand [int int...]) | 返回一组整数逻辑按位与的结果 |
(logior [int int...]) | 返回一组整数逻辑按位或的结果 |
(lsh [int numbits]) | 返回一个整数进行指定位逻辑移位后的结果 |
(max [number number...]) | 返回给定的数中的最大值 |
(min [number number...]) | 返回给定的数中的最小值 |
(minusp number) | 检查一个数是否为负数 |
(rem [num1 num2...]) | 用第一个数除以第二个数,返回余数 |
(sin ang) | 以实数形式返回一个以弧度表示的角度的正弦值 |
(sqrt number) | 以实数形式返回一个数的平方根 |
(zerop number) | 检查一个数是否为0 |
等量和条件函数
函数 | 说明 |
---|---|
(= numstr [numstr]...) | 如果所有参数的数值相等则返回T,否则返回nil |
(/= numstr [numstr]...) | 如果所有参数的数值不相等则返回T,否则返回nil |
(< numstr [numstr]...) | 如果所有参数的数值都小于它右边的参数则返回T,否则返回nil |
(<= numstr [numstr]...) | 如果所有参数的数值都小于或等于它右边的参数则返回T,否则返回nil |
(> numstr [numstr]...) | 如果所有参数的数值都大于它右边的参数则返回T,否则返回nil |
(>= numstr [numstr]...) | 如果所有参数的数值都大于或等于它右边的参数则返回T,否则返回nil |
(and [expr...]) | 返回一组表达式的逻辑与 |
(Boole func int1 [int2...]) | 用作一个通用的按位布尔函数 |
(cond [(test result...)...]) | 用作AutoLISP的主条件函数 |
(eq expr1 expr2) | 判断两个表达式是否相同 |
(equal expr1 expr2 [fuzz]) | 判断两个表达式的值是否相等 |
(if testexpr thenexpr [elseexpr]) | 根据条件计算表达式 |
(or [expr...]) | 返回一组表达式的逻辑或 |
(repeat int [expr...]) | 计算每个表达式指定的次数,返回最后一个表达式的值 |
(while testexpr [expr...]) | 计算测试表达式,如果结果不是nil,则计算其它表达式,重复这个计算过程,直到测试表达式的结果为nil |
错误处理函数
函数 | 说明 |
---|---|
(alert string) | 显示警告框,其中显示错误或警告信息,该信息以字符串形式传递 |
(*error* string) | 用户可定义的错误处理函数 |
(exit) | 强制退出当前应用程序 |
(quit) | 强制退出当前应用程序 |
(vl-catch-all-apply 'function list) | 将参数列表传递给指定的函数,并捕获异常 |
(vl-catch-all-error-message error-obj) | 从错误对象中返回信息 |
(vl-catch-all-error-p arg) | 判断vl-catch-all-apply返回的参数是否是错误对象 |
函数处理函数
函数 | 说明 |
---|---|
(apply function lst) | 将参数表传递给指定的函数 |
(defun sym ([arguments] [/variables...]) expr...) | 定义一个函数 |
(defun-q sym ([arguments] [/variables...]) expr...) | 将函数定义为表 |
(defun-q-list-ref 'function) | 显示用defun-q定义的函数的表结构 |
(defun-q-list-set 'sym list) | 将函数定义为表 |
(eval expr) | 返回AutoLISP表达式的计算结果 |
(lambda arguments expr...) | 定义无名函数 |
(progn [expr]...) | 按顺序计算每一个表达式,返回最后一个表达式的值 |
(trace function...) | 调试AutoLISP程序时的辅助工具 |
(untrace function...) | 清楚指定函数的跟踪标志 |
表操作函数
函数 | 说明 |
---|---|
(acad_strlsort lst) | 按字母顺序对字符串进行排序 |
(append lst...) | 将任意数目的表合成一个表 |
(assoc item alist) | 从关联表中搜索一个表,如果找到则返回该关联表条目 |
(car lst) | 返回表的第一个元素 |
(cdr lst) | 返回指定的表,表的第一个元素除外 |
(cons new-first-element lst) | 基本的表构造函数 |
(foreach name lst [expr...]) | 将表的所有成员带入表达式求值 |
(last lst) | 返回表的最后一个元素 |
(length lst) | 以整数形式返回表中元素的数目 |
(list [expr...]) | 将任意数目的表达式合成一个表 |
(listp item) | 检查某个项目是否是表 |
(mapcar function list1... listn) | 将一个或多个表的各个元素作为函数的参数,返回该函数执行结果的表 |
(member expr lst) | 在表中搜索指定的表达式,并从第一次出现该表达式的位置开始返回表的其余部分 |
(nth n lst) | 返回表的第n个元素 |
(reverse lst) | 颠倒表中元素的顺序,然后返回修改后的表 |
(subst newitem olditem lst) | 在表中搜索某个旧项目,并用一个新项目替换表中的所有旧项目,然后返回修改后的表的副本 |
(vl-consp list-variable) | 判断表是否为nil |
(vl-every predicate-function list [more-lists]...) | 检查每个元素合并的预测是否为真 |
(vl-list* object [more-objects]...) | 构造并返回表 |
(vl-list->string char-codes-list) | 将与整数表相关联的字符合并到字符串中 |
(vl-list-length list-or-cons-object) | 计算真表的表长度 |
(vl-member-if predicate-function list) | 判断表成员之一的预测是否为真 |
(vl-member-if-not predicate-function list) | 判断表成员之一的预测是否为nil |
(vl-position symbol list) | 返回指定的表项目的索引 |
(vl-remove element-to-remove list) | 从列表中删除元素 |
(vl-remove-if predicate-function list) | 返回函数测试失败的表的所有元素 |
(vl-remove-if-not predicate-function list) | 返回通过函数测试的表的所有元素 |
(vl-some predicate-function list [more-lists]...) | 检查元素合并的预测是否为nil |
(vl-sort list less?-function) | 根据给定的比较函数对表中的元素排序 |
(vl-sort-i list less?-function) | 根据给定的比较函数对表中的元素排序,返回元素索引号 |
(vl-string->list string) | 将字符串转换为字符代码表 |
字符串处理函数
函数 | 说明 |
---|---|
(read [string]) | 返回从字符串中获得的第一个表或原子数据 |
(strcase string [which]) | 将字符串中的所有字母转换成大写或小写,然后返回修改后的字符串 |
(strcat [string1 [string2]...) | 将多个字符串拼接成一个字符串,然后返回新字符串 |
(strlen [string]...) | 返回代表字符串中字符数目的整数 |
(subst string start [length]) | 返回字符串的子串 |
(vl-prin1-to-string object) | 返回表示任意LISP对象的字符串,如同prin1函数输出的字符串 |
(vl-princ-to-string object) | 返回表示任意LISP对象的字符串,如同princ函数输出的字符串 |
(vl-string->list string) | 将字符串转换为字符代码表 |
(vl-string-elt string position) | 返回表示在字符串中指定位置的字符的ASCII码 |
(vl-string-left-trim character-set string) | 从字符串的开始位置删除指定的字符串 |
(vl-string-mismatch str1 str2 [pos1 pos2 ignore-case-p]) | 返回两个字符串的最长公共前缀的长度,指定位置的字符 |
(vl-string-position char-code str [start-pos [from-end-p]]) | 在字符串中查找指定ASCII码的字符 |
(vl-string-right-trim characterset string) | 从字符串的末尾删除指定的字符串 |
(vl-string-search pattern string [startpos]) | 在字符串中搜索指定的模式 |
(vl-string-subst new-str pattern string [start-pos]) | 用一个字符串替换另一个字符串中的子串 |
(vl-string-translate source-set dest-set str) | 用指定的字符集替换字符串中的字符 |
(vl-string-trim char-set str) | 从字符串的开始河末尾删除指定的字符 |
(wcmatch string pattern) | 在字符串上进行通配代码匹配 |
符号处理函数
函数 | 说明 |
---|---|
(atom item) | 验证一个项目是否是原子数据 |
(atoms-family format [symlist]) | 返回当前定义符号列表 |
(boundp sym) | 检验值是否被绑定到符号上 |
(not item) | 验证项目的计算结果是否等于nil |
(null item) | 验证项目是否被绑定到nil |
(numberp item) | 验证项目是实数还是整数 |
(quote expr) | 返回表达式但不对它进行计算 |
(set sym expr) | 将被引号引起来的符号名的值设置成表达式 |
(setq sym1 expr1 [sym2 expr2]...) | 将符号的值设置成相关联的表达式 |
(type item) | 返回指定项目的类型 |
(vl-symbol-name symbol) | 返回包含符号名的字符串 |
(vl-symbol-value symbol) | 返回绑定到符号的当前值 |
(vl-symbolp object) | 标识指定的对象是否是符号 |
转换函数
函数 | 说明 |
---|---|
(angtof string [mode]) | |
(angtos angle [mode [precision]]) | |
(ascii string) | |
(atof string) | |
(atoi string) | |
(chr integer) | |
(cvunit value from to) | |
(distof string [mode]) | |
(itoa int) | |
(rtos number [mode [precision]]) | |
(trans pt from to [disp]) |
设备访问函数
显示控制函数
函数 | 说明 |
---|---|
(graphscr) | |
(grdraw from to color [highlight]) | |
(grtext [box text [highlight]]) | |
(grvecs vlist [trans]) | |
(menucmd string) | |
(menugroup groupname) | |
(prin1 [expr [file-desc]]) | |
(princ [expr [file-desc]]) | |
(print [expr [file-desc]]) | |
(prompt msg) | |
(redraw [ename [mode]]) | |
(terpri) | |
(textpage) | |
(textscr) | |
(vports) |
文件处理函数
函数 | 说明 |
---|---|
(close file-desc) | |
(findfile filename) | |
(open filename mode) | |
(read-char [file-desc]) | |
(read-line [file-desc]) | |
(vl-directory-files [directory pattern directories]) | |
(vl-file-copy "source-filename" "destination-filename" [append]) | |
(vl-file-delete "filename") | |
(vl-file-directory-p "filename") | |
(vl-file-rename "old-filename" "newfilename") | |
(vl-file-size "filename") | |
(vl-file-systime "filename") | |
(vl-filename-base "filename") | |
(vl-filename-directory "filename") | |
(vl-filename-extension "filename") | |
(vl-filename-mktemp ["pattern" "directory" "extension"]) | |
(write-char num [file-desc]) | |
(write-line string [file-desc]) |
几何函数
函数 | 说明 |
---|---|
(angle pt1 pt2) | |
(distance pt1 pt2) | |
(inters pt1 pt2 pt3 pt4 [onseg]) | |
(osnap pt mode) | |
(polar pt ang dist) | |
(textbox elist) |
查询和命令函数
函数 | 说明 |
---|---|
(acad_colordlg colornum [flag]) | |
(acad_helpdlg helpfile topic) | |
(command [arguments]...) | |
(getcfg cfgname) | |
(getcname cname) | |
(getenv "variable-name") | |
(getvar varname) | |
(help [helpfile [topic [command]]]) | |
(setcfg cfgname cfgval) | |
(setenv "varname" "value") | |
(setfunhelp "fname" ["helpfile" ["topic" ["command"]]]) | |
(setvar varname value) | |
(ver) | |
(vl-cmdf [arguments]...) | |
(vlax-add-cmd global-name func-sym [local-name cmd-flags]) | |
(vlax-remove-cmd global-name) |
用户输入函数
函数 | 说明 |
---|---|
(entsel [msg]) | |
(getangle [pt] [msg]) | |
(getcorner pt [msg]) | |
(getdist [pt] [msg]) | |
(getfiled title default ext flags) | |
(getint [msg]) | |
(getkword [msg]) | |
(getorient [pt] [msg]) | |
(getpoint [pt] [msg]) | |
(getreal [msg]) | |
(getstring [cr] [msg]) | |
(initget [bits] [string]) | |
(nentsel [msg]) | |
(nentselp [msg] [pt]) |
扩展数据处理函数
对象处理函数
函数 | 说明 |
---|---|
(entdel ename) | |
(entget ename [applist]) | |
(entlast) | |
(entmake [elist]) | |
(entmakex [elist]) | |
(entmod elist) | |
(entnext [ename]) | |
(entupd ename) | |
(handent handle) | |
(vlax-dump-object obj) | |
(vlax-erased-p obj) | |
(vlax-get-acad-object) | |
(vlax-method-applicable-p obj method) | |
(vlax-object-released-p obj) | |
(vlax-read-enabled-p obj) | |
(vlax-release-object obj) | |
(vlax-typeinfo-available-p obj) | |
(vlax-write-enabled-p obj) |
选择集处理函数
函数 | 说明 |
---|---|
(ssadd [ename [ss]]) | |
(ssdel ename ss) | |
(ssget [mode] [pt1 [pt2]] [pt-list] [filter-list]) | |
(ssgetfirst) | |
(sslength ss) | |
(ssmemb ename ss) | |
(ssname ss index) | |
(ssnamex ss index) | |
(sssetfirst gripset [pickset]) |
符号表和词典处理函数
函数 | 说明 |
---|---|
(dictadd ename symbol newobj) | |
(dictnext ename symbol [rewind]) | |
(dictremove ename symbol) | |
(dictrename ename oldsym newsym) | |
(dictsearch ename symbol [setnext]) | |
(layoutlist) | |
(namedobjdict) | |
(setview view_description [vport_id]) | |
(snvalid sym_name) | |
(tblnext table-name [rewind]) | |
(tblobjname table-name symbol) | |
(tblsearch table-name symbol [setnext]) | |
(vlax-ldata-delete dict key) | |
(vlax-ldata-get dict key [defaultdata]) | |
(vlax-ldata-list dict) | |
(vlax-ldata-put dict key data) | |
(vlax-ldata-test data) |
内存管理函数
对话框打开和关闭函数
函数 | 说明 |
---|---|
(done_dialog [status]) | 终止对话框 |
(load_dialog dclfile) | 加载DCL文件 |
(new_dialog dlgname dcl_id [action [screen-pt]]) | 开始并显示新对话框,也可以指定缺省动作 |
(start_dialog) | 显示对话框并开始接受用户输入 |
(term_dialog) | 终止所有当前对话框,就好像用户逐个取消这些对话框 |
(unload_dialog dcl_id) | 卸载DCL文件 |
控件和属性处理函数
函数 | 说明 |
---|---|
(action_tile key action-expression) | 指定当用户选择对话框中的特定控件时要执行的动作 |
(get_attr key attribute) | 获取对话框属性的DCL值 |
(get_tile key) | 获取对话框控件的当前运行时的值 |
(mode_tile key mode) | 设置对话框控件的模式 |
(set_tile key value) | 设置对话框控件的值 |
列表框和弹出式列表框处理函数
函数 | 说明 |
---|---|
(add_list string) | 在当前活动对话框列表中添加或修改一个字符串 |
(end_list) | 结束处理当前活动对话列表框 |
(start_list key [operation [index]]) | 开始处理列表框中或弹出式列表对话框框控件中的列表 |
图像控件处理函数
函数 | 说明 |
---|---|
(dimx_tile key)和(dimy_tile key) | 以对话框单位为单位获取控件的尺寸 |
(end_image) | 结束创建当前活动对话框图像 |
(fill_image x1 y1 wid hgt color) | 在当前活动对话框图像控件中绘制一个填充矩形 |
(slide_image x1 y1 wid hgt sldname) | 在当前活动对话框图像控件中显示一个幻灯片 |
(start_image key) | 开始在对话框中创建一个图像 |
(vector_image x1 y1 x2 y2 color) | 在当前活动对话框图像中绘制一个矢量 |
特定应用程序处理函数
函数 | 说明 |
---|---|
(client_data_tile key clientdata) | 将应用程序管理的数据与对话框控件相关联 |
Visual LISP的AutoLISP扩展
函数 | 说明 |
---|---|
(vl-load-com) |
ActiveX集合操作函数
函数 | 说明 |
---|---|
(vlax-for symbol collection [expression1 [expression2...]]) | |
(vlax-map-collection obj function) |
ActiveX数据转换函数
函数 | 说明 |
---|---|
(vlax-3D-point list) | |
(vlax-3D-point x y [z]) | |
(vlax-ename->vla-object entname) | |
(vlax-make-safearray type '(l-bound . u-bound) ['(l-bound . u-bound)...]) | |
(vlax-make-variant value type) | |
(vlax-safearray-fill var 'element-values) | |
(vlax-safearray-get-dim var) | |
(vlax-safearray-get-element var element) | |
(vlax-safearray-get-l-bound var dim) | |
(vlax-safearray-get-u-bound var dim) | |
(vlax-safearray-put-element var element value) | |
(vlax-safearray-type var) | |
(vlax-safearray->list var) | |
(vlax-tmatrix list) | |
(vlax-variant-change-type var type) | |
(vlax-variant-type var) | |
(vlax-variant-value var) | |
(vlax-vla-object->ename obj) |
ActiveX方法调用函数
函数 | 说明 |
---|---|
(vlax-invoke-method obj method list) | |
(vlax-method-applicable-p obj method) |
ActiveX对象处理函数
函数 | 说明 |
---|---|
(vlax-dump-object obj) | |
(vlax-erased-p obj) | |
(vlax-get-acad-object) | |
(vlax-method-applicable-p obj method) | |
(vlax-object-released-p obj) | |
(vlax-read-enabled-p obj) | |
(vlax-release-object obj) | |
(vlax-typeinfo-available-p obj) | |
(vlax-write-enabled-p obj) |
ActiveX特性处理函数
函数 | 说明 |
---|---|
(vlax-get-property obj property) | |
(vlax-property-available-p obj prop [T]) | |
(vlax-put-property obj property arg) |
曲线测量函数
函数 | 说明 |
---|---|
(vlax-curve-getArea curve-obj) | |
(vlax-curve-getDistAtParam curve-obj param) | |
(vlax-curve-getDistAtPoint curve-obj point) | |
(vlax-curve-getEndParam curve-obj) | |
(vlax-curve-getEndPoint curve-obj) | |
(vlax-curve-getParamAtDist curve-obj param) | |
(vlax-curve-getParamAtPoint curveobj point) | |
(vlax-curve-getPointAtDist curve-obj dist) | |
(vlax-curve-getPointAtParam curveobj param) | |
(vlax-curve-getStartParam curve-obj) | |
(vlax-curve-getStartPoint curve-obj) | |
(vlax-curve-isClosed curve-obj) | |
(vlax-curve-isPeriodic curve-obj) | |
(vlax-curve-isPlanar curve-obj) | |
(vlax-curve-getClosestPointTo curve-obj givenPnt [extend]) | |
(vlax-curve-getClosestPointToProjection curve-obj givenPnt normal [extend]) | |
(vlax-curve-getFirstDeriv curve-obj param) |
词典函数
函数 | 说明 |
---|---|
(vlax-ldata-delete dict key) | |
(vlax-ldata-get dict key [default-data]) | |
(vlax-ldata-list dict) | |
(vlax-ldata-put dict key data) | |
(vlax-ldata-test data) |
对象处理函数
函数 | 说明 |
---|---|
(vlax-create-object "prog-id") | |
(vlax-dump-object obj) | |
(vlax-erased-p obj) | |
(vlax-get-acad-object) | |
(vlax-get-object "prog-id") | |
(vlax-get-or-create-object "prog-id") | |
(vlax-import-type-library :tlb-filename filename [:methods-prefix mprefix :properties-prefix pprefix :constants-prefix cprefix]) | |
(vlax-method-applicable-p obj method) | |
(vlax-object-released-p obj) | |
(vlax-read-enabled-p obj) | |
(vlax-release-object obj) | |
(vlax-typeinfo-available-p obj) | |
(vlax-write-enabled-p obj) |
反应器函数
VLX名称空间函数
函数 | 说明 |
---|---|
(vl-arx-import [function | application]) | |
(vl-doc-export 'function) | |
(vl-doc-import ['function | application]) | |
(vl-doc-ref symbol) | |
(vl-doc-set symbol value) | |
(vl-exit-with-error "msg") | |
(vl-exit-with-value value) | |
(vl-list-exported-functions ["appname"]) | |
(vl-list-loaded-vlx) | |
(vl-unload-vlx "appname") | |
(vl-vlx-loaded-p "appname") |
名称空间通讯函数
函数 | 说明 |
---|---|
(vl-bb-ref 'variable) | |
(vl-bb-set 'variable value) | |
(vl-load-all "filename") | |
(vl-propagate 'variable) |
Windows注册表函数
函数 | 说明 |
---|---|
(vl-registry-delete reg-key [val-name]) | |
(vl-registry-descendents reg-key [val-names]) | |
(vl-registry-read reg-key [val-name]) | |
(vl-registry-write reg-key [val-name val-data]) | |
(vlax-product-key) |
xshrimp根据cabinsummer整理的内容编辑 未经许可 不得传播 2012.3.24 |