AutoLisp从入门到放弃(十三)


本章整理一下AutoLisp常用函数。

一、数学运算功能函数

序号函数函数说明
1(+ number number …)累计实数或整数的和。
2(- number number …)累计实数或整数的差值。
3(* number number …)所有实数或整数的乘积。
4(/ number number …)第一个数值除以第二个以后数值的商。
5(1+ number)数值+1(自加运算)。
6(1- number)数值-1(自减运算)。
7(abs number)数值的绝对值。
8(atan number)数值的反正切值。
9(cos number)数值的余弦值。
10(exp number)数值的指数。
11(expt number)底数的指数值。
12(fix number)将数值转换为整数值。
13(gcd number number)两数值的最大公约数。
14(log number)数值的自然对数值。
15(max number number …)数值中的最大值。
16(min number number …)数值中的最小值。
17PI常数,其值约为3.1415926
18(rem number number)M数值的相除的余数。
19(sin number)角度的正弦值。
20(sqrt number)数值的平方根。

二、检验与逻辑运算功能函数

序号函数函数说明
1(= exp exp)比较表达式1是否等于表达式2,适用于数值和字符串。
2(/= exp exp)比较表达式1是否不等于表达式2。
3(< exp exp)比较表达式1是否小于表达式2。
4(<= exp exp)比较表达式1是否小于等于表达式2。
5(> exp exp)比较表达式1是否大于表达式2。
6(>= exp exp)比较表达式1是否大于等于表达式2。
7(~ number)数值的位not值(1的补码)。
8(and exp exp …)所有表达式的逻辑与的结果。
9(boole func int int …)用作一个通用的按位逻辑运算函数。
10(eq exp exp)比较表达式1与表达式2是否相同,适用于列表的比较(实际上是比较指针)。
11(equal exp exp [fuzz])比较表达式1与表达式2是否相等(值相等),支持差量比较。

三、转换运算功能函数

序号函数函数说明
1(angtof string [mode])角度值的字符串值转换为实数。
2(angtos angle [mode] [precision])角度转换为字符串值。
3(atof string)字符串转换为实数值。
4(atoi string)字符串转换为整数值。
5(cvunit num baseunit convertunit)数值转换单位后的值。
6(distof string [mode])根据模式将字符串转换为实数值。
7(itoa num)整数转换为字符串。
8(rtos num mode [precision])实数转换为字符串。
9(trans point basepos newpos [dist])转换坐标系。

四、列表处理功能函数

序号函数函数说明
1(append list list …)结合所有列表合并为一个列表。
2(assoc atom list)根据元素寻找联合列表中的关系信息。
3(car list)返回列表中的第一个元素。
4(cadr list)返回列表中的第二个元素。
5(caddr list)返回列表中的第三个元素。
6(cdr list)出去第一个元素之后的列表。
7(cons atom list)将新元素添加到列表。
8(foreach name list exp)将列表中的每一个元素对应至名称再根据表达式执行响应。
9(length list)列表内的元素数量。
10(list atom atom …)将所有元素合并为一个表。
11(listp atom)判断元素是否为一串。
12(mapcar func list list …)将列表1、列表2列表的元素配合函数,求得新列表。
13(member atom list)搜索表中是否包含某表达式,并从该表达式的第一次出现处返回表的其余部分。
14(nth n list)列表中的第n个元素。
15(reverse list)将列表元素根据顺序颠倒过来的列表。
16(subst newatom oldatom)使用新项替换旧项,并返回替换之后的列表。

五、字符串、字符、文件处理函数

序号函数函数说明
1(ascii string)字符串第一个字符的ascii码值。
2(chr num)整数所对应的ASCII单一字符码。
3(close file-desc)关闭文件
4(open filename mode)打开文件,准备读取或者写入信息。
5(read string)列表中的字符串的第一组元素。
6(read-char [file-desc])通过键盘或者文件中读取的单一字符。
7(read-line [file-desc])通过键盘或文件中读取一行字符串。
8(strcase string [mode])转换字符串的大小写。
9(strcat string string …)将所有字符串合并为一个字符串。
10(strlen string)字符串的长度。
11(substr string length)返回字符串中的一个子字符串
12(wcmatch string mode)将字符串与通用字符进行比较。
13(write-char num [file-desc])将一ASCII字符写到文件或屏幕上。
14(write-line string [file-desc])将字符串写到文件或屏幕上。

六、等待输入功能函数

序号函数函数说明
1(getangle [point] [prompt])请求输入十进制角度数值,响应一个弧度值提示及参考点可有可无。
2(getcorner point [prompt])请求输入另一矩形框对角点坐标。
3(getdist [point] [prompt])请求输入一段距离。
4(getint [prompt])请求输入一个整数值。
5(getkword [prompt])请求输入“关键词”。
6(getorient [point] [prompt])请求输入十进制角度,响应一弧度值不受angbase、angdir影响。
7(getpoint [point] [prompt])请求输入一个点的坐标。
8(getreal [prompt])请求输入一个实数。
9(getstring [prompt])请求输入一个字符串。
10(initget [bit] string)设定下次getxxx函数的有效输入。

七、几何运算功能函数

序号函数函数说明
1(angle point point)取得两点的角度弧度值。
2(distance point point)取得两点的距离。
3(inters point point point point [mode])取得两条线的交点。
4(osnap point [mode])按照捕捉模式取得另一坐标点。
5(polar point rad dist)按照极坐标法取得另一坐标点。
6(textbox list)测量一个指定文本对象的尺寸,并返回围住该文本的一个矩形框的对角坐标。

八、对象处理功能函数

序号函数函数说明
1(entdel ename)删除或取消删除对象。
2(entget ename [applist])取出对象名称的信息列表。
3(entlast)取出图形信息中的最后一个对象。
4(entmake elist)建立一个新的对象列表。
5(entmod elist)根据更新的信息列表更新屏幕上元体。
6(entnext [ename])找寻图面中的下一个对象。
7(entsel [prompt])请求选取一个对象,响应包含对象名称及选点坐标的列表。
8(entupd ename)更新屏幕上复元体图形。
9(handent handle)图码的元体名称。
10(nentsel [prompt])提示用户指定点来选择对象(图元),得到这个对象所指片段的对象名。
11(nentselp [prompt] [point])在没有用户输入的情况下,本函数的功能与nentsel函数类似。

九、选择集、符号表处理函数

序号函数函数说明
1(ssadd [ename] [ssname])将对象加入选择集或建立一新选择集。
2(ssdel ename ssname)将对象自选择集中移出。
3(ssget [mode] [point] [point])取得一个选择集。
4(ssget “X” [filter])得根据过滤列表所指定范围的选择集。
5(sslength ssname)计算选择集的对象个数。
6(ssmemb ename ssname)响应对象名称是否包含于选择集内。
7(ssname ssname index)根据索引值取出选择集中的对象名称。
8(tblnext symboltable [T])检视符号表,有效的符号。
9(tblsearch symtab symbol)在符号表中搜寻符号。

十 、AutoCAD相关查询、控制功能函数

序号函数函数说明
1(command “AutoCAD command” …)超重量级函数,调用执行 AutoCAD命令。
2(findfile filename)该文件名的路径及文件名。
3(getfiled title default ext flags)用标准的 AutoCAD 文件对话框提示用户输入一个文件名,并返回该文件名。
4(getenv var)取得该环境变量的设定值,以字符串表示。
5(getvar var)取得该系统变量的设定值,以字符串表示。
6(setvar var value)设定该系统变量的值。
7(regapp appname)将目前的AutoCAD图形登记为一个应用程序名称。

十一、判断式、循环相关功能函数

序号函数函数说明
1(if testexpr thenexpr [elseexpr])根据对条件的判断结果,对两个表达式求值。
2(repeat int [expr…])对循环体中的每一个表达式进行指定次数的求值计算,并返回最后一个表达式的值。
3(while testexpr [expr…])对测试表达式进行求值,如果它不是 nil,则执行循环体中的表达式,重复这个过程,直到测试表达式的求值结果为 nil。
4(cond [(test result …) …])多条件、多处理结果函数。
5(progn [expr]…)顺序地对每一个表达式进行求值,并返回最后那个表达式的值。

十二、函数处理、定义、追踪与错误处理功能函数

序号函数函数说明
1(error string)可由用户定义的错误处理函数。
2(alert string)以对话框式显示出警告字符串。
3(apply ’function list)将参数表传给指定的函数。
4(defun sym ([arguments] [/ variables…]) expr…)定义函数。
5(eval expr)返回 AutoLISP 表达式的求值结果。
6(exit)强制退出目前的应用程序。
7(lambda arguments expr…)定义无名函数。
8(progn [expr]…)顺序地对每一个表达式进行求值,并返回最后那个表达式的值。
9(quit)强制退出目前的应用程序。
10(tablet code [row1 row2 row3 direction])获取和设置数字化仪校准。
11(trace [function…])调试 AutoLISP 程序时的辅助函数。
12(untrace [function…])清除指定函数的跟踪标志。

十三、显示、打印控制功能函数

序号函数函数说明
1(gfaphscr)作图环境切换到图形画面。
2(grclear)暂时清除模前的屏幕画面。
3(grdraw from to color [highlight])在当前视口中的两个点之间显示一条矢量线。
4(grread [track] [allkeys [curtype]])从 AutoCAD 的任何一种输入设备中读取数值。
5(grtext [box text [highlight]])将文本写到状态行或屏幕菜单区。
6(grvecs vlist [trans])在图形屏幕上绘制多个矢量。
7(menucmd string)发出菜单命令,或设置并检索菜单项状态。
8(prin1 [expr [file-desc]])在命令行打印一个表达式或将表达式写入已打开的文件中。
9(princ [expr [file-desc]])在命令行打印表达式,或将表达式写入已打开的文件中。
10(print [expr [file-desc]])在命令行打印表达式,或将表达式写入已打开的文件中。
11(prompt msg)在屏幕提示区显示一个字符串。
12(redraw [ename [mode]])重画当前视口或当前视口中的一个指定对象(图元)。
13(terpri)在屏幕上显示新列。
14(textscr)作图环境切换到文字画面。
15(textpage)清除文字画面文字类似 DOS的cls命令。
16(vports)窗口组态列表。

十四、符号、元素、表达式处理功能函数

序号函数函数说明
1(atom item)验证一个项是否是原子。
2(atoms-family format [symlist])返回由当前已定义的符号组成的一个表。
3(boundp sym)检验符号是否被设置为某个值。
4(minusp num)检查某个数是否是负数。
5(not item)检查一个项的求值结果是否为 nil。
6(null item)检查某项的值是否设置为 nil。
7(numberp item)检查某个项是否是实数或整数。
8(quote expr)返回表达式而不对其求值。
9(set sym expr)将引号中的符号名的值设置成一个表达式的值。
10(setq sym expr [sym expr]…)将一个或多个符号的值设置为相应表达式的值。
11(type item)返回指定项的数据类型。
12(zerop number)检查一个数的值是否为 0。

十五、ADS、ARX、AutoLISP加载与卸载函数

序号函数函数说明
1(ads)目前加载ADS程序列表。
2(arx)目前加载 ARX程序列表。
3(arxload application [onfailure])加载 ObjectARX 应用程序。
4(arxunload application [onfailure])卸载 ObjectARX 应用程序。
5(ver)返回当前 AutoLISP 版本号的字符串。
6(load filename [onfailure])加载 AutoLISP文件 (*.lsp)。

十六、内存空间管理函数

序号函数函数说明
1(alloc n-alloc)设置段长度以供 expand 函数使用。
2(expand n-expand)为 AutoLISP 分配附加空间。
3(gc)强制收集无用数据,释放不再使用的节点。
4(mem)显示 AutoLISP 内存的当前状态。
5(xdroom ename)返回对象可供使用的扩展数据 (Xdata) 空间的大小。
6(xdsize lst)返回一个表作为扩展数据连接到对象(图元)上时所占用的空间大小(以字节表示)。

十七、其它重要的功能函数

序号函数函数说明
1(acad_colordlg colornum [flag])显示标准的 AutoCAD 颜色选择对话框。
2(acad_helpdlg helpfile topic)启动帮助工具(已废弃)。
3(acad_strlsort list)以ASCII码字母顺序对字符串表进行排序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值