在众多的AutoCAD开发工具中,AutoLISP是使用最简单、应用最广泛、使用者最多的一种开发工具,因此一直受到AutoCAD开发人员的喜爱。
本书共由14章内容和4个附录构成。其中前4章的内容:Visual LISP简介:AutoLISP程序设计语言;AutoLISP与AutoCAD的通信;对实体和设备的访问。第5章到第9章的内容有:Visual LISP环境简介;应用Visual LISP开发程序;应用Visual LISP进行程序调试;编译应用程序;程序维护。第10章到第14章介绍了:在AutoLISP中使用ActiveX对象;将反应器附着到AutoCAD图形上:设计对话框;对话框管理;可编程对话框参考。附录部分的内容为:AutoLISP函数:AutoLISP错误代码;DXF参考;AutoCAD系统变量。
本书面向初中级用户、各类工程设计人员,也可作为大专院校机械及相关专业师生或社会培训班的教材。本书内容丰富、实例典型、大部分章节后附带了习题与解答,富有启发性。
书中部分实例文件请从http://www.b-xr.com免费下载压缩包4331.zip。
需要本书或技术支持的读者,请与北京中关村083信箱(邮编100080)发行部联系,电话:010-62528991,62524940,62521921,62521724,82610344,82675588(总机)传真:010-62520573,E-mail:yanmc@bhp.com.cn
第1章 Visual LISP简介
1.1 AutoLISP简介
1.2 VisualLISP简介
1.3 本章小结
1.4 习题与解答
第2章 AutoLISP程序设计语言
2.1 数据类型
2.2 表达式
2.3 数据存储结构
2.4 AutoLISP语言的控制流程
2.5 函数与函数控制
2.6 程序文件的使用
2.7 出错处理
2.8 AutoLISP应用举例
2.9 本章小结
2.10 习题与解答
第3章 AutoLISP与AutoCAD的通信
3.1 查询和命令
3.2 显示控制
3.3 获取用户输入
3.4 几何工具
3.5 数据转换
3.6 文件控制
3.7 设备访问和控制
3.8 本章小结
3.9 习题与解答
第4章 对实体和设备的访问
4.1 选择集介绍
4.2 选择集控制函数
4.3 对象操作
4.4 老式多段线和细多段线
4.5 非图形对象操作
4.6 扩展图元数据xdata
4.7 Xrecord对象
4.8 访问符号表和词典
4.9 本章小结
4.10 习题与解答
第5章 Visual LISP环境简介
5.1 VisualLISP概述
5.2 VisualLISP环境界面
5.3 加载并运行AutoLISP应用程序
5.4 退出VisualLISP环境
5.5 本章小结
第6章 应用Visual LISP开发程序
6.1 系统控制台
6.2 应用文本编辑器
6.3 应用控制台和文本编辑器辅助功能
6.4 格式化代码
6.5 语法错误检查
6.6 本章小结
6.7 习题与解答
第7章 应用Visual LISP进行程序调试
7.1 VisualLISP程序调试功能简介
7.2 调试程序示例
7.3 应用VisualLISP程序调试功能
7.4 应用数据检验工具
7.5 本章小结
7.6 习题与解答
第8章 编译应用程序
8.1 编译和链接程序
8.2 创建应用程序模块
8.3 针对多文档环境的设计方法
8.4 本章小结
第9章 程序维护
9.1 管理多个Visual LISP文件
9.2 定义工程
9.3 对现有工程进行操作
9.4 优化应用程序代码
9.5 本章小结
第10章 在AutoLISP中使用Activex对象
10.1 概述
10.2 AutoCAD对象模型
10.3 访问AutoCAD对象
10.4 应用VisualLISP函数实现ActiveX方法
10.5 应用ActiveX与其他应用程序交互
10.6 本章小结
10.7 习题与解答
第11章 将反应器附着到AutoCAD图形上
11.1 反应器类型和事件基本概念
11.2 定义回调函数
11.3 创建反应器
11.4 在多重名称空间中使用反应器
11.5 查询.修改和删除反应器
11.6 临时反应器和永久反应器
11.7 本章小结
第12章 设计对话框
12.1 对话框部件
12.2 用DCL定义对话框
12.3 用VisualLISP显示对话框
12.4 调整对话框的布局
12.5 设计指南
12.6 本章小结
12.7 习题与解答
第13章 对话框管理
13.1 使用AutoLISP程序控制对话框
13.2 动作表达式和回调
13.3 控件处理
13.4 嵌套对话框
13.5 隐藏对话框
13.6 列表框和弹出式列表
13.7 图像控件和按钮
13.8 特定应用数据
13.9 DCL错误处理
13.10 本章小结
13.11 习题与解答
第14章 可编程对话框参考
14.1 控件属性
14.2 DCL属性目录
14.3 DCL控件目录
14.4 本章小结
附录A AutoLISP函数
A.1 赋值.求值与禁止求值函数
A.2 数值计算函数
A.3 关系运算函数
A.4 逻辑运算函数
A.5 几何运算函数
A.6 判断函数
A.7 流程控制函数
A.8 表处理函数
A.9 字符串处理函数
A.10 数据类型转换函数
A.11 交互输入函数
A.12 有关文件操作的函数
A.13 打印输出函数
A.14 有关函数的函数
A.15 错误处理函数
A.16 与AutoCAD直接相关的函数
A.17 实体操作函数
A.18 符号表操作函数
A.19 扩展数据操作函数
A.20 内存管理函数
A.21 对话框操作函数
A.22 控制环境变量的函数
A.23 词典操作函数
A.24 应用程序操作函数
A.25 VisualLISP扩展函数
A.26 有关ActiveX的函数
附录B AutoLISP错误代码
附录C DXF参考
C.1 ASCIIDXF文件
C.2 进制DXF文件
C.3 幻灯片文件
C.4 幻灯片库文件格式
附录D AutoCAD系统变量
D.1 A系统变量
D.2 B系统变量
D.3 C系统变量
D.4 D系统变量
D.5 Q系统变量
在众多的AutoCAD开发工具中, AutoLISP是使用最简单. 应用最广泛. 使用者最多的一种开发工具, 它的显著特点就是简单易学, 可以直接使用, 因此一直受到AutoCAD开发人员的喜爱.
但是, AutoLISP只是一种解释性语言, 而且不能加密, 所以只能开发一些小的应用程序, 无法成为开发商业软件的平台. 为了解决这个问题, Autodesk公司在AutoCAD R14中推出了Visual LISP测试版本, 又在AutoCAD2000中推出了正式版本. 经过不断的发展, Visual LISP不断增强了自身的程序开发和调试功能, 从而真正成为了一个功能强大的开发平台.
Visual LISP作为一个集成开发环境, 提供了以下功能.
· 一个完整的AutoLISP集成开发环境, 具有透明的加载编译技术.
· 强大的语法检查器, 可以识别AutoLISP语法是否错误, 以及调用AutoLISP函数时参数的输入是否正确.
· 提供一个文本编译器, 可以改善程序的运行速度和提供安全. 高效的交互平台.
· 特别为AutoLISP语言提供了源程序调试器. 通过应用强有力的中断处理, 可以为程序的调试提供最大的灵活性. 这个工具也支持在一个窗口中单步运行AutoLISP源程序, 而且实时地在AutoCAD的图形窗口中显示程序的运行结果.
· 支持AutoLISP和DCL语言的文本文件中的彩色代码显示功能, 并支持AutoLISP语法的其他功能.
· 提供一个AutoLISP格式化器, 可以设置程序代码的书写结构, 使程序具有一个更容易读懂的格式.
· 综合的检验器和监视器实用工具, 用户可以非常方便地在浏览和修改数据结构时获取变量和表达式的值. 这些特征可以用来检验AutoLISP数据和AutoCAD图形实体.
· 为AutoLISP函数提供了上下文相关的帮助系统.
· 强有力的符号名查找和自动匹配特征.
· 项目管理系统, 可以使维护多文件应用程序变得非常容易.
· 提供打包功能, 可以把编译过的AutoLISP文件打包成为一个ARX模块.
· 桌面的存储与恢复功能, 可以从其他Visual LISP进程中保护和再利用Windows环境资源.
· 智能的系统控制台使AutoLISP用户开发应用程序时的方便性和高效性达到了一个新的水平. Visual LISP控制台的基本功能和AutoCAD文本屏幕的功能是相适应的, 它还提供了一些方便的交互功能, 比如历史记录滚动和完全输入的行编辑功能.
Visual LISP包含自己的窗口和菜单, 这些窗口和菜单与AutoCAD有显著的不同. 但是, Visual LISP不是一个独立的软件, 它不能独立运行于AutoCAD之外. 无论什么时候都必须先启动AutoCAD, 然后才能利用Visual LISP进行工作.
在用户安装AutoCAD 2004时, 如果选择了典型安装或者全部安装, 那么Visual LISP就会被自动安装到当前计算机中. 值得注意的是, 典型安装并不会安装Visual LISP的教程部分, 而本书的“程序维护”一章要用到教程, 此时可以再次运行AutoCAD的安装程序添加此部分.
本书由黎新懿. 赵景亮. 弓丹志编写, 其中黎新懿编写第1. 2章, 赵景亮编写第3. 4章, 弓丹志编写其余各章, 另外参加收集和整理工作的还有于伟. 刘昕. 周旋. 宁可. 王青. 高新波. 王大智. 富晓静. 龚瑞男. 周剑. 徐大丰. 张龙. 倪晚成.