前言 1
1 LISP语言概述 1
1.1 LISP语言的简单介绍 1
1.2 LISP语言的数据类型 4
1.2.1整型 4
1.2.2实型 4
1.2.3字符串 4
1.2.4表 4
1.2.5函数 4
1.2.6图元名 5
1.2.7选择集 5
1.3 LISP语言的变量 5
1.3.1变量的标识符 5
1.3.2变量的数据类型 5
1.3.3预定义标识符 5
1.3.4显示变量的值 6
1.4 LISP语言的表达式 6
1.4.1表达式的构成 6
1.4.2表达式的求值规则 6
2 LISP函数 8
2.1数值计算函数 8
2.1.1和函数 8
2.1.2差函数 8
2.1.3乘函数 9
2.1.4除函数 9
2.1.5加一函数 9
2.1.6减一函数 9
2.1.7求余函数 9
2.1.8取整函数 9
2.1.9绝对值函数 9
2.1.10幂函数 9
2.1.11 e幂函数 9
2.1.12平方根函数 9
2.1.13正弦函数 9
2.1.14余弦函数 9
2.1.15反正切函数 9
2.1.16对数函数 10
2.1.17最大值函数 10
2.1.18最小值函数 10
2.1.19转实型数函数 11
2.2赋值函数 11
2.3交互输入函数 12
2.3.1整数输入 12
2.3.2实数输入 12
2.3.3字符输入 12
2.3.4点输入 12
2.3.5文件选取 12
2.4几何运算函数 13
2.4.1方位角运算 13
2.4.2距离运算 13
2.4.3极坐标法运算 13
2.4.4交点运算 14
2.5关系运算函数 14
2.5.1等于 14
2.5.2不等于 14
2.5.3小于 15
2.5.4小于等于 15
2.5.5大于 15
2.5.6大于等于 15
2.5.7相等 16
2.6逻辑运算函数 16
2.6.1与函数 16
2.6.2或函数 16
2.6.3非函数 16
2.7数据类型转换函数 17
2.7.1角度转换弧度 17
2.7.2弧度转换角度 17
2.7.3字符串转换实数 18
2.7.4字符串转换整数 18
2.7.5整数转换实数 18
2.7.6整数转换字符串 18
2.7.7实数转换字符串 18
2.8字符串处理函数 18
2.8.1合并字符串 19
2.8.2读取字符串 19
2.8.3读取子字符串 19
2.9表处理函数 19
2.9.1列表 19
2.9.2并表 20
2.9.3构造表 20
2.9.4倒表 20
2.9.5求表长 20
2.9.6取表首 20
2.9.7取表余 21
2.9.8取表中任意元素 21
2.9.9取表尾 21
2.9.10换表元 21
2.9.11表元循环处理 22
2.10流程控制函数 22
2.10.1条件判断 22
2.10.2持续 23
2.10.3多条件判断 23
2.10.4定量循环 24
2.10.5条件循环 24
2.11文件操作函数 24
2.11.1文件加载 24
2.11.2文件打开和操作 25
2.11.3文件读取 25
2.11.4文件写入 26
2.11.5文件关闭 26
2.12输出函数 26
2.13图元操作函数 27
2.13.1依次命名图元 27
2.13.2最后图元命名 27
2.13.3获取图元表 28
2.13.4建立图元表 28
2.14选择集函数 29
2.14.1选择集创建 29
2.14.2选择集添加 29
2.14.3选择集删减 30
2.14.4选择集返回 30
2.14.5选择集长度 30
2.15 CAD命令函数 30
2.15.1几何作图命令 30
2.15.2图形修饰命令 38
2.15.3图案填充命令 46
2.15.4图层命令 46
2.15.5剪辑板命令 48
2.15.6视图命令 48
2.15.7坐标变换命令 49
2.15.8系统变量命令 50
2.16自定义函数 51
2.16.1自定义函数概述 51
2.16.2自定义函数实例 51
3 LISP流程控制 60
3.1条件流程控制 60
3.1.1条件分支控制流程 60
3.1.2多条件分支控制流程 61
3.1.3条件表达式中的持续函数 62
3.2循环流程控制 63
3.2.1定量循环 63
3.2.2条件循环 63
3.2.3多重循环 64
3.3子程序流程控制 73
4 LISP程序的对话框设计 75
4.1对话框概述 75
4.2对话框的控件 76
4.2.1基本控件 76
4.2.2集控件 76
4.2.3单选集控 77
4.2.4确定取消组件 77
4.3对话框控制语言 77
4.3.1控件的定义 77
4.3.2控件的引用 78
4.3.3控件的属性 78
4.3.4对话框设计 79
4.4对话框操作 81
4.4.1对话框操作函数 81
4.4.2对话框驱动程序 84
5地形测量LISP程序设计 88
5.1地形测量数字成图与地形点编码 88
5.1.1数字成图中CAD的应用与二次开发 88
5.1.2地形点编码 88
5.2地形绘图图式符号库设计 92
5.2.1图式符号库的设计 92
5.2.2图式符号库的建立与应用 93
5.3线型设计 96
5.3.1简单线型的定义 96
5.3.2复杂线型的定义 97
5.3.3地形绘图线型文件的建立与应用 98
5.4线形符号绘制 101
5.4.1直线围墙符号绘制 102
5.4.2圆弧形围墙绘制 103
5.4.3直线铁路绘制 105
5.4.4圆弧形铁路绘制 106
5.4.5直线路堤绘制 108
5.4.6圆弧形路堤绘制 109
5.5矩形房屋及台阶符号绘制 110
5.5.1矩形房屋符号绘制 111
5.5.2台阶符号绘制 112
5.6自定义函数的调用 114
5.6.1临时加载调用自定义函数 114
5.6.2编制菜单调用自定义函数 115
5.7地形绘图面填充符号绘制 117
5.7.1地形绘图面填充符号设计 117
5.7.2地形绘图面填充符号库的建立与应用 121
5.8地形点展点与连线 122
5.8.1地形点展点与连线程序设计 122
5.8.2地形点展点与连线程序应用 124
5.9等高线地形图绘制 126
5.9.1等高线地形图自动绘制原理 126
5.9.2等高线地形图自动绘制程序 130
5.9.3等高线地形图自动绘制程序应用 142
5.10建筑三维图测绘的LISP程序设计 144
5.10.1应用于城市规划的城市地形三维模型 144
5.10.2三维建筑图测绘 145
5.10.3建筑轴线拟合和建立建筑坐标系 150
5.10.4建筑物实体的构建 152
5.10.5建筑三维模型的建立 176
6工程测量LISP测序设计 180
6.1空间前方交会计算程序设计 180
6.1.1空间前方交会原理 180
6.1.2空间前方交会计算公式 180
6.1.3空间前方交会计算程序设计 182
6.1.4空间前方交会算例 185
6.2空间平面平整度测定计算程序设计 187
6.2.1平面方程式参数和平整度 187
6.2.2平面平整度测定计算程序 189
6.2.3平面平整度测定算例 192
6.3测定空间圆周上多点计算圆心坐标程序设计 193
6.3.1平面上按圆周点计算圆心点坐标公式 193
6.3.2空间平面法向量计算公式 194
6.3.3空间坐标变换计算公式 196
6.3.4观测平面圆周上多点拟合圆心坐标计算公式 196
6.3.5测定空间圆周上多点计算圆心坐标程序设计 197
6.3.6测定空间圆周上多点计算圆心坐标算例 203
6.4测定球面上多点计算球心坐标程序设计 204
6.4.1测定球面上四点坐标计算球心坐标和球半径的公式 204
6.4.2测定球面上多点坐标平差计算球心坐标和球半径的公式 206
6.4.3测定球面上多点平差计算球心坐标程序设计 208
6.4.4测定球面上多点计算球心坐标算例 214
6.5工程结构物的抛物面方程式回归计算程序设计 215
6.5.1工程结构物抛物面方程式回归计算概述 215
6.5.2抛物面方程式回归计算公式 216
6.5.3抛物面方程式回归计算程序设计 217
6.5.4抛物面方程式回归计算算例 225
6.6缓和曲线测设数据计算程序设计 228
6.6.1缓和曲线元素和主点坐标计算公式 228
6.6.2缓和曲线和圆曲线细部点坐标计算公式 231
6.6.3缓和曲线测设数据计算程序设计 231
6.6.4缓和曲线测设数据计算算例 241
6.7光电测距仪周期误差测定计算程序设计 243
6.7.1光电测距仪周期误差测定计算公式 243
6.7.2光电测距仪周期误差测定平差计算程序设计 246
6.7.3光电测距仪周期误差测定算例 250
6.8光电测距仪加常数和乘常数测定计算程序设计 251
6.8.1光电测距仪加常数和乘常数测定计算公式 251
6.8.2光电测距仪加常数和乘常数测定计算程序设计 253
6.8.3光电测距仪加常数和乘常数测定算例 256
6.9用H变换解观测值方程式程序设计 258
6.9.1 H变换的理论公式 258
6.9.2 H变换的实用公式 259
6.9.3用H变换解观测值方程式程序 260
6.9.4用H变换解观测值方程式算例 267
6.10根据数据文件绘制平面控制网及点位误差椭圆 270
6.10.1绘制平面控制网图和误差椭圆的数据文件及绘图方法 270
6.10.2根据数据文件绘制平面控制网及误差椭圆程序 270
6.10.3绘制平面控制网和误差椭圆实例 274
参考文献 277