第1章Visual LISP语言概述 1
1.1 LISP语言 1
1.2 AutoLISP语言 1
1.3 Visual LISP语言 2
1.4 Visual LISP的编程环境 4
1.4.1 Visual LISP集成开发环境的界面 4
1.4.2输入和修改程序代码 6
习题 8
第2章 数据类型、表 9
2.1数据类型 9
2.1.1原子 9
2.1.2表和点对 11
2.1.3其他类型 12
2.1.4 AutoLISP的程序结构 13
2.2变量 18
2.2.1符号 18
2.2.2变量的数据类型 18
2.2.3变量赋值 19
2.2.4显示变量的值 20
2.2.5在交互方式下将变量的值传递给AutoCAD 20
2.2.6 AutoCAD的系统变量 20
习题 21
第3章AutoLISP基本函数 23
3.1数值函数 23
3.1.1计算函数 23
3.1.2布尔运算函数 27
3.1.3三角函数 28
3.1.4数值函数举例 29
3.2表处理函数 30
3.2.1提取表中数据的函数 30
3.2.2构造和修改表的函数 32
3.2.3提取并修改表中数据的函数 33
3.2.4表循环处理函数 35
3.2.5其他表处理函数 36
3.2.6表处理函数举例 36
习题 38
第4章 程序流程控制 40
4.1顺序结构 40
4.1.1 GET族输入函数 40
4.1.2图形处理函数 45
4.1.3显示控制函数 49
4.1.4举例 51
4.2分支结构 52
4.2.1判断函数 52
4.2.2条件函数 53
4.3循环函数 56
4.4函数递归定义 59
4.4.1递归的概念 59
4.4.2递归模型 59
4.4.3递归算法的程序设计 60
4.5综合举例 61
习题 75
第5章AutoLISP文件 77
5.1 AutoLISP文件的特点 77
5.2程序中的注释 78
5.3在AutoCAD环境下加载AutoLISP文件 78
5.4搜索、获得文件的函数 80
5.5打开、关闭文件的函数 81
5.6用于文件的输入输出函数 84
5.7综合举例 86
习题 87
第6章 实体和设备访问函数 89
6.1基本概念 89
6.2选择集操作函数 92
6.3实体名操作函数 97
6.4实体数据函数 99
6.5符号表的访问 108
6.6图形屏幕和输入设备的访问 110
6.7综合举例 113
6.7.1实体名和选择集在开发AutoCAD程序中的应用 113
6.7.2生成局部放大视图的简便方法 114
6.7.3求圆或圆弧中心线 117
习题 122
第7章AutoLISP实训 123
7.1设置作图环境 123
7.2设置图层、颜色、线型和线宽 126
7.3 AutoLISP程序设计的6个步骤 127
7.4 AutoLISP程序实例 127
习题 136
第8章Visual LISP基本操作 137
8.1进入和退出Visual LISP 137
8.2 Visual LISP的用户界面 137
8.3 Visual LISP的控制台操作 141
8.4 Visual LISP的文件操作 142
8.5退出Visual LISP 144
习题 144
第9章 编辑源程序代码 145
9.1文本编辑工具 145
9.2文本操作 147
9.3设置代码格式 150
9.4检查语法错误 152
习题 156
第10章 调试程序 157
10.1 Visual LISP调试功能简介 157
10.2通过实例学习调试程序 158
10.3 Visual LISP调试功能 162
10.3.1开始调试任务 163
10.3.2断点循环 163
10.3.3使用断点 164
10.4使用Visual LISP数据查看工具 166
10.4.1监视程序 167
10.4.2跟踪程序 170
10.5修改变量和函数的特性 176
10.6“检验”窗口 178
10.7访问AutoCAD对象 183
习题 186
第11章 编辑及维护AutoLISP程序 188
11.1编译链接程序 188
11.1.1 Visual LISP编译器 188
11.1.2加载运行已编译程序 190
11.1.3链接函数调用 191
11.2生成应用程序 191
11.2.1创建新应用程序 191
11.2.2加载和运行Visual LISP应用程序 196
11.2.3修改应用程序选项 196
11.2.4重新编译应用程序 197
11.2.5更新应用程序 197
11.3多文档环境下的程序设计 197
11.3.1理解命名空间 198
11.3.2查看多名称空间对函数的影响步骤 199
11.3.3运行应用程序于自身的名称空间中 199
11.3.4使文档可以访问函数 201
11.3.5查看vl-doc-export在独立名称空间VLX中的作用 201
11.3.6使用其他VLX应用程序访问独立名称空间的函数 202
11.3.7引用文档名称空间中的变量 202
11.3.8在名称空间中共享数据 202
11.3.9 MDI环境下的错误处理 203
11.3.10在自身名称空间中运行的V LX的错误处理 204
11.3.11在MDI环境下对于使用AutoLISP的限制 204
习题 205
第12章 使用ActiveX 206
12.1在AutoLISP中使用ActiveX对象 207
12.2 AutoCAD对象模型 207
12.2.1对象属性 207
12.2.2对象方法 210
12.2.3对象集合 211
12.3访问AutoCAD对象 211
12.3.1访问AutoCAD应用程序 211
12.3.2应用程序对象以下的其他ActiveX对象 212
12.3.3过程总结 212
12.3.4编程技巧 213
12.3.5在Visual LISP函数中使用ActiveX 214
12.3.6确定所需的Visual LISP函数 214
12.4 ActiveX对象访问 215
12.4.1查看对象特性 216
12.4.2访问图形对象 217
12.4.3访问其他AutoCAD对象 218
12.4.4使用检验工具了解AutoCAD对象的属性 222
12.4.5通过Help功能了解AutoCAD对象 225
12.5在Visual LISP函数中使用ActiveX方法 225
12.5.1查找所需要的函数 226
12.5.2确定函数参数 227
12.5.3将Visual BASIC环境下的语句改写为AutoLISP表达式 227
12.5.4转换数据类型为ActiveX型 228
12.6 AutoCAD实体名和VLA对象之间的转换 236
12.7修改图形对象的属性 237
12.8确定方法或属性是否适用于特定对象 238
12.9确定是否可以修改对象 239
12.10使用参数带回返回值的ActiveX方法 240
12.11使用集合对象 241
12.11.1将某一个函数应用到集合中的每一个对象 241
12.11.2将一系列函数应用到集合中的每一个对象 243
12.11.3获取集合中的成员对象 244
12.11.4释放VLA对象和释放内存 245
12.11.5处理ActiveX方法返回的错误 245
12.12举例 246
习题 247
第13章 使用反应器 249
13.1反应器基础 249
13.1.1反应器的类型 249
13.1.2反应器的回调事件 250
13.1.3反应器的回调函数 252
13.2生成反应器 255
13.2.1创建对象反应器 255
13.2.2创建其他反应器 258
13.2.3将数据附着到反应器对象 259
13.2.4在多重名称空间中使用反应器 259
13.3查询、修改和控制反应器的状态 260
13.3.1查询反应器 260
13.3.2修改反应器 262
13.3.3控制反应器的状态 264
13.4临时反应器和永久反应器 265
13.5反应器的使用规则 266
13.6定义反应器实例 267
习题 271
附录 272
附录A AutoLISP函数概要 272
附录B标准ASCII码表 283
附录C联机程序错误代码 285
参考文献 288