一般的,用方括号[ ]
包围的变量都是可有可无的。
1. 数学运算函数
函数 |
返回值 |
备注 |
(+ 数值1 数值2 …) |
累计实数或整数数值 |
一个或多个参数 |
(- 数值1 数值2 …) |
第一个数值减去第二个及以后数值的差 |
一个或多个参数 |
(* 数值1 数值2 …) |
所有数值乘积 |
一个或多个参数 |
(/ 数值1 数值2 …) |
第一个数值除以第二个以后数值的商 |
一个或多个参数 |
(l+ 数值) |
数值+l |
- |
(1- 数值) |
数值-l |
- |
(abs 数值) |
数值的绝对值 |
- |
(atan 数值1 [数值2]) |
反正切值 |
可以有两个参数 |
(cos 角度) |
角度的余弦值 |
角度值为弧度 |
(exp 数值) |
自然常数 e 为底的指数 |
e 的值约为 2.71828 |
(expt 底数 指数) |
底数的指数值 |
- |
(fix 数值) |
将数值转换为整数值 |
直接忽略小数部分 |
(float数值) |
将数值转换为实数值 |
- |
(gcd 数值1 数值2) |
两数值的最大公因数 |
|
(log 数值) |
数值的自然对数值 |
- |
(max 数值1 数值2 …) |
数值中的最大值 |
- |
(min 数值1 数值2 …) |
数值中的最小值 |
- |
pi |
常数 π,不是函数,使用时不用加括号 |
其值约为3.141593 |
(rem 数值1 数值2) |
数值 1 除以数值 2 得到余数 |
余数的正负与被除数相同 |
(sin 角度) |
角度的正弦值 |
角度值为弧度 |
(sqrt 数值) |
数值的平方根 |
平方根为非负 |
AutoLisp 语言支持的三角函数只有两个:正弦和余弦;支持的反三角函数只有一个:反正切。(不知道对不对,我暂时没发现别的。)
2. 检验与逻辑函数
函数 |
返回值 |
备注 |
(= 表达式1 表达式2 ...) |
比较表达式是否全部都相同,适用数值及字符串 |
- |
(/= 表达式1 表达式2 ...) |
比较表达式是否全部都不同 |
- |
(< 表达式1 表达式2 ...) |
比较表达式是否严格递增 |
- |
(<= 表达式1 表达式2 ...) |
比较表达式是否递不减 |
- |
(> 表达式1 表达式2 ...) |
比较表达式是否严格递减 |
- |
(>= 表达式1 表达式2 ...) |
比较表达式是否递不增 |
- |
(~ 数值) |
数值的位 not 值 |
1 的补码 |
(and 表达式1 表达式2…) |
逻辑 and 的结果 |
- |
(boole 函数 整数 整数…) |
位式布尔运算 |
- |
(eq 表达式1 表达式2) |
比较表达式 1 与表达式 2 是否相同,适用列表比较 |
- |
(equal 表达式1 表达式2 [差量]) |
比较表达式 1 与表达式 2 是否相同,差量可省略 |
- |
对于检验函数,若表达式为真,则返回T
;反之,则返回nil
。
3.转换运算函数
函数 |
返回值 |
备注 |
(angtof 字符串 [模式]) |
角度值的字符串转成实数 |
返回弧度值 |
(angtos 角度 [模式] [精度] ) |
角度转成的字符串值 |
- |
(atof 字符串) |
字符串转成实数值 |
- |
(atoi 字符串) |
字符串转成整数值 |
忽略小数位 |
(cvunit 数值原始单位 转换单位) |
数值换算单位后的值 |
转换根据 acad.unt 文件 |
(distof 字符串 [模式]) |
根据模式将字符串转成实数值 |
- |
(itoa 整数) |
整数转成字符串 |
- |
(rtos 数值模式 [精度]) |
实数转成字符串 |
- |
(trans 点 原位置 新位置 [位移]) |
转换坐标系统值 |
- |
4.表处理函数
函数 |
返回值 |
备注 |
(append 表1 表2 ...) |
结合所有表成一个表 |
- |
(assoc 关键元素 联合表) |
根据关键元素找寻联合表中关系信息 |
- |
(car 表) |
表中的第一个元素,通常用来求 X 坐标 |
- |
(cadr 表) |
表中的第二个元素,通常用来求 y 坐标 |
- |
(caddr 表) |
表中的第三个元素,通常用来求 Z 坐标 |
- |
(cdr 表) |
除去第一个元素后的表 |
- |
(cons 新元素 表) |
将新元素添加到表 |
- |
(foreach 名称 表 表达式) |
将表的每一元素对应至名称再根据表达式执行响应 |
- |
(length 表) |
表内的元素数量 |
- |
(list 元素 元素 ...) |
将所有元素合并为一表 |
- |
(listp 元素) |
判断元素是否为一串 |
- |
(mapcar 函数 表1 表2 …) |
将表 1、表 2 表的元素配合函数,求得新表 |
- |
(member 关键元素 表) |
关键元素(含)以后的表 |
- |
(nth n 表) |
表的第 n 个元素 |
- |
(reverse 表) |
将表元素根据顺序颠倒过来的表 |
- |
(subst 新项 旧项 表) |
替换新旧表后的表 |
- |
5.字符串、字符、文件处理函数
函数 |
返回值 |
备注 |
(ascii 字符串) |
字符串第一个字符的 ASCII 码 |
- |
(chr 整数) |
整数所对应的 ASCII 单一字符串 |
- |
(close 文件名称) |
关闭文件 |
- |
(open 文件名 模式) |
打开文件代码,准备读取或写入信息 |
- |
(read 字符串) |
列表中的字符串的第一组元素 |
- |
(read-char [文件路径]) |
通过键盘或文件中读取单一字符 |
- |
(read-line [文件路径]) |
经由键盘或文件中读取一行字符串 |
- |
(strcase 字符串 [字样]) |
字符串大小写, [字样]为 T,小写;忽略,大写 |
- |
(strcat 字符串1 字符串2 …) |
将各字符串合并为一个字符串 |
- |
(strlen 字符串) |
字符串构成的字符数(即长度) |
- |
(substr 字符串 起始 长度) |
取出于字符串 |
- |
(wcmatch 字符串 格式) |
T 或 nil,将字符串与通用字符进行比较 |
- |
(write-char 数值 [文件路径]) |
将一 ASCII 字符写到文件或屏幕 |
- |
(write-line 字符串 [文件路径]) |
将字符串写到文件或屏幕上 |
- |
6. 等待输入函数
函数 |
返回值 |
(getangle [基点] [提示]) |
请求输入十进制角度数值,响应一个弧度值。提示及参考点可选 |
(getcorner 基点 [提示]) |
请求输入另一矩形框对角点坐标 |
(getdist [基点] [提示]) |
请求输入一段距离 |
(getint [提示]) |
请求输入一个整数值 |
(getkword [提示] ) |
请求输入“关键词” |
(getorient [基点] [提示]) |
请求输入十进制角度,响应一弧度值不受 angbase、angdir 影响 |
(getpoint [基点] [提示]) |
请求输入一个点的坐标 |
(getreal [提示]) |
请求输入一个实数 |
(getstring [提示]) |
请求输入一个字符串 |
(initget [位] 字符串) |
设定下次 getxxx 函数的有效输入 |
7. 几何运算函数
函数 |
返回值 |
(angle 点1 点2) |
取得两点的角度弧度值 |
(distance 点1 点2) |
取得两点的距离 |
(inters 点1 点2 点3 点4[模式]) |
取得两条线的交点 |
(osnap 点 模式字符串) |
按照捕捉模式取得另一坐标点 |
(polar 基点 弧度 距离) |
按照极坐标法取得另一坐标点 |
(textbox 对象列表) |
取得文字对象的两个对角点坐标 |
8. 对象处理函数
函数 |
返回值 |
(entdel 对象名称) |
删除或取消删除对象 |
(entget 对象名称[应用程序列表]) |
取出对象名称的信息列表 |
(entlast) |
取出图形信息中的最后一个对象 |
(entmake 对象列表) |
建立一个新的对象列表 |
(entmod 对象列表) |
根据更新的信息列表更新屏幕上元体 |
(entnext [对象名称]) |
找寻图面中的下一个对象 |
(entsel [提示]) |
请求选取一个对象,响应包含对象名称及选点坐标的列表; |
(entupd 对象名称) |
更新屏幕上复元体图形 |
(handent 图码) |
返回:图码的元体名称 |
(nentsel [提示]) |
返回:BLOCK 所含副元体对象信息列表 |
(nentselp [提示] [点]) |
返回:BLOCK 所含副元体对象信息(以 4x4 矩形表示) |
9. 选择集、符号表处理函数
函数 |
返回值 |
(ssadd [对象名称] [选择集]) |
将对象加入选择集或建立一新选择集 |
(ssdel 对象名称 选择集) |
将对象自选择集中移出 |
(ssget [模式] [点1] [点2]) |
取得一个选择集 |
(ssget "X" [过滤列表]) |
取得根据过滤列表所指定范围的选择集 |
(sslenth 选择集) |
计算选择集的对象个数 |
(ssmemb 对象名称 选择集) |
响应对象名称是否包含于选择集内 |
(ssname 选择集 索引值) |
根据索引值取出选择集中的对象名称 |
(tblnext 符号表名称 [T]) |
检视符号表,有效的符号表:"LAYER" "LTYPE" "VIEW" "STYLE" "BLOCK" |
(tblsearch 符号表名称 符号) |
在符号表中搜寻符号 |
10. AutoCAD 相关查询、控制函数
函数 |
返回值 |
(command "AutoCAD命令" …) |
超重量级函数,调用执行 AutoCAD 命令 |
(findfile 文件名) |
返回:该文件名的路径及文件名 |
(getfiled 标题 内定档名 扩展名 旗号) |
通过标准 AutoCAD 文件对话 DCL 对话框获得文件 |
(getenv "环境变量") |
取得该环境变量的设定值,以字符串表示 |
(getvar "系统变量") |
取得该系统变量的设定值,以字符串表示 |
(setvar "系统变量" "值") |
设定该系统变量的值 |
(regapp 应用类项) |
将目前的 AutoCAD 图形登记为一个应用程序名称 |
11. 判断式、循环相关函数
函数 |
返回值 |
(if <比较式> <表达式1> [表达式2]) |
比较式结果为真,执行<表达式1> ,否则执行<表达式2> |
(repeat 次数 <表达式> ...) |
重复执行 N 次<表达式> ... |
(while <比较式> <表达式> ...) |
当条件成立则执行表达式内容 |
(cond <比较式1> <表达式1> <比较式2> <表达式2> ...) |
多条件式的 if |
(progn <表达式1> ...) |
连接其中的表达式为一组,常配合 if、cond 等函数 |
12. 函数处理、定义、追踪和错误处理函数
函数 |
返回值 |
(*error* 字符串) |
程序错误时的警示信息 |
(alert 字符串) |
以对话框式显示出警告字符串 |
(apply 功能函数 列表) |
将功能函数与列表结合后执行 |
(defun 名称 自变量列表 表达式) |
自定函数或子程序 |
(eval 表达式) |
表达式的执行结果 |
(exit) |
强制退出目前的应用程序 |
(lambda 自变量 表达式) |
定义匿名的函数 |
(progn 表达式1 表达式2 …) |
连接其内的表达式为一组,常用于配合 if、cond 等函数 |
(quit) |
强制退出目前的应用程序 |
(tablet 代码 [列1 列2 列3 方向]) |
取用或建立对数字化仪的校调 |
(trace 函数 …) |
对函数设定追踪标记,辅助检错 |
(untrace 函数 …) |
对函数设定解除追踪标记 |
13. 显示、打印控制函数
函数 |
返回值 |
(gfaphscr) |
作图环境切换到图形画面 |
(grclear) |
暂时清除模前的屏幕画面 |
(grdraw 起点 终点 颜色 [亮显]) |
暂时性的画出一条线 |
(grread [追踪]) |
由输入设备读取追踪值 |
(grtext 位置 字符串 [亮显]) |
将字符串显示在状态列或屏幕菜单上 |
(grvecs 向量列表 [转置矩阵]) |
暂时性的画出多条线 |
(menucmd 字符串) |
;提供在 AlltOLISP 中调用各菜单 |
(prin1 [表达式 [文件代码]]) |
将表达式打印于命令区或已打开的文件句柄字符则以“\”为前缀展开 |
(pinc [表达式 [文件代码]]) |
除句柄字符则不以”\”为前缀展外开其余同 Prinl |
(print [表达式 [文件代码]]) |
除表达式会往下一新行列出,及空一格外其余同 prinl |
(prompt 信息) |
将信息显示于屏幕的命令区,并随后响应一个 nil 信息 |
(redraw [对象名称 [模式]]) |
重绘整张图或根据对象名称重绘该图形 |
(terpri) |
在屏幕上显示新列 |
(textscr) |
作图环境切换到文字画面 |
(textpage) |
清除文字画面文字类似 DOS 的 cls 命令 |
(vports) |
窗口组态列表 |
14. 符号、元素、表达式处理函数
函数 |
返回值 |
(atom 元素) |
如果元素不是列表,返回 T,否则为 nil |
(atoms-family 格式 [符号号列表]) |
一组己定义函数的符号列表 |
(boundp 表达式) |
T 或 nil,响应表达式是否有值存在 |
(minusp 元素) |
判定元素是否为负值 |
(not 元素) |
判定元素是否为 nil |
(null 元素) |
判定元素是否被赋予 nil 值 |
(numberp 元素) |
判定元素是否为整数或实数 |
(quote 表达式) |
响应表达式未检算前状态,同' 功能 |
(set 符号 表达式) |
将表达式结果设定给带单引号’符号 |
(setq 符号1 表达式1 [符号2 表达式2] …) |
设定表达式结果给各符号 |
(type 元素) |
元素的信息型态 |
(zerop 元素) |
判定元素是否为 0 值 |
15. ADS、ARX、AutoLISP 加载与卸载函数
函数 |
返回值 |
(ads) |
目前加载 ADS 程序列表 |
(arx) |
目前加载 ARX 程序列表 |
(arxload 应用程序 [出错处理])) |
加载 ARX 程序 |
(arxunload 应用程序 [出错处理])) |
卸载 ARX 程序 |
(ver) |
目前 AutoLISP 版本字符串 |
(load LSP文件名 [加载失败]) |
加载 AutoLISP 文件(*.lsp) |
(xload 应用程序 [错处理]) |
加载 ADS 应用程序 |
(xunload 应用程序 [出错处理]) |
卸载 ADS 应用程序 |
作者:吴吉光
链接:https://www.jianshu.com/p/067ea05a425c
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
作者:吴吉光
链接:https://www.jianshu.com/p/57578dc48f11
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
作者:吴吉光
链接:https://www.jianshu.com/p/41fd1a86939a
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。