AutoLISP语言程序设计(郭秀娟)
¥29.00定价
作者: 郭秀娟
出版社:化学工业出版社
- 化学工业出版社
- 9787122032362
- 1版
- 186086
- 64213853-1
- 16开
- 工学
- 计算机科学与技术
- TP391.72
- 计算机
- 高职
内容简介
本书主要介绍了AutoCAD内部的编程语言AutoLISP,系统而详细地介绍了AutoLISP的各类函数和语法规则。从AutoLISP的数据类型和程序结构入手,循序渐进地介绍了AutoLISP的基本函数、AutoLISP绘图功能、AutoLISP建筑设计制图程序范例等内容。
本书列举了丰富的程序实例,图文并茂,清晰易懂。
本书可作为高等院校建筑学及相关专业的教材,也可供其他从事设计绘图工作、学习AutoLISP语言的有关人员参考,还可作为AutoLISP培训学习的教材。
本书列举了丰富的程序实例,图文并茂,清晰易懂。
本书可作为高等院校建筑学及相关专业的教材,也可供其他从事设计绘图工作、学习AutoLISP语言的有关人员参考,还可作为AutoLISP培训学习的教材。
目录
第1章AutoLISP语言概述 1
1.1AutoLISP语言简介 1
1.1.1开发AutoCAD的重要工具 1
1.1.2AutoLISP的特点 1
1.2AutoLISP数据类型 2
1.2.1原子(ATOM) 2
1.2.2表和点对 4
1.3AutoLISP的程序结构 5
1.4AutoLISP的运行环境 7
1.5AutoLISP的内存分配 8
1.6AutoLISP程序的执行过程 8
练习题 9
第2章数值函数 11
2.1计算函数 11
2.1.1(+<数1><数2>…) 11
2.1.2(–<数1><数2>…) 11
2.1.3(1+<数>)和(1–<数>) 12
2.1.4(*<数1><数2>…) 12
2.1.5(/<数1><数2>…) 12
2.1.6(REM<数1><数2>…) 12
2.1.7(GCD<数1><数2>) 13
2.1.8(MAX<数1><数2>…)
(MIN<数1><数2>…) 13
2.1.9(EXP<数>) 13
2.1.10(EXPT<底数><幂>) 13
2.1.11(LOG<数>) 14
2.1.12(SQRT<数>) 14
2.1.13(ABS<数>) 14
2.1.14(MINUSP<数>) 14
2.1.15(ZEROP<数>) 14
2.1.16(NUMBERP<项>) 14
2.1.17(FLOAT<数>) 15
2.1.18(FIX<数>) 15
2.2布尔运算函数 15
2.2.1(LOGAND<整数><整数>…) 15
2.2.2(LOGIOR<整数><整数>…) 15
2.2.3(LSH<整数><次数>) 16
2.3三角函数 16
2.3.1(SIN<角度>) 16
2.3.2(COS<角度>) 16
2.3.3(ATAN<数1><数2>) 16
2.4综合举例 17
练习题 18
第3章表处理函数 20
3.1提取表中数据的函数 20
3.1.1(CAR<表>) 20
3.1.2(CDR<表>) 20
3.1.3(LAST<表>) 21
3.1.4(NTH<表>)N=0,1,2,… 21
3.1.5(LENGTH<表>) 22
3.2构造和修改表的函数 22
3.2.1(LIST<表达式>…) 22
3.2.2(APPEND<表>…) 22
3.2.3(CONS<新的第一个元素><表>) 23
3.2.4(REVERSE<表>) 23
3.3提取并修改表中数据的函数 23
3.3.1(ASSOC<关键字><关联表>) 23
3.3.2(SUBST<新项><旧项><表>) 24
3.4表的循环处理函数 24
3.4.1(FOREACH<符号原子><表><表达式>…) 24
3.4.2(MAPCAR<函数名><表1><表2>…<表n>) 25
3.5其他表处理函数 26
3.5.1(MEMBER<表达式><表>) 26
3.5.2(LISTP<项>) 26
3.6综合举例 26
练习题 27
第4章符号和函数处理函数 29
4.1符号处理函数 29
4.1.1赋值函数 29
4.1.2禁止求值函数与再求值函数 30
4.1.3其他符号处理函数 31
4.2函数处理函数 34
4.3综合举例 40
练习题 43
第5章AutoCAD函数 45
5.1GET类输入函数 45
5.2图形处理函数 50
5.2.1(POLAR<点><方向角><距离>) 50
5.2.2(DISTANCE<点1><点2>) 51
5.2.3(ANGLE<点1><点2>) 51
5.2.4(INTERS<端点1><端点2><端点3><端点4><任选项>) 51
5.2.5目标捕捉函数OSNAP 52
5.3COMMAND函数 53
5.4坐标系转换及单位变换函数 56
5.4.1(TRANS<点>FROMTO位移量) 56
5.4.2(CVUNITVALUEFROM—UINTTO—UNIT) 57
5.5查询和设置系统状态的函数 58
5.5.1(SETVAR<变量名><值>) 58
5.5.2(GETVAR<变量名>) 58
5.5.3(GETENV<变量名>) 58
5.5.4(SETCFGCFGNAMEEFGVALUE) 59
5.5.5(GETCFGCFGNAME) 59
5.5.6(ACAD_COLORDLGcolornumflag) 59
5.5.7(VER) 59
5.6显示控制函数 60
5.6.1(GRAPHSCR) 60
5.6.2(TEXTSER) 60
5.6.3(TEXTPAGE) 60
5.6.4(PRIN1<表达式><文件标识符>) 60
5.6.5(PRINT<表达式><文件标识符>) 60
5.6.6(PRINC<表达式><文件标识符>) 60
5.6.7(TERPRI) 61
5.6.8(MENUCMD<字符串>) 61
5.6.9(GRVECSVLISTTRANS) 62
5.6.10(VPORTS) 63
5.7综合举例 63
练习题 71
第6章字符串处理函数 73
6.1字符与ASCII码互换函数 73
6.1.1(ASCII<字符串>) 73
6.1.2(CHR<整数>) 73
6.2数串互换函数 74
6.2.1(ITOA<整数>) 74
6.2.2(ATOI<数字串>) 74
6.2.3(ATOF<数字串>) 74
6.2.4(RTOS<数><模式><精度>) 75
6.2.5(DISTOF<字符串>模式) 76
6.2.6(ANGTOS<弧度表示的角度值>模式精度) 76
6.2.7(ANGTOF<字符串>模式) 77
6.3字符串处理函数 77
6.3.1(STRCAT<字符串1><字符串2>…) 77
6.3.2(SUBSTR<字符串><开始><长度>) 79
6.3.3(STRCASE<字符串><模式>) 79
6.3.4(STRLEN字符串…) 79
6.3.5(WCMATCH<字符串><样本>) 80
6.4尺寸标注方式 80
6.5综合举例 82
练习题 83
第7章判断函数 85
7.1相等验证函数 85
7.1.1关系运算函数 85
7.1.2逻辑运算函数 85
7.2条件函数 86
7.2.1(IF<条件>是——<表达式1><否——表达式2>) 86
7.2.2(PROGN<标准表>…)(该函数也称顺序执行函数) 87
7.2.3(COND(<条件1><表达式1>) 87
7.3循环函数 88
7.3.1(WHILE<条件><标准表>…) 88
7.3.2(REPEAT<数><表达式>…) 90
7.4函数递归定义 91
7.4.1递归的概念 91
7.4.2递归模型 91
7.4.3递归算法的设计 92
7.5综合举例 94
练习题 109
第8章文件处理函数 112
8.1搜索、获得文件的函数 112
8.1.1(FINDFILE<文件名>) 112
8.1.2(GETFILED$quot$对话框标题$quot$$quot$文件名$quot$$quot$扩展名$quot$标志值) 112
8.2打开、关闭文件的函数 113
8.2.1(OPEN<文件名><方式>) 113
8.2.2(CLOSE<文描述符>) 114
8.3用于文件的输入输出函数 114
8.3.1(READ符串) 114
8.3.2(READ-LINE<文件描述符>) 115
8.3.3(WRITE-LINE<字符串><文件描述符>) 116
8.3.4(READ-CHAR<文件描述符>) 116
8.3.5(WRITE-CHAR<数><文件描述符>) 117
8.4综合举例 117
练习题 117
第9章实体和设备访问函数 119
9.1基本概念 119
9.1.1实体 119
9.1.2实体名 119
9.1.3选择集 119
9.2选择集操作函数 120
9.2.1(SSGETstrPtlPt2) 120
9.2.2(SSGET$quot$x$quot$<过滤表>) 121
9.2.3(SSLENGTHs) 122
9.2.4(SSNAME<选择集>n)n=0,1,2,… 122
9.2.5(SSADD<实体名><选择集>) 123
9.2.6(SSDEL<实体名><选择集>) 124
9.3实体名操作函数 124
9.3.1(ENTNEXT<实体名>) 124
9.3.2(ENTLAST) 124
9.3.3(SSNAME<选择集><序号>) 125
9.3.4(NAMEDOBJEICT) 125
9.3.5(HANDENTHANDLE) 126
9.3.6(ENTSEL<提示>) 126
9.4实体数据函数 126
9.4.1获得实体定义数据函数ENTGET 126
9.4.2(ENTMOD<实体数据表>) 130
9.4.3(ENTUPD<实体名>) 130
9.4.4(ENTMAKE<实体数据表>) 131
9.5对符号表的访问 135
9.5.1(TBLNEXT<符号表名><第一>) 135
9.5.2(TBLSEARCH<符号表名><符号>) 136
9.6对图形屏幕和输入设备的访问 136
9.6.1(GRCLEAR) 137
9.6.2(GRTEXT<框区><文本字符串><加亮>) 137
9.6.3(GRREADtrackallkeyscurtype) 137
9.7综合举例 139
9.7.1实体名和选择集在开发CAD程序中的实际应用 139
9.7.2生成局部放大视图的简便方法 140
9.7.3求圆或圆弧中心线 143
练习题 147
第10章建筑设计制图的AutoLISP程序范例 149
10.1常用建筑设计AutoLISP程序 149
10.1.1建筑符号设计AutoLISP程序 149
10.1.2双线墙插门窗AutoLISP程序 154
10.2墙体设计AutoLISP程序 161
10.2.1单线墙AutoLISP程序 161
10.2.2双线墙AutoLISP程序 168
10.3楼梯设计AutoLISP程序 181
10.3.1绘制平面楼梯AutoLISP程序 181
10.3.2剖面楼梯AutoLISP程序 187
练习题 190
第11章AutoCAD基本命令 192
11.1基本图形的绘制 192
11.1.1绘制直线 192
11.1.2构造线 192
11.1.3多线 193
11.1.4多段线 193
11.1.5矩形 193
11.1.6正多边形 194
11.1.7圆 195
11.1.8弧线 195
11.1.9椭圆 195
11.1.10圆环 196
11.2基本图形的编辑 196
11.2.1复制图形 196
11.2.2移动图形 197
11.2.3偏移图形 197
11.2.4旋转图形 198
11.2.5比例缩放图样 199
11.2.6图形镜像 199
11.2.7阵列图形 200
11.2.8修剪图形 201
11.2.9延伸和拉伸 202
11.2.10倒角和圆角 203
11.2.11分解图块 204
附录A图形绘制与编辑各命令中英文及简捷命令一览表 206
附录B联机程序错误代码 207
附录C标准ASCII码表 209
附录DAutoLISP函数概要 211
参考文献 219
1.1AutoLISP语言简介 1
1.1.1开发AutoCAD的重要工具 1
1.1.2AutoLISP的特点 1
1.2AutoLISP数据类型 2
1.2.1原子(ATOM) 2
1.2.2表和点对 4
1.3AutoLISP的程序结构 5
1.4AutoLISP的运行环境 7
1.5AutoLISP的内存分配 8
1.6AutoLISP程序的执行过程 8
练习题 9
第2章数值函数 11
2.1计算函数 11
2.1.1(+<数1><数2>…) 11
2.1.2(–<数1><数2>…) 11
2.1.3(1+<数>)和(1–<数>) 12
2.1.4(*<数1><数2>…) 12
2.1.5(/<数1><数2>…) 12
2.1.6(REM<数1><数2>…) 12
2.1.7(GCD<数1><数2>) 13
2.1.8(MAX<数1><数2>…)
(MIN<数1><数2>…) 13
2.1.9(EXP<数>) 13
2.1.10(EXPT<底数><幂>) 13
2.1.11(LOG<数>) 14
2.1.12(SQRT<数>) 14
2.1.13(ABS<数>) 14
2.1.14(MINUSP<数>) 14
2.1.15(ZEROP<数>) 14
2.1.16(NUMBERP<项>) 14
2.1.17(FLOAT<数>) 15
2.1.18(FIX<数>) 15
2.2布尔运算函数 15
2.2.1(LOGAND<整数><整数>…) 15
2.2.2(LOGIOR<整数><整数>…) 15
2.2.3(LSH<整数><次数>) 16
2.3三角函数 16
2.3.1(SIN<角度>) 16
2.3.2(COS<角度>) 16
2.3.3(ATAN<数1><数2>) 16
2.4综合举例 17
练习题 18
第3章表处理函数 20
3.1提取表中数据的函数 20
3.1.1(CAR<表>) 20
3.1.2(CDR<表>) 20
3.1.3(LAST<表>) 21
3.1.4(NTH<表>)N=0,1,2,… 21
3.1.5(LENGTH<表>) 22
3.2构造和修改表的函数 22
3.2.1(LIST<表达式>…) 22
3.2.2(APPEND<表>…) 22
3.2.3(CONS<新的第一个元素><表>) 23
3.2.4(REVERSE<表>) 23
3.3提取并修改表中数据的函数 23
3.3.1(ASSOC<关键字><关联表>) 23
3.3.2(SUBST<新项><旧项><表>) 24
3.4表的循环处理函数 24
3.4.1(FOREACH<符号原子><表><表达式>…) 24
3.4.2(MAPCAR<函数名><表1><表2>…<表n>) 25
3.5其他表处理函数 26
3.5.1(MEMBER<表达式><表>) 26
3.5.2(LISTP<项>) 26
3.6综合举例 26
练习题 27
第4章符号和函数处理函数 29
4.1符号处理函数 29
4.1.1赋值函数 29
4.1.2禁止求值函数与再求值函数 30
4.1.3其他符号处理函数 31
4.2函数处理函数 34
4.3综合举例 40
练习题 43
第5章AutoCAD函数 45
5.1GET类输入函数 45
5.2图形处理函数 50
5.2.1(POLAR<点><方向角><距离>) 50
5.2.2(DISTANCE<点1><点2>) 51
5.2.3(ANGLE<点1><点2>) 51
5.2.4(INTERS<端点1><端点2><端点3><端点4><任选项>) 51
5.2.5目标捕捉函数OSNAP 52
5.3COMMAND函数 53
5.4坐标系转换及单位变换函数 56
5.4.1(TRANS<点>FROMTO位移量) 56
5.4.2(CVUNITVALUEFROM—UINTTO—UNIT) 57
5.5查询和设置系统状态的函数 58
5.5.1(SETVAR<变量名><值>) 58
5.5.2(GETVAR<变量名>) 58
5.5.3(GETENV<变量名>) 58
5.5.4(SETCFGCFGNAMEEFGVALUE) 59
5.5.5(GETCFGCFGNAME) 59
5.5.6(ACAD_COLORDLGcolornumflag) 59
5.5.7(VER) 59
5.6显示控制函数 60
5.6.1(GRAPHSCR) 60
5.6.2(TEXTSER) 60
5.6.3(TEXTPAGE) 60
5.6.4(PRIN1<表达式><文件标识符>) 60
5.6.5(PRINT<表达式><文件标识符>) 60
5.6.6(PRINC<表达式><文件标识符>) 60
5.6.7(TERPRI) 61
5.6.8(MENUCMD<字符串>) 61
5.6.9(GRVECSVLISTTRANS) 62
5.6.10(VPORTS) 63
5.7综合举例 63
练习题 71
第6章字符串处理函数 73
6.1字符与ASCII码互换函数 73
6.1.1(ASCII<字符串>) 73
6.1.2(CHR<整数>) 73
6.2数串互换函数 74
6.2.1(ITOA<整数>) 74
6.2.2(ATOI<数字串>) 74
6.2.3(ATOF<数字串>) 74
6.2.4(RTOS<数><模式><精度>) 75
6.2.5(DISTOF<字符串>模式) 76
6.2.6(ANGTOS<弧度表示的角度值>模式精度) 76
6.2.7(ANGTOF<字符串>模式) 77
6.3字符串处理函数 77
6.3.1(STRCAT<字符串1><字符串2>…) 77
6.3.2(SUBSTR<字符串><开始><长度>) 79
6.3.3(STRCASE<字符串><模式>) 79
6.3.4(STRLEN字符串…) 79
6.3.5(WCMATCH<字符串><样本>) 80
6.4尺寸标注方式 80
6.5综合举例 82
练习题 83
第7章判断函数 85
7.1相等验证函数 85
7.1.1关系运算函数 85
7.1.2逻辑运算函数 85
7.2条件函数 86
7.2.1(IF<条件>是——<表达式1><否——表达式2>) 86
7.2.2(PROGN<标准表>…)(该函数也称顺序执行函数) 87
7.2.3(COND(<条件1><表达式1>) 87
7.3循环函数 88
7.3.1(WHILE<条件><标准表>…) 88
7.3.2(REPEAT<数><表达式>…) 90
7.4函数递归定义 91
7.4.1递归的概念 91
7.4.2递归模型 91
7.4.3递归算法的设计 92
7.5综合举例 94
练习题 109
第8章文件处理函数 112
8.1搜索、获得文件的函数 112
8.1.1(FINDFILE<文件名>) 112
8.1.2(GETFILED$quot$对话框标题$quot$$quot$文件名$quot$$quot$扩展名$quot$标志值) 112
8.2打开、关闭文件的函数 113
8.2.1(OPEN<文件名><方式>) 113
8.2.2(CLOSE<文描述符>) 114
8.3用于文件的输入输出函数 114
8.3.1(READ符串) 114
8.3.2(READ-LINE<文件描述符>) 115
8.3.3(WRITE-LINE<字符串><文件描述符>) 116
8.3.4(READ-CHAR<文件描述符>) 116
8.3.5(WRITE-CHAR<数><文件描述符>) 117
8.4综合举例 117
练习题 117
第9章实体和设备访问函数 119
9.1基本概念 119
9.1.1实体 119
9.1.2实体名 119
9.1.3选择集 119
9.2选择集操作函数 120
9.2.1(SSGETstrPtlPt2) 120
9.2.2(SSGET$quot$x$quot$<过滤表>) 121
9.2.3(SSLENGTHs) 122
9.2.4(SSNAME<选择集>n)n=0,1,2,… 122
9.2.5(SSADD<实体名><选择集>) 123
9.2.6(SSDEL<实体名><选择集>) 124
9.3实体名操作函数 124
9.3.1(ENTNEXT<实体名>) 124
9.3.2(ENTLAST) 124
9.3.3(SSNAME<选择集><序号>) 125
9.3.4(NAMEDOBJEICT) 125
9.3.5(HANDENTHANDLE) 126
9.3.6(ENTSEL<提示>) 126
9.4实体数据函数 126
9.4.1获得实体定义数据函数ENTGET 126
9.4.2(ENTMOD<实体数据表>) 130
9.4.3(ENTUPD<实体名>) 130
9.4.4(ENTMAKE<实体数据表>) 131
9.5对符号表的访问 135
9.5.1(TBLNEXT<符号表名><第一>) 135
9.5.2(TBLSEARCH<符号表名><符号>) 136
9.6对图形屏幕和输入设备的访问 136
9.6.1(GRCLEAR) 137
9.6.2(GRTEXT<框区><文本字符串><加亮>) 137
9.6.3(GRREADtrackallkeyscurtype) 137
9.7综合举例 139
9.7.1实体名和选择集在开发CAD程序中的实际应用 139
9.7.2生成局部放大视图的简便方法 140
9.7.3求圆或圆弧中心线 143
练习题 147
第10章建筑设计制图的AutoLISP程序范例 149
10.1常用建筑设计AutoLISP程序 149
10.1.1建筑符号设计AutoLISP程序 149
10.1.2双线墙插门窗AutoLISP程序 154
10.2墙体设计AutoLISP程序 161
10.2.1单线墙AutoLISP程序 161
10.2.2双线墙AutoLISP程序 168
10.3楼梯设计AutoLISP程序 181
10.3.1绘制平面楼梯AutoLISP程序 181
10.3.2剖面楼梯AutoLISP程序 187
练习题 190
第11章AutoCAD基本命令 192
11.1基本图形的绘制 192
11.1.1绘制直线 192
11.1.2构造线 192
11.1.3多线 193
11.1.4多段线 193
11.1.5矩形 193
11.1.6正多边形 194
11.1.7圆 195
11.1.8弧线 195
11.1.9椭圆 195
11.1.10圆环 196
11.2基本图形的编辑 196
11.2.1复制图形 196
11.2.2移动图形 197
11.2.3偏移图形 197
11.2.4旋转图形 198
11.2.5比例缩放图样 199
11.2.6图形镜像 199
11.2.7阵列图形 200
11.2.8修剪图形 201
11.2.9延伸和拉伸 202
11.2.10倒角和圆角 203
11.2.11分解图块 204
附录A图形绘制与编辑各命令中英文及简捷命令一览表 206
附录B联机程序错误代码 207
附录C标准ASCII码表 209
附录DAutoLISP函数概要 211
参考文献 219