第一章 Visual LISP简介 1
1.1 AutoLISP和Visual LISP的关系 1
1.2 Visual LISP提供的新功能 2
1.3 安装Visual LISP 3
1.4 启动Visual LISP 5
1.5 熟悉Visual LISP用户界面 6
1.5.1 菜单概述 8
1.5.2 控制台窗口 11
1.5.3 文本编辑器概述 12
1.5.4 加载并运行AutoLISP应用程序 13
1.5.5 退出Visual LISP环境 14
第二章 AutoLISP基础 16
2.1 AutoLISP表达式 16
2.1.1 AutoLISP数据类型 17
2.1.2 AutoLISP函数语法 20
2.2 AutoLISP程序文件 20
2.2.1 格式化AutoLISP程序 21
2.2.2 注释 21
2.2.3 彩色化代码显示 22
2.3 AutoLISP变量 22
2.3.2 Nil变量 23
2.3.3 预定义变量 23
2.3.1 显示变量值 23
2.4 数字操作 24
2.5 字符串操作 24
2.6 基本输出函数 26
2.6.1 显示信息 26
2.6.2 字符串中的控制字符 27
2.6.3 通配符匹配 28
2.7 比较和条件 29
2.8 表处理 29
2.8.1 点类型表 31
2.8.2 点对 32
2.9 符号和函数操作 33
2.9.1 C:XXX函数 34
2.9.2 函数中的局部变量 36
2.9.3 带参数的函数 38
第三章 与AutoCAD通信 39
3.1 查询和Command函数 39
3.1.1 Command函数 40
3.1.2 系统和环境变量 42
3.1.3 系统配置控制 42
3.2 显示控制 42
3.2.1 控制菜单 43
3.2.2 图形和文本窗口显示控制 45
3.2.3 低级图形控制 45
3.3.1 getxxx函数 46
3.3 获得用户输入 46
3.3.2 用户输入函数的条件控制 48
3.4 几何实用函数 50
3.4.1 对象捕捉 51
3.4.2 文本范围 51
3.5 转换 54
3.5.1 字符串转换 54
3.5.2 角度转换 56
3.5.3 ASCII代码转换 57
3.5.4 单位转换 59
3.5.5 坐标系转换 62
3.6 文件操作 63
3.6.1 文件查找 64
3.6.2 存取帮助文件 65
3.7 设备获取和控制 65
3.7.1 获取用户输入 65
3.7.2 校准数字化仪 65
第四章 操作AutoCAD对象 68
4.1 操作选择集 68
4.1.1 选择集过滤器表 71
4.1.2 在AutoLISP和ObjectARX应用程序间传递选择集 76
4.2 对象操作 77
4.2.1 实体名函数 77
4.2.2 实体数据函数 82
4.2.3 实体数据函数和图形屏幕 87
4.2.4 多义线和轻装多义线 88
4.2.5 非图形对象操作 89
4.3 扩展实体数据——xdata 90
4.3.1 扩展实体数据的组织 91
4.3.2 注册应用程序 93
4.3.3 检索扩展实体数据 94
4.3.4 把扩展实体数据附着到实体上 96
4.3.5 扩展实体数据内存管理 96
4.3.6 扩展实体数据中的句柄 97
4.4 Xrecord对象 97
4.5.1 符号表 98
4.5 获取符号表和词典 98
4.5.2 词典条目 100
第五章 应用Visual LISP进行程序开发 102
5.1 系统控制台 102
5.1.1 系统控制台的功能 103
5.1.2 系统控制台的快捷菜单 104
5.1.3 分隔符处理 105
5.1.4 控制台中的彩色代码显示 105
5.1.5 上下文相关的帮助 106
5.1.6 记录控制台事件 106
5.1.7 在Visual LISP中执行AutoLISP函数 107
5.2.1 文件操作 108
5.1.8 在Visual LISP和AutoCAD间切换 108
5.2 应用文本编辑器 108
5.2.2 彩色代码显示 111
5.2.3 上下文相关的帮助 112
5.2.4 文本编辑器的快捷菜单 113
5.2.5 字段处理 114
5.2.6 快捷功能 114
5.3 格式化代码 124
5.3.1 运行格式化器 124
5.3.2 Visual LISP格式化基础 125
5.4 语法错误检查 133
5.4.1 检查括号是否匹配 133
5.4.2 应用彩色代码功能检查语法错误 134
5.4.3 用检查命令来查找语法错误 135
5.5 运行程序 136
第六章 调试程序 137
6.1 在Visual LISP中进行调试 137
6.1.1 设置断点 140
6.1.2 调试程序 141
6.1.3 跟踪表达式的运行结果 142
6.1.4 在程序运行时跟踪变量 143
6.1.5 继续运行程序 144
6.2 调试特征 144
6.2.2 断环 145
6.2.1 开始调试 145
6.2.3 断点 147
6.3 Visual LISP数据检验工具 149
6.3.1 监视窗口 150
6.3.2 跟踪堆栈窗口 151
6.3.3 符号服务 158
6.3.4 检验器 159
6.3.5 查看AutoCAD图形实体 165
第七章 构造应用程序 168
7.1 编译和连接程序 168
7.1.2 编译一个程序文件 169
7.1.1 如何应用编译器 169
7.1.3 编译举例 170
7.1.4 加载并运行编译过的程序 171
7.1.5 连接函数调用 172
7.2 构造独立的应用程序 172
7.2.1 在AutoCAD中声明函数 173
7.2.2 Visual LISP运行时系统 175
7.3 生成应用程序模块 179
7.3.1 应用程序向导 180
7.3.2 加载和运行应用程序 189
7.3.3 重新构造应用程序 190
8.1.1 Visual LISP工程介绍 191
8.1 管理多个Visual LISP文件 191
第八章 维护Visual LISP应用程序 191
8.1.2 定义一个工程 193
8.1.3 设置工程属性 194
8.1.4 工程窗口 197
8.1.5 工程操作 201
8.2 优化应用程序 204
8.2.1 定义构造选项 204
8.2.2 选择编译模式 205
8.2.3 理解工程构造选项 206
第九章 在Visual LISP中应用ActiveX对象 210
9.1 AutoCAD对象模型 213
9.1.1 对象属性 214
9.1.2 对象功能 215
9.1.3 对象集合 215
9.2 获取AutoCAD对象 215
9.2.1 用检验工具来查看对象属性 216
9.2.2 从AutoCAD应用程序对象中获取其他对象 217
9.2.3 过程概要 218
9.3 应用Visual LISP函数实现ActiveX功能 219
9.3.1 确定所需的Visual LISP函数 219
9.3.2 确定如何调用一个函数 220
9.3.3 转换Visual Basic参数到Visual LISP函数中 221
9.3.4 观察和更新对象属性 223
9.3.5 判断是否可以获取一个对象 225
9.4 显示一个对象的属性和功能 226
9.3.6 在形式参数中返回数值 226
9.5 对象集合操作 228
9.6 参数转换 231
9.7 释放对象和内存 231
9.8 转换对象引用 232
第十章 向AutoCAD图形附着反应器 234
10.1 反应器类型和事件 234
10.2.2 定义对象反应器回调函数 238
10.2.3 应用预定义的回调函数 238
10.2.1 定义链接、编辑和数据库反应器 238
10.2 定义回调函数 238
10.3 生成反应器 239
10.3.1 应用对象反应器 240
10.3.2 在一个实体上附着反应器 242
10.4 查询、修改和删除反应器 242
10.4.1 检验反应器 243
10.4.2 查询反应器 244
10.4.3 修改反应器 244
10.4.4 禁用反应器 245
10.5 临时和永久的反应器 246
第十一章 Visual LISP函数参考 248
附录 错误代码 390