AutoLisp中常见的函数(1)

一般的,用方括号[ ]包围的变量都是可有可无的。

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


转换运算函数

函数 返回值 备注
(angtof 字符串 [模式]) 角度值的字符串转成实数 返回弧度值
(angtos 角度 [模式] [精度] ) 角度转成的字符串值 -
(atof 字符串) 字符串转成实数值 -
(atoi 字符串) 字符串转成整数值 忽略小数位
(cvunit 数值原始单位 转换单位) 数值换算单位后的值 转换根据acad.unt文件
(distof 字符串 [模式]) 根据模式将字符串转成实数值 -
(itoa 整数) 整数转成字符串 -
(rtos 数值模式 [精度]) 实数转成字符串 -
(trans 点 原位置 新位置 [位移]) 转换坐标系统值 -

表处理函数

函数 返回值 备注
(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 新项 旧项 表) 替换新旧表后的表 -

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

函数 返回值 备注
(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 字符串 [文件路径]) 将字符串写到文件或屏幕上 -

你可能感兴趣的:(AutoLisp中常见的函数(1))