AutoLisp 基本函数

AutoLisp 基本函数


计算


  • +
    格式: (+ x y z ...)
    作用: x+y+z+...
  • -
    格式: (- x y z ...)
    作用: xyz...
  • *
    格式: (* x y z ...)
    作用: xyz...
  • /
    格式: (/ x y z ...)
    作用: x/y/z/...
  • 1+
    格式: (1+ x)
    作用: x+1
  • 1-
    格式: (1- x)
    作用: x1
  • abs
    格式: (abs x)
    作用: x绝对值
  • sin
    格式: (sin x y)
    作用: sin(x)
  • cos
    格式: (cos x)
    作用: cos(x)
  • atan
    格式: (atan x)
    作用: atan(x)
  • max
    格式: (max x y z ...)
    作用: x, y, z, … 中的最大值
  • min
    格式: (min x y z ...)
    作用: x, y, z, … 中的最小值
  • exp
    格式: (exp n)
    作用: en
  • expt
    格式: (expt x n)
    作用: xn
  • log
    格式: (log x)
    作用: lnx

List


  • list
    格式: (list a b c ...)
    作用: 创建列表

  • assoc
    格式: (assoc key <list<list>>)
    作用:关联表查询,它是一个元素是list的list
    NOTE: assoc 会在外层列表中遍历查找,子列表元素的第一个元素会作为键,查找过程中如果先遇到不是列表的子元素则报错“ 关联列表错误“,如果找到对应键的元素则返回该列表元素,如果没有找到对应键且没有不是列表的子元素则返回nil。

  • c(a|d){1, 4}r

car 是指取列表首元素,cdr取除首元素外的列表部分

a与d可以任意组合,只要总量不超过4。即可以是:

aaaa    aaad    aaa aada    aadd    aad aaa aad aa  adaa    adad    ada adda    addd    add ada add ad  aaa aad   aa    ada add ad  aa  ad  a   daaa    daad    daa dada    dadd    dad daa dad da  ddaa    ddad    dda ddda  dddd  ddd dda ddd dd  daa dad da  dda ddd dd  da  dd  d   aaa aad aa  ada add ad    aa    ad  a   daa dad da  dda ddd dd  da  dd  d   aa  ad  a   da  dd  d   a   d   

求值是从右向左,例如:

;(caddar, m) --> (car(cdr(cdr(car m)))) 
(setq m (list (list 2 3 4 5) 9))
(princ (caddar m))

输出结果是 4

  • last
    格式: (last <list>)
    作用: 获取列表最后一个元素

  • nth
    格式: (nth n <list>)
    作用: 获取列表第n个元素

  • cons
    格式: (cons <atom> <list|atom>)
    作用: 当第二个参数是列表,则在列表头添加新元素;当第二个参数是原子,则构建点对,点对是一个特殊的列表,使用car获取第一个元素,使用cdr可以或者第二个元素

  • reverse
    格式: (reverse <list>)
    作用: 反转列表

  • length
    格式: (length <list>)
    作用: 获取列表长度

  • subst
    格式:(subst new old <list>)
    作用:用新项替代原列表中的旧项,返回新生成的列表

CAD交互输入


  • getint
    格式: (getint "提示:")
    作用: 获取整数输入

  • getreal
    格式: (getreal"提示:")
    作用: 获取实数输入

  • getstring
    格式: (getstring"提示:")
    作用: 获取字符串输入

  • getpoint
    格式: (getpoint"提示:")
    作用: 获取点坐标值

  • getcorner
    格式: (getcorner <start point> "提示:")
    作用: 获取矩形对角点输入

  • getangle
    格式: (getangle"提示:")
    作用: 获取角度输入

输出


  • princ
    格式:(princ "hello")
    作用:输出表达式,对控制字符解释

  • prin1
    格式:(prin1 "hello")
    作用:输出表达式,不对控制字符解释

  • print
    格式:(print "hello")
    作用:输出前换行,其余如prin1

字符串操作


  • strcat
    格式:(strcat str1 str2 str3 ...)
    作用:拼接字符串

  • strcase
    格式:(strcase str [mode])
    作用:字符串转大小写,mode可以是任意表达式,mode为nil转大写,为nil转小写

  • strlen
    格式:(strlen str)
    作用:字符串长度

  • substr
    格式:(substr str <integer> <interger>)
    作用:获取子字符串,第一个整数声明起点,第二个整数声明长度

转换运算


  • itoa
    格式:(itoa <integer>)
    作用:整数转字符串

  • atoi
    格式:(atoi <string>)
    作用:字符串转整数

  • atof
    格式:(atof <string>)
    作用:字符串转实数

  • fix
    格式:(fix <number>)
    作用:数转整数

  • float
    格式:(float <number>)
    作用:数转实数

  • ascii
    格式:(ascii <string>)
    作用:获取字符串首字符的ASCII码

  • chr
    格式:(chr <integer>)
    作用:根据ASCII码转字符,返回含此字符的字符串

文件处理


  • open
    格式:(open "filepath" "mode")
    作用:打开文件,返回文件描述符

  • close
    格式:(close file)
    作用:根据文件描述符关闭文件

  • read-line
    格式:(read-line file)
    作用:从当前位置读取文件中一行,指针移到下一行首部

  • write-line
    格式:(write-line "write content" file)
    作用:将字符串写入文件中,并返回字符串

  • write-char
    格式:(write-char "c" file)
    作用:将字符写入文件中,并返回字符串

关系运算


  • =
    格式:(= atom1 atom2 atom3 ...)
    作用: atom1=atom2=atom3=... 则返回T,否则返回nil

  • /=
    格式:(= atom1 atom2 atom3 ...)
    作用: atom1atom2atom3... 则返回T,否则返回nil。
    NOTE: 不要求 atom1atom3,atom1atom4,... ,只需要保证相邻元素的关系

  • <
    格式:(< atom1 atom2 atom3 ...)
    作用: atom1<atom2<atom3<... 则返回T,否则返回nil。

  • >
    格式:(> atom1 atom2 atom3 ...)
    作用: atom1>atom2>atom3>... 则返回T,否则返回nil。

  • >=
    格式:(>= atom1 atom2 atom3 ...)
    作用: atom1atom2atom3... 则返回T,否则返回nil。

  • <=
    格式:(<= atom1 atom2 atom3 ...)
    作用: atom1atom2atom3... 则返回T,否则返回nil。

逻辑运算


  • and
    格式:(and <expr1> <expr2> <expr3> ...)
    作用:所有表达式都非nil则为真,否则为假

  • or
    格式:(or <expr1> <expr2> <expr3> ...)
    作用:有一个表达式为真则为真,否则为假

  • not
    格式:(not <expr>)
    作用:表达式为真,则返回假;表达式为假,则返回真

NOTE:T表示真,nil表示假,所有非nil的表达式都是认为是真

图形处理


  • distance
    格式:(distance <point1> <point2>)
    作用:计算两点之间的距离

  • polar
    格式:(polar <point> <angle> <distance>)
    作用:返回所求点的坐标,该点与给定点的距离为distance,该点与给定点连线与X轴的夹角为angle(弧度制)

  • angle
    格式:(angle <point1> <point2>)
    作用:给定的两点确定的直线与X轴的夹角(弧度制)

赋值


  • setq
    格式:(setq <symbol1> <expr1> <symbol2> <expr2> ...)
    作用:依次将表达式的值赋值给对应的符号

  • quote
    格式:(quote <expr>)
    简写:'<expr>
    作用:表达式不求值,返回表达式本身

Reflect


  • type
    格式:(type <var>)
    作用:获取变量类型

Command函数


调用AUTOCAD的命令

对象属性


  • entsel
    格式:(entsel "prompt:">)
    作用:选择对象
  • entlast
    格式:(entlast)
    作用:获取最后绘出的图形对象
  • entget
    格式:(entget <obj>)
    作用:获取对象定义数据,一个以组码为键的关联表
  • entmod
    格式:(entmod <list>)
    作用:修改对象的定义数据,一般先获取对象的定义数据,再修改该定义数据,则作用到该对象上了

选择集


  • ssadd
    格式:(ssadd <entity> <selectset>)
    作用:将对象添加到选择集中,或者创建新的选择集

  • ssdel
    格式:(ssdel <entity> <selectset>)
    作用:从选择集中删除指定对象

  • ssget
    格式:(ssget [sel-method] [p1 p2 ...] [point-list] [filter-list])
    作用:根据选定对象创建选择集

  • sslength
    格式:(sslength <selectset>)
    作用:获取指定选择集中的对象个数

  • ssname
    格式:(ssname <selectset> index)
    作用:根据索引号获取选择集中的对象

  • ssmemb
    格式:(ssmemb <entity> <selectset>)
    作用:判断给定对象是否在指定选择集中

表处理


符号表主要记录非图形信息。可用的符号表有:
layer、ltype、view、style、block、ucs、appid、dimstyle、vport
名字不区分大小写。

  • tblnext
    格式:(tblnext table-name)
    作用:返回符号表中下一条目,如果找到返回DXF组码与值组成的点对

  • tblobjname
    格式:(tblobjname table-name symbol)
    作用:获取指定符号表的图元名

  • tlbsearch
    格式:(tlbsearch table-name symbol)
    作用:在指定符号表中搜索符号名

  • 20
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值