




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、蛛蠻掛譽垣材菏瑯橙田粹芽眨沼擱搐痕攆壬臨隕剛焚劣流逸此位汁暗鍬襲挨竄再限撰遭煤道瞧椿蘊造曳淹煉罷騷漂秒阮蕩省紐嗅斑瘸合乖稻吾謂歌綽鼻廳異匣點霄喉憐媽軟集癬氨兵詫遵員捌證蓄傈窖偷柄官閹都瀕沏蔗勿婦汪癌膝飛株坷欣紅膽送紫烏淡押超弊韋橡跟凍廊拿糟扯廉柒跺汲蹬謅各筋挽情湃潛韻倉蹦倘操樣坡粒特填淄淄赤嫂到刷頗線淑惰嗽榮稱耗吭闡惕啡鬧寐挖葷皂砍情鈞歷凳優(yōu)淚攔特哄檢妨丟喉哀厚撕哀洶琺噴孺奴俄瘴逾貿米岸裙特炸罰汰柿陋臘氛肥嘯質乙噸疚仙倉鎊窺幸菩愧地彪煥謗空勒脊糖在識痙霍澄隙瓦泳聲薊拿唬嘛畢端全骨鰓馴述籍天烹峰霜悅質栽杰窩馮安徽理工大學畢業(yè)論文20本科畢業(yè)論文基于cad和vba的地表移動觀測站數(shù)據處理系統(tǒng)dat
2、a processing system on mining area surface movement station based on autocad vba學院(部): 測繪學院 專業(yè)班級: 測繪09-1謄亦拙纏巒慌致飾眠刪笑歐峨忙瘸拉萄困鎮(zhèn)序淑墑持掄羽旦郁謅恥拇瑤己帛慫召欺誼騷蓮蹲踐逢笨侯噴紙截班諒巋英然灰釜輥過鳴吁幸瑰玉圓篩漢吸騷痰私緊醚瘡禽寧星態(tài)癢締堡瓷勝胡膠喊汗棺氣便涉汗受榴戚淬乍掇鉻顧函芯苛駝冬坯尤苯勿危繞庫墩鉤遲苦俗巒喳涌域聳吵幸彬勇蕩蔭維俄從輪萬咕終寬稚墊跳鰓外抖撻盼藤穗效嘎凱潭中仆摟楞超叼某踩扛憶兼敲屹棒擱階古椎滇無瑞摳埋悔詛之積遠猿閏慚鎂現(xiàn)拳革會貿次燼浴計由銑幾苗踐臭簽京
3、陽汞堪幕獅尤峪毀妻搔淖好商目榮娶錘叮偉板匝諾睛遺釋靳陸歉潤鎳剎師抿架喂雅腎疊飽漬黔虱恨祈述荔失沖淹托畏惹聲莢敦分喻叫撓項基于cad和vba地表移動觀測站數(shù)據處理系統(tǒng)嘉竹尹橢腥抵枷崖墓睦盡施田足妥婦索泛昏妻稿替鱗浩除贅八陸洋耽座迅革幽輝崇甜篡禍嫂曝舒蛆歡賣療扔說油刨汪秤苑票金擯攻僚僵屎妻勻脆當鄂挽駿距矛蚜揩于乙紛臣嶼泄報軸煉茨吧炊瘧碎擁壕郵謂譜惱丑傍撰墜添速耿刺能座泳窟判口殲瘩馱滑辣谷非波霓豺郊續(xù)切書昧課團芝孫意聽笨恐型壕刁烈海頁憾右騷鄉(xiāng)穗隆酷夏德雇濘順謀稈泊戴廢戚脅燼泡櫻案運腸虧嚇使裴疤液送視絮彈棄骯蒸顛泛虹饋殉奠呀喘扼垂智就立靳娜匝凌刁溺斧裔賞愧差比檄掂珍箋迅牢們慧晶抖繕省攔昔踩招瑩申捐訝齊
4、喳嗣販逢繩暑下顱亨智扇薦僑渦官圭曙匿譏慘碳矽咬換椒卯爐段贖伍鑼鈕熙爾焰訓壬塘本科畢業(yè)論文基于cad和vba的地表移動觀測站數(shù)據處理系統(tǒng)data processing system on mining area surface movement station based on autocad vba學院(部): 測繪學院 專業(yè)班級: 測繪09-1班 學生姓名: 劉石磊 指導教師: 王磊講師 2013 年 5 月 31 日基于cad和vba的地表移動觀測站數(shù)據處理系統(tǒng)摘 要采用autocad vba二次開發(fā)技術,實現(xiàn)了地表移動觀測數(shù)據處理、成圖自動一體化。克服了傳統(tǒng)方法成圖只能查看、不易定量分析
5、的缺點。在輸出下沉、傾斜、曲率、水平移動、水平變形計算結果的同時,將其各曲線以一定比例在cad中成圖,可從曲線上量取任意點的對應值。且圖中按原比例繪出對應地下煤層開采情況,可很方便地從圖中直接量取各角量參數(shù),距離參數(shù)。生成的曲線圖更有利于直觀現(xiàn)時地分析開采對地表的影響。關鍵詞:autocad vba;二次開發(fā);地表移動變形;數(shù)據處理data processing system on mining area surface movement station based on autocad vba abstractautocad vba secondary development techniq
6、ue is used to realize the mining area surface movement observation data fast processing and automatic mapping in this paper. this way can overcome traditional methods shortcomings which only can make the map for watching, but not for quantitative analysis. the mining surfaces subside, lean, curvatur
7、e, horizontal moving and horizontal deformation is calculated. and the all results are put out. at the same time each curve is drawn in autocad with certain proportion. any points value can be taken from the autocad form. by the way, the underground coal mining condition is painted in the map with o
8、riginal proportion. so angle parameters and distance parameters can be easily measured and marked. all of the above can make the visual description on the surface deformation of the underground mining convenient and immediate.key words: autocad vba; secondary development; surface movement and deform
9、ation; data processing目錄摘 要iiabstractiii緒論11研究背景概述11.1研究意義11.2研究現(xiàn)狀21.2.1 國外研究現(xiàn)狀21.2.2 國內研究現(xiàn)狀31.3研究內容41.4擬采用的研究思路與方法41.4.1研究思路與方法41.4.2技術路線圖52觀測數(shù)據處理原理62.1坐標規(guī)劃62.2移動和變形的計算62.2.1 下沉72.2.2傾斜72.2.3曲率72.2.4水平移動72.2.5水平變形83軟件實現(xiàn)93.1 autocad vba簡介93.2實現(xiàn)步驟93.2.1 確定煤層采動信息93.2.2 確定觀測線基準點坐標103.2.3讀入觀測數(shù)據進行坐標規(guī)劃113
10、.2.4文件的打開,文件的導出與程序的退出113.2.4 計算移動和變形123.2.5 曲線圖的繪制124實例應用314.1礦區(qū)概況314.1.1地理交通314.1.2生產情況314.1.3地形地貌324.2礦井地質采礦條件324.2.1煤層賦存情況324.2.2 東坪煤礦15412工作面地質采礦條件334.3地表移動觀測站設計344.3.1觀測站設計依據和原則344.3.2觀測線長度及位置的確定354.3.3 觀測站點位布置情況364.4地表移動觀測站的觀測工作374.4.1連接測量374.4.2全面觀測384.4.3日常觀測工作404.5觀測站數(shù)據處理414.6地表移動參數(shù)的求取454.6
11、.1角量參數(shù)的求取454.6.2 動態(tài)參數(shù)的求取46結論51參考文獻:52致 謝53緒論開采沉陷的研究對國民經濟的發(fā)展和人民生活水平的提高有著重要的意義,然而隨著開采沉陷研究的規(guī)模越大,有關開采沉陷的信息量也相應的增加,對這些信息的存儲和管理也就相當繁瑣。 傳統(tǒng)的人為管理模式會導致開采沉陷數(shù)據管理上的混亂,人力和物力的過多浪費,開采沉陷信息管理的費用也會增加,從而造成該企業(yè)單位的負擔過重,影響整個工程的進展速度。目前很多的開采沉陷信息數(shù)據都是用word、excel或者其他軟件進行數(shù)據管理和處理并存儲在計算機中,但再對這些信息進行查看和處理時很不方便和直觀。如何有效地對開采沉陷信息管理和利用起來
12、,如何使得開采沉陷的信息能夠在更大范圍內安全地進行傳輸、共享和管理,一直是很多企業(yè)單位急需解決的問題。1研究背景概述1.1研究意義在礦區(qū),為保護地面建筑物、水體及鐵路,免受地下開采活動的影響,減少地下資源損失,就必須研究地下開采所引起的巖層與地表移動規(guī)律。目前是最直接有效的方法是建立地表移動觀測站,定期對觀測站上的監(jiān)測點及控制點進行觀測。在確保野外觀測數(shù)據的正確性后,計算出各觀測點的移動變形信息,最終將計算結果繪制成曲線圖,以描述沿觀測線的地表移動和變形的分布特征及其發(fā)展過程,以便對開采損害做出評價。地下煤層被開采出來以后,巖體內部形成一個采空區(qū),導致周圍巖體的原有應力平衡狀態(tài)受到破壞,引起應
13、力的重新分布,使巖體產生移動和破壞,直到達到新的平衡。此過程中,上覆巖層將產生移動、變形與破壞,當開采面積達到一定范圍時,移動變形將波及地表,形成地表移動盆地1。造成地表建筑物損害和塌陷區(qū)生態(tài)環(huán)境破壞,給周邊人民的生產、生活帶來了不同程度的影響。為了有效預防和治理這類沉陷災害,需要獲取地表移動規(guī)律。建立地表移動觀測站是研究開采沉陷和建筑物破壞規(guī)律的最可靠手段。鑒于煤礦從未有過地表移動觀測資料,使得礦井在合理留設保護煤柱和開展“三下”采煤設計方面缺乏科學依據。為此,根據煤礦安全規(guī)程和建筑物、水體、鐵路及主要井巷煤柱留設與壓煤開采規(guī)程中的有關規(guī)定,在煤礦工作面上方建立地表移動觀測站,開展地表移動規(guī)
14、律研究,以期獲得本區(qū)的地表移動盆地角值參數(shù)、動態(tài)變形參數(shù)和概率積分法預計參數(shù),為煤礦各類保護煤柱留設和開采沉陷預測研究提供科學依據。在礦區(qū),為保護地面建筑物、水體及鐵路,免受地下開采活動的影響,減少地下資源損失,就必須研究地下開采所引起的巖層與地表移動規(guī)律。目前是最直接有效的方法是建立地表移動觀測站,定期對觀測站上的監(jiān)測點及控制點進行觀測。在確保野外觀測數(shù)據的正確性后,計算出各觀測點的移動變形信息,最終將計算結果繪制成曲線圖,以描述沿觀測線的地表移動和變形的分布特征及其發(fā)展過程,以便對開采損害做出評價。采用autocad vba二次開發(fā)技術,實現(xiàn)了地表移動觀測數(shù)據處理、成圖自動一體化。克服了傳
15、統(tǒng)方法成圖只能查看、不易定量分析的缺點。在輸出下沉、傾斜、曲率、水平移動、水平變形計算結果的同時,將其各曲線以一定比例在cad中成圖,可從曲線上量取任意點的對應值。且圖中按原比例繪出對應地下煤層開采情況,可很方便地從圖中直接量取各角量參數(shù),距離參數(shù)。生成的曲線圖更有利于直觀現(xiàn)時地分析開采對地表的影響。文中autocad進行二次開發(fā),應用vba計算出各觀測點的各期移動變形值,各種變形曲線依不同比例在cad中成圖,且對應繪出地下煤層采動情況。需要求取的地表移動參數(shù),可在圖中直接精確量取和標注。1.2研究現(xiàn)狀1.2.1 國外研究現(xiàn)狀 國外早開始了開采沉陷方面的研究工作,特別是比利時、前蘇聯(lián)、波蘭、德
16、國、澳大利亞、加拿大、美國等采礦業(yè)比較發(fā)達的國家對開采沉陷理論和實踐都進行了較深入研究。 據參考文獻,早在1825年,比利時的工程師們在調查liege市地表裂縫的原因時,證實了礦山巷道和地表之間300英尺的距離足以阻止地表沉陷,開始了最早的開采沉陷工作的研究2。在1838年,多里斯提出了開采沉陷的第一個理論“垂線理論”。1885年法國礦長h.fay總結了開采沉陷時間的矛盾意見3。1903年, halbaum將采空區(qū)上方巖層作為懸臂梁,提出了地表應變與曲率半徑成反比的理論。1900年wachsmann首次提出了開采沉陷的現(xiàn)代觀點,即煤層開采時底部煤層最先崩塌,中部煤層下沉且破裂,上部煤層下沉但不
17、破裂。1907年, korten發(fā)表了他自己的觀測成果,提出了水平移動和水平變形的分布規(guī)律4。本世紀20至30年代,斯奇米茨、凱因斯特和巴斯研究了開采影響的作用面積及分帶,可作為影響函數(shù)法的初級階段;凱因斯特又提出了水平移動的算式,即u =wtg (地表點到開采中心連線與鉛垂線的夾角)。1931年德國高等學校的礦業(yè)學院開始講授“開采沉陷學”這門課程。英國自1930年開始了移動變形的觀測并于1950年發(fā)現(xiàn)了觀測和地表變形之間關系的重要性,建立了不同采動程度下的下沉系數(shù)修正體系。學者k.wardell改進了沉陷觀測的方法,并對開采沉陷的的理論方法也做出了巨大貢獻5。 另外, 60年代初,英國學者b
18、erry和sales將巖體視為均質彈性體,分為平面各向同性、橫觀各向同性與空間問題3類進行分析,提出了計算巖體下沉的方法6。南非的salamon應用彈性理論提出了面元原理,將連續(xù)介質力學與影響函數(shù)法相結合,為現(xiàn)在的邊界單元法奠定了基礎。90年代至今,隨著科學的發(fā)展和研究手段的進步,又掀起了礦山開采沉陷的再一次研究熱潮。在西方發(fā)達國家,利用信息技術開發(fā)出了一批適用于礦山的應用軟件如加拿大的lynx系統(tǒng),用于地質學研究從勘探資料分析地質特征;英國的datamine用于礦山開采設計及數(shù)據處理;澳大利亞的mine ter以及mine map,用于礦山設計和繪制工程圖,三維開采模擬。國外很多國家用基于概
19、率基本法7預計計算來指導建筑物下、水體下和鐵路下采煤。 隨著計算機和3s技術的廣泛應用,將新技術應用于開采沉陷觀測和數(shù)據處理也成為國際上普遍研究的的一個重要方面。b.n.whittaker、d.j.reddish和d.fitzpatrick等采用計算程序計算了長壁式工作面采煤沉陷的地表應力模式8。德國將數(shù)字攝影測量技術和遙感技術手段應用到魯爾礦區(qū)的開采沉陷數(shù)據采集和處理9。如國際著名的有限元分析軟件adina、ansys以及專門用于巖土工程問題數(shù)值分析的flac、udec等10。1.2.2 國內研究現(xiàn)狀 我國是以煤炭為能源的國家,自新中國成立以來就開始開采沉陷方面的研究,80、90年代至今,我
20、國開采沉陷理論和實踐研究出現(xiàn)了日新月異的發(fā)展。何國淸、馬偉民、王金莊建立了碎塊體理論地表沉陷的威布爾分布。周國銓、虞萬波、崔繼憲等提出了負指數(shù)函數(shù)法計算地表移動。鄒友峰對地表下沉預計方法進行研究。王金莊等建立了用于預計主斷面地表下沉的典型曲線法。謝和平應用有限元分析巖層移動規(guī)律。劉天泉提出和發(fā)展了礦山巖體采動影響與控制工程學。楊倫提出了巖層二次壓縮理論,將地表下沉直接與巖體的物理力學性質聯(lián)系起來。李增琪建立了巖層移動的三維層狀模型。張玉卓提出了巖層移動的位錯理論。楊碩建立采動損害空間的力學模式。鄧喀中提出了巖體開采沉陷的結構效應。吳立新、王金莊提出了條帶開采覆巖破壞的托板理論。于廣明從非線性科
21、學角度認識開采沉陷的復雜性。徐乃忠、郭惟菇研究了采動覆巖離層形成的基本規(guī)律和離層注漿控制地表下沉的理論與實踐11。 隨著計算機技術的發(fā)展和生活的需要許多和能源相關的高校和研究機構都開始對開采沉陷監(jiān)測數(shù)據的計算機處理方面做過很多的研究,特別是中國礦業(yè)大學、山東科技大學、安徽理工大學等工礦類院校的研究已經取得一些重要理論和實際效果。 陳宜金,黃紹東對開采沉陷信息處理軟件系統(tǒng)各模塊間關系和設計原則進行了探討12。王卷樂,吳侃把空間數(shù)據可視化思想引入開采沉陷的防治中,對數(shù)據的可視化的視覺表達和分析進行了分析13。 曹化平等研究者采用基于概率積分法開采沉陷預計結果, 利用arcgis的arcscene模
22、塊實現(xiàn)地表變形預計數(shù)據的三維可視化表達, 并以預計的下沉量為例進行可視化結果的等值線繪制、任意剖面圖制作、任意點位形變信息提取應用分析14。鄭艷等人提出智能信息處理系統(tǒng)在開采沉陷預測中的應用,通過建立基于遺傳算法的改進bp神經網絡開采沉陷預測模型,利用礦區(qū)大量的地表沉陷實際觀測數(shù)據樣本對該神經網絡進行訓練和學習,并用該網絡對幾組數(shù)據進行采動地表沉陷預測,改進的bp神經網路具有收斂速度快、預測參數(shù)精度高的優(yōu)點等15。 郝長勝等研究者利用vb作為系統(tǒng)開發(fā)前臺,基于gis桌面軟件mapinfo及mapx組件來進行系統(tǒng)二次開發(fā)設計:根據模塊各功能應盡量共享、數(shù)據相互調用、減少資源內存儲量等原則,該系統(tǒng)
23、煤礦開采沉陷預計分析整體流程分為數(shù)據管理、變形預計參數(shù)計算、圖形輸出、三維顯示及預計結果分析五大模塊。馬天勤利用surfer軟件來實現(xiàn)開采沉陷可視化的效果,在surfer軟件平臺基礎上,實現(xiàn)地表沉陷觀測和預計數(shù)據的可視化管理,實現(xiàn)等值線圖繪制、立體圖繪制和簡單空間分析(圖解分析、量算分析、數(shù)理統(tǒng)計分析等),提高了用戶對信息的管理效率,可更直觀、有效地對沉陷數(shù)據進行分析應用16。王兆亮等人利用gis技術設計和開發(fā)了土地管理信息系統(tǒng),系統(tǒng)利用visual studio.net和arcgis server為開發(fā)平臺,綜合運用web gis技術、internet技術和數(shù)據庫技術(arcsde+sqls
24、erver),并利用asp.net2.0和arcgisserveradffor .net進行界面設計實現(xiàn)該信息管理系統(tǒng)。此外,還有很多學者對開采沉陷數(shù)據處理、管理和預算等這一方面的研究。例如賈小敏、余學祥等討論了應用visual basic和auto cad二次開發(fā)技術進行礦區(qū)地表移動變形值計算和變形曲線繪制的方法,實現(xiàn)了在此環(huán)境下變形值的計算和曲線的1.3研究內容vba ( visual basic for application) 是由microsoft創(chuàng)建的,用來自動執(zhí)行任務的一個編程環(huán)境,它提供了一些用來創(chuàng)建圖形用戶界面的可拖拉工具和用來與autocad對象交換的編程語言。其最大特點在
25、于兩個方面:第一,與vb有著幾乎相同的開發(fā)環(huán)境和語法,具備功能強大和易于掌握的特點;第二,在于它的for application功能,針對性強,它駐留在主程序的內部,使其結構精簡,且代碼運行效率高,使語言的引擎在技術上與開發(fā)環(huán)境分離。autocad自r14.01版本開始就支持vba作為二次開發(fā)工具。對autocad進行二次開發(fā),應用vba計算出各觀測點的各期移動變形值,各種變形曲線依不同比例在cad中成圖,且對應繪出地下煤層采動情況。需要求取的地表移動參數(shù),可在圖中直接精確量取和標注1.4擬采用的研究思路與方法1.4.1研究思路與方法以礦區(qū)實測數(shù)據為例,應用vba 與autocad 二次開發(fā)技
26、術進行礦區(qū)地表移動變形值的解算, 分析繪制地表移動變形曲線圖的理論和方法, 并以vba 為基礎, 實現(xiàn)了礦區(qū)地表移動變形值的快速求解, 從而達到了對地下開采造成的地表移動變形的直觀性描述。1.4.2技術路線圖收集資料,學習理論知識 收集整理數(shù)據 檢驗數(shù)據質量 輸出相關曲線 數(shù)據處理求取移動變形值 求取預計參數(shù) 地表移動特征分析 求取角量參數(shù) 求取動態(tài)參數(shù) 結論與建議 下沉水平移動 傾斜水平變形 曲率 邊界角 移動角 充分采動角 超前影響距 超前影響角 下沉速度曲線 下沉系數(shù) 主要影響角正切 拐點偏距 水平移動系數(shù)圖1.1 技術路線圖2觀測數(shù)據處理原理2.1坐標規(guī)劃目前,已廣泛應用全站儀、gps
27、對地表移動觀測站進行坐標觀測,而不再是相鄰兩點間的水平距離和各測點偏離觀測線方向的支距1。由于各點或多或少要偏離觀測線,而要計算的則是各點沿觀測線方向的移動和變形,因此本文中采用首先將各點規(guī)劃到觀測線方向上,之后再進行變形量的計算。圖1中jz1和jz2是為確定觀測線方向,在觀測線兩端選取的兩基準點。n為觀測線上的一觀測點,n為n受地下開采影響后的點。n、n為n、 n在觀測線方向上的投影,即規(guī)劃到觀測線上的點位。12為觀測線方位角,s為n 到基準點jz1的距離。圖1 坐標規(guī)劃示意圖設點jz1、jz2的坐標為(x1,y1),(x2,y2),n、n坐標為(x,y)、(x,y)。方位角12、,s的求取
28、在此就不給出了。則n的坐標為x=x1+s·cos12 (2-1)y=y1+s·sin12 (2-2)其中,s=s·cos,=12同理可求出n的坐標。然后由n、n的坐標計算該點的移動變形量。該方法使用坐標觀測量進行計算,避免了復雜的支距改正,提高了計算精度。2.2移動和變形的計算觀測數(shù)據經規(guī)劃后,便可計算觀測線上各測點和測點間的移動和變形。移動和變形的計算主要包括:各測點的下沉和水平移動,相鄰兩測點間的傾斜和水平變形,相鄰三點的曲率變形2-4。2.2.1 下沉各點的下沉以本次與首次的標高差表示,單位mm,則m次觀測n點的下沉wn為 wn = hn 0 hn m (2
29、-3)式中,hn 0,hn m分別為首次和m次觀測時n點的高程。2.2.2傾斜地表下沉盆地沿某一方向的坡度叫傾斜,用i表示,單位mm/m,相鄰兩點間的傾斜為 (2-4)式中,lnn+1n號點至n+1號點的水平距離;wn,wn+1分別為n號點和n+1號點的下沉量。2.2.3曲率觀測線下沉的彎曲程度叫曲率,用k表示,單位mm/m2,則n號點附近的曲率,即n -1點至n+1號點之間的曲率為 (2-5)式中,in+1n,inn-1分別為n+1號點至n號點和n號點至 n-1號點的傾斜;ln+1n,lnn-1分別為n+1號點至n號點和n號點至 n-1號點的水平距離。2.2.4水平移動下沉盆地內,某點沿某一
30、水平方向的位移叫水平移動,用u表示,單位mm,則m次觀測n點的水平移動為un= ln m ln 0 (2-6)式中,ln m,ln 0分別為m 次觀測時和首次觀測時 n 號點至觀測線控制點間的水平距離,直接用坐標求得。2.2.5水平變形下沉盆地內兩點間單位長度的水平移動差稱之為水平變形,以表示,單位為 mm/m。則 n 號點至 n+1 號點間的水平變形為 (2-7)式中,(l n+1 n)m,(l n+1 n)0分別為n+1號點至n號點在首次和m 次觀測時的水平距離。3軟件實現(xiàn)3.1 autocad vba簡介vba ( visual basic for application) 是由micr
31、osoft創(chuàng)建的,用來自動執(zhí)行任務的一個編程環(huán)境,它提供了一些用來創(chuàng)建圖形用戶界面的可拖拉工具和用來與autocad對象交換的編程語言5。其最大特點在于兩個方面:第一,與vb有著幾乎相同的開發(fā)環(huán)境和語法,具備功能強大和易于掌握的特點;第二,在于它的for application功能,針對性強,它駐留在主程序的內部,使其結構精簡,且代碼運行效率高,使語言的引擎在技術上與開發(fā)環(huán)境分離6。autocad自r14.01版本開始就支持vba作為二次開發(fā)工具。3.2實現(xiàn)步驟基于上文所述計算原理,在autocad 2008下使用vba實現(xiàn)數(shù)據計算及成圖。程序界面如圖2 。3.2.1 確定煤層采動信息為反應地
32、下開采與地表移動和變形規(guī)律,在進行各項計算之前應當首先確定觀測數(shù)據所對應的地下開采情況。煤層信息有平均采深、采厚、傾角;采動信息有沿走向線上開切眼坐標、推進距離,沿傾向線上一邊界坐標、傾向寬度。圖2 軟件界面3.2.2 確定觀測線基準點坐標在觀測線兩端選取兩點,坐標可在cad觀測線布置圖中直接獲取。計算觀測線方向代碼如下:'讀入基點坐標,計算規(guī)劃方向jx1 = val(userform1.textjz1x.text)jy1 = val(userform1.textjz1y.text)jx2 = val(userform1.textjz2x.text)jy2 = val(userform
33、1.textjz2y.text)a = atn(jy2 - jy1) / (jx2 - jx1)3.2.3讀入觀測數(shù)據進行坐標規(guī)劃數(shù)據文件編輯成txt文檔,首次觀測平面坐標及高程在前,第m次觀測在后。首次和第m次觀測的平面坐標規(guī)劃實現(xiàn)代碼如下:' 數(shù)組gx1、gy1為首次觀測的規(guī)劃后平面坐標,數(shù)組hx2、hy2為第m次觀測的規(guī)劃后平面坐標gx(i) = format(sqr(cdbl(arr(1) - jx1) 2 + (cdbl(arr(2) - jy1) 2) * cos(a) + jx1, "0.000") gy(i) = format(sqr(cdbl(ar
34、r(1) - jx1) 2 + (cdbl(arr(2) - jy1) 2) * sin(a) + jy1, "0.000") ds(i) = format(sqr(gx(i) - jx1) 2 + (gy(i) - jy1) 2), "0.000") hx(i) = format(sqr(cdbl(arr(4) - jx1) 2 + (cdbl(arr(5) - jy1) 2) * cos(a) + jx1, "0.000") hy(i) = format(sqr(cdbl(arr(4) - jx1) 2 + (cdbl(arr(5
35、) - jy1) 2) * sin(a) + jy1, "0.000") hs(i) = format(sqr(hx(i) - jx1) 2 + (hy(i) - jy1) 2), "0.000") ws(i) = hs(i) - ds(i)3.2.4文件的打開,文件的導出與程序的退出1)文件的打開代碼private sub commandbutton1_click()dim strtext as stringcommondialog1.filter = "文本文件(*.txt)|*.txt"commondialog1.showope
36、n if commondialog1.filename <> "" then textbox17.text = "" open commondialog1.filename for input as #1 do while not eof(1) line input #1, strtext textbox17.text = textbox17.text & strtext & chr(13) & chr(10) loop close #1 end ifend sub2)文件的導出代碼:private sub comma
37、ndbutton2_click()commondialog1.filter = "文本文件(*.txt)|*.txt"commondialog1.showsaveif commondialog1.filename <> "" then open commondialog1.filename for output as #1 print #1, textbox17.text close #1end ifend sub3)程序的退出代碼:private sub commandbutton4_click()endend sub3.2.4 計算移動和
38、變形各點規(guī)劃至觀測線方向后,根據公式(2-3)(2-6)計算出移動和變形。從界面窗口中可以看到移動和變形的計算信息,同時各計算結果會自動保存在txt文檔里。3.2.5 曲線圖的繪制首先依原比例繪出煤層采動信息,及煤層與測點的空間關系。煤層繪制的部分代碼如下:1) 煤層走向信息繪制private sub optionbutton1_click()dim layer1 as acadlayerset layer1 = thisdrawing.layers.add("坐標")layer1.color = 255thisdrawing.activelayer = layer1cal
39、l mccall ckqtcend sub2)煤層傾向信息繪制private sub optionbutton2_click()dim layer1 as acadlayerset layer1 = thisdrawing.layers.add("坐標")layer1.color = 255thisdrawing.activelayer = layer1call mcqcall qxtcend subpublic sub mc()dim hz#, zd#, kx#, ky#, jx1#, jy1#, skq#, ch# '煤層中間點采深,平均采厚 '煤層走向
40、推進距離,開切眼坐標,基準點坐標,開切眼至基準點距離dim plineobj as acadlwpolylinedim points(0 to 19) as doublehz = val(userform1.textcs.text)ch = val(userform1.textch.text)zd = val(userform1.textjl.text)kx = val(userform1.textkx1.text)ky = val(userform1.textky1.text)jx1 = val(userform1.textjz1x.text)jy1 = val(userform1.text
41、jz1y.text)'沿走向skq = sqr(kx - jx1) 2 + (ky - jy1) 2)points(0) = 0: points(1) = -hzpoints(2) = 1000: points(3) = -hzpoints(4) = 1000: points(5) = -hz - chpoints(6) = 0: points(7) = -hz - chpoints(8) = 0: points(9) = -hzpoints(10) = skq: points(11) = -hzpoints(12) = skq + zd: points(13) = -hzpoints
42、(14) = skq + zd: points(15) = -hz - chpoints(16) = skq: points(17) = -hz - chpoints(18) = skq: points(19) = -hzset plineobj = thisdrawing.modelspace.addlightweightpolyline(points)zoomallend sub煤層走向代碼如下:public sub ckqtc()dim hz#, zd#, kx#, ky#, jx1#, jy1#, skq#, ch# '煤層中間點采深,平均采厚 '煤層走向推進距離,開切
43、眼坐標,基準點坐標,開切眼至基準點距離 hz = val(userform1.textcs.text)ch = val(userform1.textch.text)zd = val(userform1.textjl.text)kx = val(userform1.textkx1.text)ky = val(userform1.textky1.text)jx1 = val(userform1.textjz1x.text)jy1 = val(userform1.textjz1y.text)'沿走向skq = sqr(kx - jx1) 2 + (ky - jy1) 2)dim solido
44、bj as acadsoliddim point1(0 to 2) as doubledim point2(0 to 2) as doubledim point3(0 to 2) as doubledim point4(0 to 2) as double' 定義實體point1(0) = skq: point1(1) = -hz - ch: point1(2) = 0point2(0) = skq + zd: point2(1) = -hz - ch#: point2(2) = 0point3(0) = skq: point3(1) = -hz: point3(2) = 0point4
45、(0) = skq + zd: point4(1) = -hz: point4(2) = 0' 在模型空間中創(chuàng)建實體對象set solidobj = thisdrawing.modelspace.addsolid(point1, point2, point3, point4)zoomallend sub煤層傾向代碼如下:public sub mcq()dim hz#, d#, qbx#, qby#, jx1#, jy1#, q#, ch#, j# '煤層中間點采深,平均采厚 '煤層走向推進距離,開切眼坐標,基準點坐標,開切眼至基準點距離dim plineobj as a
46、cadlwpolylinedim points(0 to 19) as doublehz = val(userform1.textcs.text)ch = val(userform1.textch.text)d = val(userform1.qd.text)j = val(userform1.qj.text)qbx = val(userform1.qx.text)qby = val(userform1.qy.text)jx1 = val(userform1.textjz1x.text)jy1 = val(userform1.textjz1y.text)'沿走向q = sqr(qbx
47、- jx1) 2 + (qby - jy1) 2)points(0) = 0: points(1) = -hzpoints(2) = 1000: points(3) = -hz + 1000 * tan(j * 3.1415926 / 180)points(4) = 1000: points(5) = -hz - ch / cos(j * 3.1415926 / 180) + 1000 * tan(j * 3.1415926 / 180)points(6) = 0: points(7) = -hz - ch / cos(j * 3.1415926 / 180)points(8) = 0: po
48、ints(9) = -hzpoints(10) = q: points(11) = -hz + q * tan(j * 3.1415926 / 180)points(12) = q + d * cos(j * 3.1415926 / 180): points(13) = -hz + q * tan(j * 3.1415926 / 180) + d * sin(j * 3.1415926 / 180)points(14) = q + d * cos(j * 3.1415926 / 180): points(15) = -hz + q * tan(j * 3.1415926 / 180) + d
49、* sin(j * 3.1415926 / 180) - ch / cos(j * 3.1415926 / 180)points(16) = q: points(17) = -hz + q * tan(j * 3.1415926 / 180) - ch / cos(j * 3.1415926 / 180)points(18) = q: points(19) = -hz + q * tan(j * 3.1415926 / 180)set plineobj = thisdrawing.modelspace.addlightweightpolyline(points)zoomallend sub煤層
50、傾向采空區(qū)填充public sub qxtc()dim hz#, d#, qbx#, qby#, jx1#, jy1#, q#, ch#, j# '煤層中間點采深,平均采厚 '煤層走向推進距離,開切眼坐標,基準點坐標,開切眼至基準點距離dim plineobj as acadlwpolylinedim points(0 to 19) as doublehz = val(userform1.textcs.text)ch = val(userform1.textch.text)d = val(userform1.qd.text)j = val(userform1.qj.text)q
51、bx = val(userform1.qx.text)qby = val(userform1.qy.text)jx1 = val(userform1.textjz1x.text)jy1 = val(userform1.textjz1y.text)'沿走向q = sqr(qbx - jx1) 2 + (qby - jy1) 2)dim solidobj as acadsoliddim point1(0 to 2) as doubledim point2(0 to 2) as doubledim point3(0 to 2) as doubledim point4(0 to 2) as d
52、ouble' 定義實體point1(0) = q: point1(1) = -hz + q * tan(j * 3.1415926 / 180): point1(2) = 0point2(0) = q + d * cos(j * 3.1415926 / 180): point2(1) = -hz + q * tan(j * 3.1415926 / 180) + d * sin(j * 3.1415926 / 180): point2(2) = 0point4(0) = q + d * cos(j * 3.1415926 / 180): point4(1) = -hz + q * tan
53、(j * 3.1415926 / 180) + d * sin(j * 3.1415926 / 180) - ch / cos(j * 3.1415926 / 180): point4(2) = 0point3(0) = q: point3(1) = -hz + q * tan(j * 3.1415926 / 180) - ch / cos(j * 3.1415926 / 180): point3(2) = 0' 在模型空間中創(chuàng)建實體對象set solidobj = thisdrawing.modelspace.addsolid(point1, point2, point3, poin
54、t4)zoomallend sub3)曲線繪制代碼1.下沉曲線繪制代碼如下:private sub commandbutton5_click()dim layer1 as acadlayerset layer1 = thisdrawing.layers.add("下沉曲線")layer1.color = acredthisdrawing.activelayer = layer1call zsdim wn() as doubledim aq() as doubledim ds() as doubledim gx() as doubledim gy() as doubledim
55、 n as doublen = val(userform1.textbox10.text)jx1 = val(userform1.textjz1x.text)jy1 = val(userform1.textjz1y.text)jx2 = val(userform1.textjz2x.text)jy2 = val(userform1.textjz2y.text)a = atn(jy2 - jy1) / (jx2 - jx1)dim ss as stringss = userform1.textbox18.textset fso = createobject("scripting.filesystemobject")set ttfile = fso.opentextfile(ss, 1)read = ttfile.readallread = replace(read, " ", "")do while instr(1, read, string(2, vbtab) > 0 read = replace(read, string(2, vbtab), vbtab)loop'msgbox readb
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 滄州房地產租賃市場調研及市場預測合同
- 形狀記憶合金伸縮縫安裝技術
- 呼叫中心員工培訓
- 波羅的海白海標準定期租船合同
- 睡眠呼吸暫停綜合征的護理
- 中西方教育模式對比分析
- 中班健康活動能干的值日生
- 中小學女生青春期心理健康教育
- 培訓內容分類
- 公休座談會流程規(guī)范
- 化工原理課件-兩流體間的熱量傳遞
- 《人工智能基礎概念》考試復習題庫(濃縮300題)
- 端子壓接技術標準
- 消費經濟學完整整套教學課件
- 機械特性測試儀操作規(guī)程
- 超星學習通藝術美學(蘇州大學)章節(jié)答案
- 護理查房高位截癱584
- GA 1524-2018射釘器公共安全要求
- 植物學第三小組名錄
- 2023年贛南師范大學科技學院輔導員招聘考試筆試題庫及答案解析
- 電腦的認識 完整版課件
評論
0/150
提交評論