基于cad和vba地表移动观测站数据处理系统毕业论文(编辑修改稿)内容摘要:

ln~n+1——n 号点至 n+1 号点的水平距离; Wn, Wn+1——分别为 n 号点和 n+1 号点的下沉量。 曲率 观测线下沉的弯曲程度叫曲率,用 K表示,单位 mm/m2,则 n 号点附近的曲率,即n 1 点至 n+1 号点之间的曲率为 1 ~ ~ 1 1 ~ ~ 11 ~ ~ 1n 1 ~ n ~ 1 n 1 ~ n ~ 12 ( )( ) / 2n n n n n n n nn n nn n n ni i i iK l l l l       ( 25) 式中, in+1~n, in~n1——分别为 n+1 号点至 n 号点和 n 号点至 n1 号点的倾斜; ln+1~n, ln~n1——分别为 n+1 号点 至 n 号点和 n 号点至 n1 号点的水平距离。 水平移动 下沉盆地内,某点沿某一水平方向的位移叫水平移动,用 U 表示,单位 mm,则 m次观测 n 点的水平移动为 Un= Ln m — Ln 0 ( 26) 式中, Ln m, Ln 0——分别为 m 次观测时和首次观测时 n 号点至观测线控制点间的水平距离,直接用坐标求得。 安徽理工大学毕业论文 8 水平变形 下沉盆地内两点间单位长度的水平移动差称之为水平变形,以 ε 表示,单位为 mm/m。 则 n 号点至 n+1 号点 间的水平变形为 n 1 ~ n 1 ~ 01~n 1 ~ 0( ) ( )()n m nnnnlll  ( 27) 式中, ( l n+1 ~ n) m,( l n+1 ~ n) 0——分别为 n+1 号点至 n 号点在首次和 m 次观测时的水平距离。 安徽理工大学毕业论文 9 3 软件实现 AutoCAD VBA 简介 VBA ( visual basic for application) 是由 Microsoft 创建的,用来自动执行任务的一个编程环境,它提供了一些用来创建图 形用户界面的可拖拉工具和用来与AutoCAD 对象交换的编程语言 [5]。 其最大特点在于两个方面:第一,与 VB 有着几乎相同的开发环境和语法,具备功能强大和易于掌握的特点;第二,在于它的 for Application功能,针对性强,它驻留在主程序的内部,使其结构精简,且代码运行效率高,使语言的引擎在技术上与开发环境分离 [6]。 AutoCAD 自 版本开始就支持 VBA 作为二次开发工具。 实现步骤 基于上文所述计算原理,在 AutoCAD 20xx 下使用 VBA 实现数据计算及成图。 程序界面如图 2。 确定煤层采动信息 为反应地下开采与地表移动和变形规律,在进行各项计算之前应当首先确定观测数据所对应的地下开采情况。 煤层信息有平均采深、采厚、倾角;采动信息有沿走向线上开切眼坐标、推进距离,沿倾向线上一边界坐标、倾向宽度。 安徽理工大学毕业论文 10 图 2 软件界面 确定观测线基准点坐标 在观测线两端选取两点,坐标可在 cad 观测线布置图中直接获取。 计算 观测线 方向代码如下: 39。 读入基点坐标,计算规划方向 JX1 = Val() JY1 = Val() JX2 = Val() JY2 = Val() a = Atn((JY2 JY1) / (JX2 JX1)) 安徽理工大学毕业论文 11 读入 观测数据进行坐标规划 数据文件编辑成 txt 文档,首次观测平面坐标及高程在前,第 m次观测在后。 首次和 第 m次观测 的 平面坐标 规划实现代码如下: 39。 数组 gX gY1 为 首次观测 的规划后 平面坐标 ,数组 hX hY2为 第 m次观测 的规划后 平面坐标 gx(i) = Format(Sqr((CDbl(arr(1)) JX1) ^ 2 + (CDbl(arr(2)) JY1) ^ 2) * Cos(a) + JX1, ) gy(i) = Format(Sqr((CDbl(arr(1)) JX1) ^ 2 + (CDbl(arr(2)) JY1) ^ 2) * Sin(a) + JY1, ) ds(i) = Format(Sqr((gx(i) JX1) ^ 2 + (gy(i) JY1) ^ 2), ) hx(i) = Format(Sqr((CDbl(arr(4)) JX1) ^ 2 + (CDbl(arr(5)) JY1) ^ 2) * Cos(a) + JX1, ) hy(i) = Format(Sqr((CDbl(arr(4)) JX1) ^ 2 + (CDbl(arr(5)) JY1) ^ 2) * Sin(a) + JY1, ) hs(i) = Format(Sqr((hx(i) JX1) ^ 2 + (hy(i) JY1) ^ 2), ) ws(i) = hs(i) ds(i) 文件的打开,文件的导出与程序的退出 1)文件的打开代码 Private Sub CommandButton1_Click() Dim strtext As String = 文本文件 (*.txt)|*.txt If Then = Open For Input As 1 Do While Not EOF(1) Line Input 1, strtext = amp。 strtext amp。 Chr(13) amp。 Chr(10) 安徽理工大学毕业论文 12 Loop Close 1 End If End Sub 2)文件的导出代码: Private Sub CommandButton2_Click() = 文本文件 (*.txt)|*.txt If Then Open For Output As 1 Print 1, Close 1 End If End Sub 3)程序的退出代码: Private Sub CommandButton4_Click() End End Sub 计算移动和变形 各点规划至观测线方向后,根据公 式 ( 23) ~( 26) 计算出移动和变形。 从界面窗口中可以看到移动和变形的计算信息,同时 各 计算结果会自动保存在 txt 文档里。 曲线图的绘制 首先依原比例绘出煤层采动信息,及煤层与测点的空间关系。 煤层绘制的部分代码如下: 1) 煤层走向信息绘制 Private Sub OptionButton1_Click() Dim layer1 As AcadLayer 安徽理工大学毕业论文 13 Set layer1 = (坐标 ) = 255 = layer1 Call MC Call CKQTC End Sub 2)煤层倾向信息绘制 Private Sub OptionButton2_Click() Dim layer1 As AcadLayer Set layer1 = (坐标 ) = 255 = layer1 Call mcq Call QXTC End Sub Public Sub MC() Dim HZ, ZD, KX, KY, JX1, JY1, SKQ, CH 39。 煤层中间点采深,平均采厚 39。 煤层走向推进距离 ,开切眼坐标,基准点坐标 ,开切眼至基准点距离 Dim plineObj As AcadLWPolyline Dim points(0 To 19) As Double HZ = Val() CH = Val() ZD = Val() KX = Val() KY = Val() JX1 = Val() JY1 = Val() 39。 沿走向 安徽理工大学毕业论文 14 SKQ = Sqr((KX JX1) ^ 2 + (KY JY1) ^ 2) points(0) = 0: points(1) = HZ points(2) = 1000: points(3) = HZ points(4) = 1000: points(5) = HZ CH points(6) = 0: points(7) = HZ CH points(8) = 0: points(9) = HZ points(10) = SKQ: points(11) = HZ points(12) = SKQ + ZD: points(13) = HZ points(14) = SKQ + ZD: points(15) = HZ CH points(16) = SKQ: points(17) = HZ CH points(18) = SKQ: points(19) = HZ Set plineObj = (points) ZoomAll End Sub 煤层走向代码如下: Public Sub CKQTC() Dim HZ, ZD, KX, KY, JX1, JY1, SKQ, CH 39。 煤层中间点采深,平均采厚 39。 煤层走向推进距离 ,开切眼坐标,基准点坐标 ,开切眼至基准点距离 HZ = Val() CH = Val() ZD = Val() KX = Val() KY = Val() JX1 = Val() JY1 = Val() 39。 沿走向 SKQ = Sqr((KX JX1) ^ 2 + (KY JY1) ^ 2) Dim solidObj As AcadSolid 安徽理工大学毕业论文 15 Dim point1(0 To 2) As Double Dim point2(0 To 2) As Double Dim point3(0 To 2) As Double Dim point4(0 To 2) As Double 39。 定义实体 point1(0) = SKQ: point1(1) = HZ CH: point1(2) = 0 point2(0) = SKQ + ZD: point2(1) = HZ CH: point2(2) = 0 point3(0) = SKQ: point3(1) = HZ: point3(2) = 0 point4(0) = SKQ + ZD: point4(1) = HZ: point4(2) = 0 39。 在 模型空间中创建实体对象 Set solidObj = (point1, point2, point3, point4) ZoomAll End Sub 煤层倾向代码如下: Public Sub mcq() Dim HZ, D, QBX, QBY, JX1, JY1, Q, CH, j 39。 煤层中间点采深,平均采厚 39。 煤层走向推进距离 ,开切眼坐标,基准点坐标 ,开切眼至基准点距离 Dim plineObj As AcadLWPolyline Dim points(0 To 19) As Double HZ = Val() CH = Val() D = Val() j = Val() QBX = Val() QBY = Val() JX1 = Val() JY1 = Val() 39。 沿走向 安徽理工大学毕业论文 16 Q = Sqr((QBX JX1) ^ 2 + (QBY JY1) ^ 2) points(0) = 0: points(1) = HZ points(2) = 1000: points(3) = HZ + 1000 * Tan(j * / 180) points(4) = 1000: points(5) = HZ CH / Cos(j * / 180) + 1000 * Tan(j * / 180) points(6) = 0: points(7) = HZ CH / Cos(j * / 180) points(8) = 0: points(9) = HZ points(10) = Q: points(11) = HZ + Q * Tan(j * / 180) points(12) = Q + D * Cos(j * / 180): points(13) = HZ + Q * Tan(j * / 180) + D * Sin(j * / 180) points(14) = Q + D * Cos(j * / 180): points(15) = HZ + Q * Tan(j *。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。