AutoLisp 基本函数
AutoLisp 基本函数
计算
- +
格式:(+ x y z ...)
作用: x+y+z+...x+y+z+... - -
格式:(- x y z ...)
作用: x−y−z−...x-y-z-... - *
格式:(* x y z ...)
作用: x∗y∗z∗...x*y*z*... - /
格式:(/ x y z ...)
作用:x/y/z/... x/y/z/... - 1+
格式:(1+ x)
作用: x+1x+1 - 1-
格式:(1- x)
作用: x−1x-1 - abs
格式:(abs x)
作用: x绝对值 - sin
格式:(sin x y)
作用: sin(x)sin(x) - cos
格式:(cos x)
作用: cos(x)cos(x) - atan
格式:(atan x)
作用: atan(x)atan(x) - max
格式:(max x y z ...)
作用: x, y, z, … 中的最大值 - min
格式:(min x y z ...)
作用: x, y, z, … 中的最小值 - exp
格式:(exp n)
作用: ene^n - expt
格式:(expt x n)
作用: xnx^n - log
格式:(log x)
作用: lnxln x
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=...atom1 = atom2 = atom3 = ... 则返回T,否则返回nil/=
格式:(= atom1 atom2 atom3 ...)
作用:atom1≠atom2≠atom3≠...atom1 \neq atom2 \neq atom3 \neq ... 则返回T,否则返回nil。
NOTE: 不要求 atom1≠atom3,atom1≠atom4,...atom1 \neq atom3, atom1 \neq atom4, ...,只需要保证相邻元素的关系<
格式:(< atom1 atom2 atom3 ...)
作用:atom1<atom2<atom3<...atom1 \lt atom2 \lt atom3 \lt ... 则返回T,否则返回nil。>
格式:(> atom1 atom2 atom3 ...)
作用:atom1>atom2>atom3>...atom1 \gt atom2 \gt atom3 \gt ... 则返回T,否则返回nil。>=
格式:(>= atom1 atom2 atom3 ...)
作用:atom1≥atom2≥atom3≥...atom1 \ge atom2 \ge atom3 \ge ... 则返回T,否则返回nil。<=
格式:(<= atom1 atom2 atom3 ...)
作用:atom1≤atom2≤atom3≤...atom1 \le atom2 \le atom3 \le ... 则返回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)
作用:在指定符号表中搜索符号名
AutoLisp 基本函数相关推荐
- lisp实战文库_autolisp教程pdf
AutoCAD高级培训教程之二 AutoCAD应用开发第三部分 AutoLISP基本函数 3 AutoLISP基本函数 ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3.1 赋值函数 3.2 ...
- lisp语言1y1c,AutoLISP语言的基本函数.ppt
AutoLISP语言的基本函数.ppt 10.4.1 数值函数 数值函数用于处理整型数和实型数,数值函数包括:基本算术函数.三角函数.位操作布尔函数.数值函数的返回值类型取决于参数表中参数的数据类型. ...
- 特别行政区界线lisp_CAD 系统变量参数大全 - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - Powered by Discuz!...
本帖最后由 1291500406 于 2019-1-29 20:52 编辑 CAD 系统变量参数大全 一.数学运算功能函数 1.1(十 数值 数值-)返回:累计实数或整数数值 1.2(一 数值 数 ...
- AutoLisp学习笔记
[前言] 最近发现,做CAD二次开发的,要么是计算机相关专业的,没有CAD基础:要么是工程制图出身,不会编程.所以写了这篇博客,AutoLisp学习笔记,根据我的学习经验,旨在给没有基础的你指明学习的 ...
- Lua中的基本函数库
基本函数库为Lua内置的函数库,不需要额外装载 assert (v [, message]) 功能:相当于C的断言, 参数: v:当表达式v为nil或false将触发错误, message:发生错误时 ...
- stdio.h头文件中申明的基本函数
stdio.h头文件中申明的基本函数 调用scanf函数时,需传入变量的地址作为参数,scanf函数会等待标准输入设备(键盘等)输入数据,并且将输入的数据赋值给地址对应的变量. #include< ...
- sqlite3 多线程 c语言,sqlite3 c语言编程 之 三个基本函数
sqlite3 编程只需要一个头文件与一个库文件,安装请看 sqlite3 在linux系统上的安装/* filename: insert.c */ #include #include int mai ...
- matlab函数isempty_matlab基本函数inf, isempty, round, floor, fix
一起来学演化计算-matlab基本函数inf, isempty, round, floor ,fix 觉得有用的话,欢迎一起讨论相互学习~ inf matlab中 inf无穷大量+∞,-inf为无穷小 ...
- 计算机的命令函数,数学建模的常用的命令和基本函数..doc
数学建模的常用的命令和基本函数. 上次作业: 利用Matlab帮助系统查询特殊矩阵函数zeros,并输出2行3列.3行3列这样的矩阵. 一.Matlab6.5的常用的命令和技巧: 常用的命令 表1 M ...
最新文章
- RoIPooling
- android5.1 init对rc文件解析执行顺序
- 【线段树】FREQUENT - Frequent values(luogu-SP1684 / poj 3368)
- python桌面翻译_Python实现桌面翻译工具【新手必学】
- 微信能远程控制电脑吗_神器分享:用微信就能远程控制电脑,这款神器有些厉害...
- html 只能输入正数,vue 限制input只能输入正数
- 黑鲨游戏手机二代再曝新特性 “操控之王”带来全新体验
- scrapy 入门案例
- 首款“印度制造”的微处理器 AJIT 面世!
- Java新手学习路线
- SSLRobot:适用于HttpWatch的免费SSL / TLS测试工具
- ubuntu16.04开机只显示桌面背景鼠标解决方法
- 896.Montonic Array - LeetCode
- java 贪吃蛇 源码+图片
- 制作WIN7、WINPE2003、Ubuntu、dos工具箱多启动U盘
- window常用设置和命令
- 树莓派python脚本开机自启动设置
- mysql 建表 game_RPG游戏数据库设计
- 用C语言程序求两个正整数的最大公约数
- 【夜读】一个人保持年轻的5个好习惯
热门文章
- Android Accept-Encoding为gzip,deflate Http请求返回的结果为乱码
- 手把手教你用Smartbi制作:常用报表之分栏报表
- OSCP-Sirol(Kibana、docker容器到宿主机)
- RS485通信总线详解
- 操作系统--内存管理
- 开源免费WMS仓库管理系统【推荐】
- “四核”驱动的“三维”导航 -- 淘宝新UI(需求分析篇)
- java里面赋值运算符解释_Java语言中,赋值运算符是双目运算符。
- Class文件结构介绍[访问标志,类索引,父类索引,接口索引集合]
- SVPWM 三相逆变器电压空间矢量调制 初入门