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 基本函数相关推荐

  1. lisp实战文库_autolisp教程pdf

    AutoCAD高级培训教程之二 AutoCAD应用开发第三部分 AutoLISP基本函数 3 AutoLISP基本函数 ? ? ? ? ? ? ? ? ? ? ? ? ? ? 3.1 赋值函数 3.2 ...

  2. lisp语言1y1c,AutoLISP语言的基本函数.ppt

    AutoLISP语言的基本函数.ppt 10.4.1 数值函数 数值函数用于处理整型数和实型数,数值函数包括:基本算术函数.三角函数.位操作布尔函数.数值函数的返回值类型取决于参数表中参数的数据类型. ...

  3. 特别行政区界线lisp_CAD 系统变量参数大全 - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - Powered by Discuz!...

    本帖最后由 1291500406 于 2019-1-29 20:52 编辑 CAD 系统变量参数大全 一.数学运算功能函数 1.1(十  数值 数值-)返回:累计实数或整数数值 1.2(一  数值 数 ...

  4. AutoLisp学习笔记

    [前言] 最近发现,做CAD二次开发的,要么是计算机相关专业的,没有CAD基础:要么是工程制图出身,不会编程.所以写了这篇博客,AutoLisp学习笔记,根据我的学习经验,旨在给没有基础的你指明学习的 ...

  5. Lua中的基本函数库

    基本函数库为Lua内置的函数库,不需要额外装载 assert (v [, message]) 功能:相当于C的断言, 参数: v:当表达式v为nil或false将触发错误, message:发生错误时 ...

  6. stdio.h头文件中申明的基本函数

    stdio.h头文件中申明的基本函数 调用scanf函数时,需传入变量的地址作为参数,scanf函数会等待标准输入设备(键盘等)输入数据,并且将输入的数据赋值给地址对应的变量. #include< ...

  7. sqlite3 多线程 c语言,sqlite3 c语言编程 之 三个基本函数

    sqlite3 编程只需要一个头文件与一个库文件,安装请看 sqlite3 在linux系统上的安装/* filename: insert.c */ #include #include int mai ...

  8. matlab函数isempty_matlab基本函数inf, isempty, round, floor, fix

    一起来学演化计算-matlab基本函数inf, isempty, round, floor ,fix 觉得有用的话,欢迎一起讨论相互学习~ inf matlab中 inf无穷大量+∞,-inf为无穷小 ...

  9. 计算机的命令函数,数学建模的常用的命令和基本函数..doc

    数学建模的常用的命令和基本函数. 上次作业: 利用Matlab帮助系统查询特殊矩阵函数zeros,并输出2行3列.3行3列这样的矩阵. 一.Matlab6.5的常用的命令和技巧: 常用的命令 表1 M ...

最新文章

  1. RoIPooling
  2. android5.1 init对rc文件解析执行顺序
  3. 【线段树】FREQUENT - Frequent values(luogu-SP1684 / poj 3368)
  4. python桌面翻译_Python实现桌面翻译工具【新手必学】
  5. 微信能远程控制电脑吗_神器分享:用微信就能远程控制电脑,这款神器有些厉害...
  6. html 只能输入正数,vue 限制input只能输入正数
  7. 黑鲨游戏手机二代再曝新特性 “操控之王”带来全新体验
  8. scrapy 入门案例
  9. 首款“印度制造”的微处理器 AJIT 面世!
  10. Java新手学习路线
  11. SSLRobot:适用于HttpWatch的免费SSL / TLS测试工具
  12. ubuntu16.04开机只显示桌面背景鼠标解决方法
  13. 896.Montonic Array - LeetCode
  14. java 贪吃蛇 源码+图片
  15. 制作WIN7、WINPE2003、Ubuntu、dos工具箱多启动U盘
  16. window常用设置和命令
  17. 树莓派python脚本开机自启动设置
  18. mysql 建表 game_RPG游戏数据库设计
  19. 用C语言程序求两个正整数的最大公约数
  20. 【夜读】一个人保持年轻的5个好习惯

热门文章

  1. Android Accept-Encoding为gzip,deflate Http请求返回的结果为乱码
  2. 手把手教你用Smartbi制作:常用报表之分栏报表
  3. OSCP-Sirol(Kibana、docker容器到宿主机)
  4. RS485通信总线详解
  5. 操作系统--内存管理
  6. 开源免费WMS仓库管理系统【推荐】
  7. “四核”驱动的“三维”导航 -- 淘宝新UI(需求分析篇)
  8. java里面赋值运算符解释_Java语言中,赋值运算符是双目运算符。
  9. Class文件结构介绍[访问标志,类索引,父类索引,接口索引集合]
  10. SVPWM 三相逆变器电压空间矢量调制 初入门