第1章 AutoCAD程序设计概论 1
1.1 AutoLISP概论 2
1.2 AutoCAD的开发程序历史 2
1.3 Visual LISP与AutoLISP的关系 3
1.4 VBA概论 5
课后习题 7
第2章 Hello World! 9
2.1 Visual LISP的界面 10
2.2 VBA的界面 16
2.3.1 AutoLISP/VLISP程序的编写与执行部分 25
2.3 Hello World!程序初步(AutoLISP与Visual LISP) 25
2.3.2 Visual LISP程序的编译部分 28
2.4 Hello World!程序初步(VBA) 30
2.4.1 VBA程序的编写与执行部分 31
2.4.2 VBA程序的加密部分 33
2.5 重要的环境设定 35
2.6 程序里的路径指向问题解决方案 36
课后习题 38
第3章 程序的数据类型与变量的声明 41
3.1 数据类型 42
3.1.1 Visual LISP的数据类型 42
3.1.2 VBA的数据类型 45
3.2.1 Visual LISP的变量声明 47
3.2 变量声明 47
3.2.2 VBA的变量声明 48
3.3 函数 51
3.3.1 Visual LISP的函数 51
3.3.2 VBA的函数与过程 53
3.4 变量的作用范围与生命期 54
3.4.1 Visual LISP的局部变量与整体变量 55
3.4.2 VBA的模块级变量与过程级变量 56
3.4.3 VBA的静态变量 58
课后习题 59
第4章 高级语言的运算符与表达式 63
4.1 Visual LISP的运算符 64
4.2 Visual LISP表达式前缀表示法 65
4.3 Visual LISP赋值表达式 65
4.4 VBA的运算符与表达式 69
4.5 VBA的表达式范例 70
课后习题 72
第5章 程序里的IO控制 75
5.1 输出函数部分 76
5.1.1 用于屏幕和文件输出的Visual LISP函数 76
5.1.2 仅用于屏幕输出的Visual LISP函数 76
5.1.3 用于屏幕输出的VBA函数——prompt 77
5.1.4 用于文件输出的VBA函数——print、write与writeline 77
5.2 输入函数部分 78
5.2.1 Visual LISP的输入函数——Get系列函数 78
5.1.5 MsgBox方法 78
5.2.2 Visual LISP的文件与键盘输入函数 80
5.2.3 VBA的输入函数——使用Utility对象的Get系列方法 80
5.2.4 VBA的文件与健盘输入函数——Read与ReadLine 82
5.2.5 InputBox方法 83
课后习题 84
第6章 判断式 87
6.1 Visual LISP的if判断式 88
6.2 Visual LISP的cond判断式 89
6.3 Visual LISP的嵌套判断式 90
6.4.1 单选的if语法 91
6.4 VBA的if判断式 91
6.4.2 多选的if语法 92
6.5 VBA的Select Case判断式 93
6.6 VBA的嵌套判断式 94
课后习题 95
第7章 循环 99
7.1 Visual LISP的循环控制函数 100
7.1.1 while循环 100
7.1.2 repeat循环 102
7.1.3 foreach函数 104
7.1.4 mapcar函数 104
7.2 VBA的循环控制函数 105
7.2.1 do...loop循环 105
7.2.2 for...next循环 106
7.2.3 while...wend循环 107
7.2.4 for each...next循环 108
7.2.5 exit函数 108
课后习题 109
第8章 表与数组 115
8.1 Visual LISP的数组功能 116
8.2 Visual LISP的表处理函数 117
8.2.1 car,cdr类函数 117
8.2.2 nth函数 117
8.2.6 subst函数 118
8.2.5 cons函数 118
8.2.4 list函数 118
8.2.3 last函数 118
8.2.7 append函数 119
8.2.8 关联表与assoc函数 119
8.3 VBA的数组功能 124
8.3.1 一维数组 124
8.3.2 多维数组 125
8.3.3 动态数组 125
课后习题 127
第9章 字符串 129
9.1 Visual LISP的字符串处理函数 130
9.1.1 字符串大小写转换函数——strcase 130
9.1.2 测量字符串长度的函数——strlen 130
9.1.3 数字与字符串互换函数itoa、atoi、atof、rtos与angtos 131
9.1.4 字符与ASCII码互换函数——ascii与chr 133
9.1.5 字符串连接函数——strcat 133
9.1.6 字符串提取函数——substr 134
9.1.7 字符串匹配函数——wcmatch 134
9.1.8 将字符串转换成表或原子的函数——read 135
9.2 VBA的字符串处理函数 135
9.2.1 字符串大小写转换函数——lcase与ucase 136
9.2.2 测量字符串长度函数——len 136
9.2.3 数字与字符串互换函数——val与str$ 137
9.2.4 字符与ASCII码互换函数——asc与chr$ 137
课后习题 138
9.2.5 字符串提取函数——mid$、left$与right$ 138
第10章 文件操作 141
10.1 Visual LISP的文件打开函数——open 142
10.2 Visual LISP的文件关闭函数——close 143
10.3 VBA的文件打开函数——open 146
10.4 VBA的文件关闭函数——close 147
10.5 文件系统对象(File System Object) 148
10.5.1 FSO的原理 148
10.5.2 使用FSO和TextStream对象来执行文件操作范例 149
课后习题 150
第11章 对象 153
11.1.3 对象的事件 154
11.1.2 对象的方法 154
11.1.1 对象的属性 154
11.1 AutoCAD对象模型 154
11.1.4 对象的集合 155
11.1.5 对象的使用 155
11.1.6 AutoCAD的对象结构 155
11.2 在Visual LISP中使用ActiveX对象 157
11.2.1 ActiveX对象的分类 157
11.2.2 如何调用Visual LISP所提供的ActiveX函数 158
11.3 Visual LISP中的ActiveX变量 162
11.3.1 安全数组 162
11.3.2 变量的转换 163
11.3.3 变体(Variant) 164
11.4.1 提取对象的属性 168
11.4 提取及设定对象的属性 168
11.4.2 设定对象属性 169
11.4.3 判断对象是否可以存取 170
11.4.4 使用变量来储存ActiveX函数的返回值 170
11.4.5 列出对象的属性及方法 172
11.4.6 判断对象的方法或属性是否可用 175
11.4.7 使用对象集合 176
11.4.8 取出对象集合中的对象 176
11.4.9 将对象从内存中释放 177
11.4.10 对象数据转换 178
课后习题 179
第12章 选集 183
12.1 用Auto LISP传统的方法改色 184
12.2 以Visual LISP+ActiveX的方法改色 184
12.3 用VBA程序改色 186
课后习题 187
第13章 程序设计的接口 191
13.1 软件设计的接口类型 192
13.2 简单的传统型人机接口范例 192
13.3 交谈式的人机接口范例 195
13.3.1 配合VLISP所使用的DCL语言 196
13.3.2 VBA的做法 223
13.4.1 参数化设计技术 246
13.4 参数设计法 246
13.4.2 参数化编程原理 247
13.4.3 参数化程序处理步骤 249
13.4.4 参数化图形数据库 250
课后习题 251
第14章 4个Visual LISP的程序设计范例 253
14.1 油杯的绘制 254
14.2 轴承的绘制 276
14.3 螺帽的绘制 290
14.4 跟着圆一起“动”的圆中心线 300
课后习题 308
第15章 4个VBA程序设计范例 311
15.2 绘制螺栓 312
15.1 前言 312
15.3 绘制销 327
15.4 立体Flange 338
15.5 数据库的结合应用 341
15.5.1 与螺栓数据库结合的范例 342
15.5.2 数据库的设定 372
课后习题 373
第16章 将程序调用加入菜单文件中的方法 375
16.1 加载希望——进入AutoCAD就能自动加载的程序 376
16.2 调用执行AutoLISP/VLISP程序 377
16.3 调用执行VBA程序 378
16.4 自设的调用功能 380
课后习题 381
附录A 群组代码值信息、AutoLISP/Visual LISP与VBA的函数语法查询操作 383
A.1 前言 384
A.2 AutoLISP/Visual LISP的函数语法查询操作 385
A.3 VBA的函数语法查询操作 386
附录B 其他辅助程序资源与相关探讨网站信息 387
B.1 免费下载的LISP/VLISP/VBA程序与工具 388
B.2 相关的讨论与咨询网站资源 388
附录C 本书所附的范例光盘使用指南 391
C.1 范例的复制部分 392
C.2 辅助教学部分 395
附录D 本书习题解答的下载方式说明 397