cad_lisp基础教程
Lisp 基础知识
一.基本知识1
二、数值资料5
三、程序设计 11
四、流程控制 16
五、输入输出23
六、字符串资料31
七、串行资料36
八、图元资料42
九、选集资料52
十、常用函数 1 58
十一常、用函数2 67
十二、档案处理78
十三、符号处理85
十四、下拉式表90
十五、影象功能98
十六、工具列 106
十七、线性填充 113
十八、脚本档案 118
一.基本知识
第1 节
基本知识
AutoLISP 是一种针对扩充及自订 AutoCAD 函数机能而产生,以LISP 为基础的程序设计语
言.LISP 本身于50年代末期出现,是一种擅于处理串行文字(List of Processing),属第四代「人
工智能(Artificial Intelligence)」的计算机语言.
目的是令使用者充份利用AutoCAD 进行开发,直接增加及修改AutoCAD 指令.
AutoLisp 语言建基于普通的LISP 语言上,并扩充了许多适用于CAD 的特殊功能而形成.
是一种能以直译方式(不须先行编译)亦可于AutoCAD 内部执行的直译性程序语言.
程序容易学习及撰写,程序即使出错亦不会对操作系统(如DOS,WINDOWS)有不良影响.
数据及程序均统一以串行 (List)结构表示.
可直接调用几乎全部的AutoCAD 命令.
既具备一般高级语言的基本结构和功能,亦有一般高级语言没有的强大图形处理能力.
内建于AutoCAD 应用程序,不须另行购买;亦不须使用特定的编辑器或开发环境.
可配合AutoCAD 提供的PDB,建立DCL(Dialog Control Language)文件创建对话框.
缺点 : 执行速度较ObjectArx(旧称ARX,以C或C++程序开发,取代以前的ADS)程序慢;
原程序不易保护;对低阶的硬件数据不易存取.
第2 节
函数 (Function)
在 AutoLISP 程序语言中所有的成份都是以函数的形式出现,AutoLISP 程序就是顺序执行
连串的函数.函数的运行过程就是对函数的求值(结果)过程;函数的基本语法如下:
(函数名称 参数1 参数2)
e.g. (PRINC "AutoLISP Programming")
每一个完整的函数必须包在一对小括号( )内,左边为开括号,右边为关括号;如有若干
数量的开括号,则一定有同等数量的关括号对应.
左边开括号后紧随函数名称.
函数名称与参数之间,或参数与参数之间须最少留一个空格.
1
函数可有一个或多个参数(也可能没有参数),视该函数而定.
函数名称不分大小写,即大小写字母视为相同.
第3 节
数据型态 (Data Type)
整数 (INT)
没有小数字的数值,32 位有号数,范围从+2,147,483,647 到-2,147,483,648
实数 (REAL)
带小数字的数值,以倍精度浮点格式储存(最少14位小数) e.g. 12.5
当数值在1 与-1 之间时,必须加上前导零 e.g. 0.05
可以科学记号表示 : 在E 或e 后加上次方值 e.g. 4.1e-6
字符串 (STR)
一般文字,其前后必须加上双引号 " e.g. "AutoCAD"
控制字符或脱逸码必须为小写,且须在字符前加上反斜线 \ e.g. "\AutoCAD"
像素名称 (ENAME)
是指定给图文件内对象的指针(Pointer,为16 进位的数字卷标)
e.g.
像素名称在图文件内是唯一的,不会重复
对象的像素名称只在目前作业中有效,再开启图档时,会指定新的像素名称予该对象
档案 (FILE)