第一篇 Auto LISP 程序设计语言 1
第一章 绪论 1
1.1 Auto LISP 语言是专业CAD开发的重要工具 1
1.2 Auto LISP 的数据类型 2
1.2.1 原于 3
1.2.2 表和点对 4
1.3 Auto LISP的程序结构 5
1.4 Auto LISP的求值过程 5
1.5 Auto LISP程序的编辑、装入和运行 6
1.5.1 Auto LISP程序的编辑 6
1.5.2 Auto LISP的装入和运行 7
第二章 Auto LISP 的基本函数 9
2.1 Auto LISP的基本函数 9
2.1.1 自术运算函数 10
2.1.2 三角函数 14
2.1.3 数的类型转换函数 15
2.1.4 应用举例 15
2.2 赋值函数 17
2.2.1 赋值函数SETQ 17
2.2.2 赋值函数SEYQ 18
2.3 求值与禁止求值函数 19
2.3.1 禁止求值函数QUOTE 19
2.3.2 再求值函数EVAL 20
2.4 表处理函数 20
2.4.1 取表部分内容函数 20
2.4.2 表的构造与修改函数 22
2.4.4 测量表的长度函数LENGTH 25
2.5 综合举例 25
2.4.3 联接表的检索与修改 25
第二章 交互式输入函数和屏幕输出函数 27
3.1 交互式输入函数 27
3.1.1 CET族输入函数 27
3.1.2 其它输入函数 28
3.2 屏幕输出函数 35
3.2.1 用于屏幕和文件的输出函数 36
3.2.2 只用于屏幕的输出函数 38
3.3 综合举例 38
第四章 Auto LISP的绘图功能 42
4.1 COMMAME函数 42
4.2 图形处理函数 44
4.2.1 求相对角度的函数ANGLE 44
4.2.3 求极坐标函数POLAR 45
4.2.2 求两点间距离的函数DLSTANCE 45
4.2.4 求二直线交点坐标的函数INTERS 46
4.2.5 目标捕捉函数OSNAP 46
4.3 屏幕操作函数 48
4.3.1 文本图形屏幕转换函数GRAPHSCR和TEXTSCR 48
4.3.2 重画屏幕图形函数REDRAW 48
4.3.3 清图形屏幕函数GRCLEAR 49
4.3.4 向屏幕文本显示区写文字的函数GRTEXT 49
4.4 存取Auto CAD 系统变量的函数 49
4.4.1 获得系统变量值的函数GETVAR 49
4.4.2 设置系统变量值的函数SETVAR 50
4.5 综合举例 50
第五章 分支结构 55
5.1 关系运算函数 55
5.2.3 逻辑“非”函数NOT 56
5.2.2 逻辑“或”函数OR 56
5.2.1 逻辑“与”函数AND 56
5.2 逻辑运算函数 56
5.3 二分支条件函数IF 57
5.4 多分支条件函数COND 58
5.5 其它测试函数 60
5.5.1 判断数的性质的函数 60
5.5.2 判断数据类型的函数 61
5.5.3 等值函数 62
5.6 顺序控制函数PROGN 63
5.7 综合举例 63
第六章 循环结构 66
6.1 WHILE函数 66
6.2 REPEAT函数 67
6.3.1 FOREACH函数 68
6.3 其它的循 环函数 68
6.3.2 MAPCAR 函数 69
6.3.3 APPLY函数 70
6.4 综合举例 70
第七章 函数的定义 75
7.1 自定义函数 75
7.1.1 定义用户函数的函数DEFUN 75
7.1.2 函数的调用 76
7.1.3 函数的副作用 76
7.1.4 使用DEFUN的注意事项 78
7.1.5 自定义函数的开发专业CAD软件中的应用 78
7.1.6 自定义函数中的全局变量和局部变量的设置 80
7.2 增加和修改Auto CAD 命令 82
7.2.1 增加Auto CAD 命令 82
7.2.3 恢复Auto CAD 命令 83
7.2.2 修改Auto CAD 命令 83
7.3 综合举例 84
第八章 字符串处理函数 89
8.1 字符与ASCⅡ码互换函数 89
8.1.1 字符转抽象成ASCH码函数ASCⅡ 89
8.1.2 ASCⅡ码转抽象成字符函数CHR 89
8.2 测量字符串长度函数STRLEN 90
8.3 数串互换函数 90
8.3.1 整数转换成整数串的函数ITOA 90
8.3.2 数字串转换成整数函数ATOL 90
8.3.3 数字串转换成实型数函数ATOF 91
8.3.4 数转换成实数串的函数RTOS 91
8.3.5 角度转换成字符串函数ANGTOS 92
8.6 字符串截取函数SUBSTR 93
8.5 字符串大小写转换函数STRCASE 93
8.4 字符中的连接函数STRCAT 93
8.7 字符串转换成表或原子的函数READ 94
8.8 字符串处理函数的实用机械CAD中的应用 94
8.9 综合举例 95
第九章 图形数据库编辑函数及其应用 97
9.1 实体的基本概念 97
9.1.1 实体 97
9.1.2 实体名 98
9.1.3 选择集构造函数SSGET 98
9.2 选择集构造函数SSGET 98
9.2.1 直接从图形屏幕上选定 98
9.2.2 SSGET 过滤器 99
9.3.1 测量选择集长度函数SSLENGTH 100
9.3 选择集操作函数 100
9.2.3 应用SSGET 函数的流速事项 100
9.3.2 实体名检索函数SSNAME 101
9.3.3 向选择集中加入新褓函数SSADD 101
9.3.4 从选择集中移出褓的函数SSKEL 102
9.3.5 从选择集中移出实体的函数SSMEMB 102
9.4 实体名与选择集与Auto CAD 一起使用 102
9.5 实体名操作函数 103
9.5.1 实体名搜索函数ENTNEXT 103
9.5.2 获得最后一个实体名函数ENTLAST 104
9.5.3 选择任一实体函数ENTSEL 104
9.6 实体名与选择集在开发机械CAD中的实体应用 105
9.7 实体数据函数 106
9.7.1 获得实体定义数据函数ENTGET 106
9.7.2 修改实体在图形数据库中定义函数ENTMOD 110
9.7.3 更新复杂实体屏幕图象函数ENTUPD 111
9.7.4 删除或恢复实体定义函数ENTDEL 112
9.8 褓数据函数的机械CAD中的应用 113
9.8.1 获得主实体名的途径 113
9.8.2 获得子实体名的方法 114
9.8.3 获得实体数据并对其进行修改的方法 114
9.9 综合举例 115
第十章 数据文件 119
10.1 打开文件的OPEN函数 119
10.2 关闭文件函数CLOSE 120
10.3 输入、输出函数 121
10.3.1 输出函数 121
10.3.2 输入函数 123
10.4 数据文件在开发机械CAD系统中的应用 123
10.5 综合举例 125
第二篇 工程CAD系统的开发方法与技术 127
第十一章 数据处理方法与技术 127
11.1 第一种检索法——直接检索法 127
11.1.1 数据存贮 128
11.1.2 数据检索 128
11.2 第二种检索法——专门检索函数捡索法 130
11.2.1 数表的分类 130
11.2.2 数表数据的存贮 131
11.2.3 数据检索函数 132
11.3 第三种检索法——数据文件存贮检索法 134
11.3.1 XXX·TXT数据文件的格式 134
11.3.2 检索函数 135
11.4 综合举例 136
12.2 绘图坐标点的设置与计算 141
12.1 绘图环境初始化 141
第十二章 图形处理方法与技术 141
12.2.1 绘图基点设置 142
12.2.2 绘图坐标点的设置 142
12.2.3 绘图坐标点的计算 144
12.3 绘图参数值的输入与传输 148
12.3.1 绘图参数值的输入 148
12.3.2 绘图参数值的传输 148
12.4 绘图方法 152
12.4.1 单一变参图形程序 152
12.4.2 用自定义函数建立子图变参图形库方法 154
12.4.3 用表建立子图变参图形库方法 156
12.5 图形修改方法 158
12.5.1 对图素的特性及线型的修改和字高的修改 158
12.5.3 图形修改 159
12.5.2 图形的开窗消隐 159
12.5.4 图形位置的修改 160
第十三章 图形标注方法与技术 162
13.1 图形尺寸与公差标注 162
13.1.1 图形标注初始化 162
13.1.2 尺寸标注函数的开发 162
13.1.3 图形尺寸标注方法 167
13.2 工程标注 170
13.2.1 工程标不函数的开发 170
13.2.2 工程标注方法 173
13.3 在图上书写文字的方法 175
13.3.1 文字串连接书写的函数 176
13.3.2 填写标题栏的编程方法 176
13.3.3 书写技术要求的编程方法 177
13.3.4 填写技术参数表的编程方法 178
第十四章 界面技术 179
14.1 菜单及其开发与应用 179
14.1.1 Auto CAD 菜单的描述 179
14.1.2 菜单的构造 179
14.2 对话框及其应用 180
14.2.1 对话框和DCL语言简介 180
14.2.2 对话框的构成 189
14.2.3 部件属性探讨 194
14.2.4 对话框控制语言 194
14.2.5 对话框驱动程序 195
14.2.6 对话框的开发冷冲CAD系统中的应用 199
15.1 Auto LISP程序高度的一般方法 204
15.1.1 Auto LISP程序高度方法 204
第十五章 程序的调试与出错处理 204
15.1.2 设置断点打印变量值的方法 205
15.1.3 设置自定义函数分段高度法 206
15.1.4 单步执行调度法 207
15.2 Auto LISP编程中常出错分析 208
15.2.1 语法错误 208
15.2.2 逻辑错误 210
15.3 用户定义ERROR函数 211
附录B Auto LISP 系统函数一览表 211
第十六章 典型零件CAD系统的分析 213
16.1 系统的总体结构及流程 213
16.1.1 系统的功能与流程 213
16.1.2 系统模块划分 213
16.1.3 系统的主菜单 213
16.2.1 原始数据输入 217
16.2 数据输入与修改 217
16.2.2 数据修改 218
16.3 设计计算 218
16.3.1 设计计算 218
16.3.2 设计结果显示及打印 228
16.4 结构造型模块 230
16.5 图形绘制与标注 231
16.6 图形输出 231
附录A Auto CAD R12.0系统变量一览表 233
附录C Auto CAD 命令简表 252
附录D 用COMMAND 函数调用常用Auto CAD命令格式 265
附录E 标准出错信息 271
附录F ASCⅡ(美国标准信息变换码)表 275
主要参考文献 278