目 录 1
第一章引言 1
1.1计算机AutoLISP功能的检查 1
1.2解释程序与求值 4
1.2.1表达式的组成 4
1.2.2自变量与表达式的使用 5
1.3变量的使用 6
1.3.1数据类型 6
1.3.3用Setg为变量赋值 8
1.3.2原子 8
1.3.4禁止对自变量求值 9
1.3.5变量的应用 10
1.4表中单个元素的存取 12
1.5暂停一输入函数的使用 16
1.6在Get函数中使用提示信息 17
1.7小结 18
第二章程序的存贮与运行 19
2.1编制AutoLISP程序BOX 19
2.1.1准备工作 19
2.1.2 AutoLISP的文件的建立 20
2.3程序的运行 21
2.2 AutoLISP文件的装入 21
2.4 BOX程序的工作过程 22
2.5程序中变量和自变量表的用途 25
2.5.1表达式中变量的用途 25
2.5.2 自变量表 26
2.6程序的自动装入 30
2.7 AutoLISP在菜单中的使用 31
2.7.1选定程序的装入 31
2.7.2提高程序运行速度 32
2.8批命令(SCR)文件的用途 34
2.9小结 34
3.2草拟程序设计方案 35
第三章 程序的设计与组织 35
3.1程序设计的步骤 35
3.3函数的使用 36
3.4增加一个函数 38
3.5在新程序中使用现有函数 40
3.5.1三维盒子程序的建立 41
3.5.2三维楔体程序的建立 43
3.6提高程序编码的可读性 46
3.6.1使用缩排技术 46
3.6.2使用注释 48
3.7借助动态辖域从调用函数得到变量 49
3.6.3大小写字母的使用 49
3.8.1 Dos环境的建立 51
3.8 AutoLISP与内存 51
3.8.2 AutoLISP内存的设置 52
3.8.3变量名与内存 52
3.8.4清除节点空间 53
3.8.5 AutoLISP对扩充内存的使用 54
3.8.6扩充内存的调整 54
3.9小结 55
4.1提示用户输入距离 56
4.1.1如何使用GETDIST函数 56
第四章用户输入信息的提示 56
4.1.2使用GETDIST函数的程序举例 59
4.2如何得到角度 60
4.3如何接收文本输入 63
4.3.1 GETSTRING函数的使用方法 63
4.3.2 GETWORD函数的使用方法 64
4.4如何接收数值 65
4.5 如何使用INITGET函数控制用户输入 65
4.5.1不同数据类型的输入提示 66
4.5.2多关键字的设定 67
4.6如何选择一组实体 67
4.7小结 69
第五章 Auto LISP的判断功能 70
5.1如何进行条件测试 70
5.2使用IF函数 72
5.3把多个表达式组合成一个表达式 75
5.4用COND函数进行多条件测试 76
5.5部分程序的重复执行 79
5.5.1 WHILE函数的使用 80
5.5.2 REPEAT函数的使用 83
5.6测试表达式的使用方法 84
6.1求角度和距离的方法 85
第六章用三角的方法解决图形问题 85
5.7小结 85
6.1.1 ANGLE函数的使用 88
6.1.2用POLAR函数找到一个新点 92
6.2利用三角方法解决问题 93
6.2.1获取信息 93
6.2.2用三角的方法求点 97
6.3有用的几何变换函数 103
6.3.1 TRANS函数 103
6.4小结 104
6.3.5 COS函数 104
6.3.4 SIN函数 104
6.3.3 INTERS函数 104
6.3.2 ATAN函数 104
第七章文本处理 105
7.1建立一个文本编辑程序 105
7.1.1新老字符串的获得 106
7.1.2用新字符串替换老字符串 107
7.2数字与字符串的相互转换 111
7.2.1使用RTOS函数把数转换为字符串 111
7.2.2其它数据类型的转换函数 113
7.3读取ASCⅡ文件的文本输入程序 115
7.4把ASCⅡ文件写入磁盘的文本输出程序 118
7.5 AutoLISP的其它文件读写函数 120
7.6小结 121
第八章程序要对用户负责 122
8.1屏幕的读写 122
8.1.1光标的动态读取 122
8.1.2把文本写到状态区和菜单区 125
8.1.3在AutoLISP中调用菜单 127
8.1.4在图形区画临时图象 128
8.2在程序中使用缺省值 131
8.2.1在程序中加入缺省回答 131
8.2.2建立缺省值处理函数 133
8.3函数的中断处理 134
8.3.1建立一个错误检查程序 135
8.3.2组织编码以减少错误 137
8.4程序的调试 138
8.4.1程序的常见错误 138
8.4.2把变量作为调试工具 139
8.5小结 139
第九章用表来存贮数据 140
9.1用表来存贮数据 140
9.2表中数据的获取 141
9.2.1使用简单表存贮数据 141
9.2.3使用复杂表存贮数据 143
9.2.2对整个表中的数据同时进行求值 143
9.2.4利用表进行比较 146
9.3确定元素在表中的位置 147
9.3.1表的检索 147
9.3.2把表元素用作标志 150
9.4实体特征 151
9.4.1使用选择集与实体名 152
9.4.2特征表的结构 156
9.5 AutoLISP实体特征的修改 156
9.6同时得到实体名与坐标 157
10.1图形数据库的存取 158
9.7小结 158
第十章AutoCAD实体的编辑 158
10.2多实体的编辑 159
10.2.1逐个得到选择集中的实体 162
10.2.2选择集中实体的修改 162
10.3提高处理速度 163
10.3.1使用CMDE CHO提高程序处理速度 164
10.3.2直接进行数据库存取以提高处理速度 165
10.4筛选出具有某种特征的实体 168
10.4.1选择集的筛选 168
10.4.2选择具有某种特征的实体 172
10.5.1 使用TBLNEXT函数 173
10.5 AutoCAD系统表的存取 173
10.5.2 使用TBLSEARCH函数 174
10.6小结 176
第十一章AutoCAD复杂实体的存取方法 176
11.1多义线顶点的存取 176
11.1.1得到每个顶点的特征表 178
11.1.2在多义线中加入一个顶点 180
11.1.3定义新多义线 182
11.1.4画新多义线 183
11.1.5多义线类型的测试 183
11.2实体标识符与块属性的存取 184
11.1.6多义线中的圆弧是如何描述的 184
11.2.1使用实体标识符 185
11.2.2利用AutoCAD命令为实体加上标识符 185
11.2.3为实体命名 185
11.2.4实体命名程序是如何工作的 188
11.2.5属性数据的提取 189
11.3小结 190
附录A错误信息 192
附录B组码 196
B1组码表 196
B2实体类型及其组码表 197
B3组码70的位码表 198
B4组码71的位码表 199
B5组码72的编码 199
B6组码75的编码 200
附录C AutoCAD尺寸变量与系统变量 201
C1尺寸变量 201
C2系统变量 204
C2.1可调变量 204
C2.2只读变量 208
C2.3 只能通过SETVAR命令访问的变量 209