田迎斌,李幸麗
(1.中煤科工集團(tuán)唐山研究院有限公司 礦山測量研究所,河北 唐山 063012; 2.天地(唐山)礦業(yè)科技有限公司,河北 唐山 063012)
開采沉陷預(yù)計工作包括兩項基本內(nèi)容,一是繪制等值線圖對整個研究區(qū)域地表進(jìn)行全盆地分析,二是通過離散點預(yù)計對地表建(構(gòu))筑物進(jìn)行特定分析[1,2]。全盆地分析時是通過繪制地表下沉、傾斜和水平變形等指標(biāo)的等值線圖來對研究區(qū)域進(jìn)行各種分析和評價。繪制等值線圖的一般過程是:先在研究區(qū)域建立矩形方格網(wǎng),然后預(yù)計所有方格網(wǎng)交點處的各項移動和變形指標(biāo)值,最后通過插值方法繪制各類等值線圖。離散點預(yù)計主要是根據(jù)研究對象的特點布置相應(yīng)的分散點(例如房屋平面各拐點)或線狀展布的點(例如沿鐵路走向線上各點),然后利用概率積分法對其進(jìn)行開采沉陷預(yù)計,從而獲得該點的精確移動和變形值,為進(jìn)行相關(guān)問題分析研究和論證提供定量數(shù)據(jù)支撐[3-6]。離散點預(yù)計較全盆地分析具有針對性強和準(zhǔn)確性高(無需插值)等優(yōu)點。在此過程中如何根據(jù)需要快速建立大批地表離散點、提取離散點相關(guān)數(shù)據(jù)(坐標(biāo)和計算方位角)和進(jìn)行開采沉陷預(yù)計等是重點需要研究的內(nèi)容。
針對目前地表離散點預(yù)計過程中數(shù)據(jù)獲取、數(shù)據(jù)組織、數(shù)據(jù)修改和結(jié)果輸出存在的不足,提出了借助CAD圖元擴展屬性和參照塊技術(shù)來進(jìn)行地表離散點預(yù)計的程序設(shè)計新思路和新方法,并進(jìn)行了軟件實現(xiàn)。
離散點預(yù)計時主要需要兩個數(shù)據(jù)庫,即工作面預(yù)計參數(shù)數(shù)據(jù)庫和離散點坐標(biāo)數(shù)據(jù)庫。工作面預(yù)計參數(shù)數(shù)據(jù)庫包含了所有工作面的數(shù)據(jù),數(shù)據(jù)庫中一行數(shù)據(jù)代表一個工作面的基本信息,包括工作面角點坐標(biāo)、采深、采厚、煤層傾角、下沉系數(shù)和開采傳播影響系數(shù)等[7]。離散點數(shù)據(jù)庫包含了所有預(yù)計點的序號、坐標(biāo)和方位角,其布置位置和計算方位的確定取決于研究對象的需要。上述兩個數(shù)據(jù)庫為分別獨立的兩個數(shù)據(jù)庫,只有當(dāng)兩者同時存在時才能進(jìn)行離散點的預(yù)計和結(jié)果輸出,兩者缺一不可。
當(dāng)上述兩個數(shù)據(jù)庫構(gòu)建完畢后,還應(yīng)根據(jù)工作面各種開采方案組合選擇相應(yīng)的參與計算的工作面,然后調(diào)用概率積分法預(yù)計程序才能進(jìn)行離散點的預(yù)計,并進(jìn)行結(jié)果的輸出。
目前離散點預(yù)計過程存在如下幾個方面的問題:
1)離散點數(shù)據(jù)庫構(gòu)建速度效率較低,自動化程度不高。離散點數(shù)據(jù)庫內(nèi)每行數(shù)據(jù)由序號、X坐標(biāo)、Y坐標(biāo)和計算方位角四列數(shù)據(jù)所構(gòu)成。其中,前三列數(shù)據(jù)往往由手工輸入或結(jié)合AutoLisp和VBA二次開發(fā)命令進(jìn)行鼠標(biāo)點取,最后一列數(shù)據(jù)往往需要進(jìn)行手工錄入[8,9]。比如對于山區(qū)大片建筑群、鐵路、公路等進(jìn)行離散點預(yù)計,由于各地物的長短軸方向和走向不盡相同,其計算方位角也不同。所以,當(dāng)需要構(gòu)建一個包含幾百個預(yù)計點的離散點數(shù)據(jù)庫時,其工作量是相當(dāng)大的。
2)離散點數(shù)據(jù)庫數(shù)據(jù)編輯過程易出錯。有時根據(jù)地表研究對象的變化,還需要對已經(jīng)構(gòu)建好的離散點數(shù)據(jù)庫進(jìn)行編輯處理,即增加或刪除若干個點,并需要對其進(jìn)行重新排序,此時往往需要人工進(jìn)行處理,出現(xiàn)數(shù)據(jù)誤操作在所難免,且事后不易檢查,造成結(jié)果不可靠。比如對一個包含幾百個甚至上千個預(yù)計點的離散點數(shù)據(jù)庫進(jìn)行無規(guī)律刪除和增加若干條數(shù)據(jù),同時需要進(jìn)行重新排序,并且還要保證與CAD圖中的離散點序號文字標(biāo)注保持一致,這將是一個極其繁瑣和極易出錯的工作。
3)線狀布置離散點預(yù)計結(jié)果的表達(dá)不直觀。線狀布置離散點預(yù)計結(jié)果一般以文本形式進(jìn)行輸出,要想研究其變化情況往往需要在其他軟件(如Excel等)中進(jìn)行編輯、制作各種表格和繪制曲線。在Excel軟件繪制的曲線雖然能反映線狀地物的各種指標(biāo)的變化趨勢,但由于其沒有與CAD平面圖有機結(jié)合起來,其表現(xiàn)形式還是不夠直觀,也不方便進(jìn)行專項具體研究分析。
通過系統(tǒng)研究,對以往離散點預(yù)計過程中存在的問題進(jìn)行了改進(jìn),對其流程進(jìn)行了優(yōu)化,提出利用CAD對象擴展屬性和參照塊為技術(shù)手段,快速便捷構(gòu)建數(shù)據(jù)庫并實現(xiàn)預(yù)計結(jié)果的多樣化輸出。其主要步驟如下:
1)工作面預(yù)計參數(shù)準(zhǔn)備。主要以擴展屬性的方式實現(xiàn)將預(yù)計參數(shù)擴展到工作面(閉合多段線)之上,以供程序提取和調(diào)用[10-14]。
2)離散點計算。離散點計算包括布置離散點、提取離散點坐標(biāo)、選擇參與計算的工作面和生成離散點預(yù)計結(jié)果文件。
3)繪制移動變形曲線。根據(jù)生成的離散點預(yù)計結(jié)果,將諸如下沉、水平移動等指標(biāo)數(shù)據(jù)以曲線形式繪制在CAD圖中線狀地物(鐵路、公路等)某一側(cè),直觀表達(dá)移動變形的大小。
離散點預(yù)計流程如圖1所示。
肉眼可觀察到病死豬呈現(xiàn)典型的敗血癥變化,即皮膚出血、充血等狀況,同時存在不同程度的肺炎。剖檢后發(fā)現(xiàn),大部分病死豬都存在橡皮狀肺的現(xiàn)象,同時有明顯的間質(zhì)性肺炎癥狀,肺部呈現(xiàn)大理石樣病變。部分病死豬會出現(xiàn)肝臟腫脹、顏色變淡等情況,部分肝臟呈黃土色。一部分病死豬的脾臟存在腫大現(xiàn)象,且胸腔及腹腔有纖維蛋白滲出。
圖1 離散點預(yù)計流程圖
將上述流程涉及到的所有命令進(jìn)行集成,以菜單及子菜單方式附加于CAD菜單欄(如圖2所示)以方便調(diào)用。該預(yù)計過程只在CAD中操作,而無需借助第三方軟件進(jìn)行數(shù)據(jù)處理。
圖2 離散點預(yù)計菜單設(shè)計
要進(jìn)行離散點的沉陷預(yù)計,構(gòu)建工作面預(yù)計參數(shù)數(shù)據(jù)庫是基本前提。主要包括以下步驟:
1)圈定工作面。根據(jù)煤礦已采或規(guī)劃開采的相關(guān)技術(shù)圖紙,在CAD中使用閉合多段線圈定工作面。一個閉合多段線就代表一個工作面。
2)自動標(biāo)注工作面角點次序號。根據(jù)計算規(guī)則要求,每個工作面必須確定某一個角點采深。在進(jìn)行工作面屬性擴展時,必須輸入角點次序號及其對應(yīng)的采深。所以,在擴展屬性之前,必須對每個工作面角點次序進(jìn)行編號。第一個角點次序號對應(yīng)的角點為當(dāng)時圈定工作面時鼠標(biāo)所點取的第一個點,并依次類推。
3)擴展工作面屬性。將工作面基本信息和開采沉陷預(yù)計參數(shù)等一系列非圖形數(shù)據(jù)以擴展屬性方式附加到工作面圖元常規(guī)圖形數(shù)據(jù)之后,以供程序讀取和處理,具體方法詳見文獻(xiàn)[15]。
4)構(gòu)建預(yù)計參數(shù)數(shù)據(jù)庫。在CAD模型空間選擇參與計算的工作面,提取工作面常規(guī)和擴展屬性數(shù)據(jù),并組建預(yù)計參數(shù)數(shù)據(jù)文件。在預(yù)計參數(shù)數(shù)據(jù)庫中每行數(shù)據(jù)代表一個工作面的信息。
上述過程主要結(jié)合CAD二次開發(fā)語言AutoLisp及VBA的編程進(jìn)行實現(xiàn),在數(shù)據(jù)的獲取、組織和輸出上最大程度實現(xiàn)了程序化和自動化。
在CAD制圖過程中,有時常需要插入某些特殊符號供圖形中使用,此時就需要運用到參照塊功能。參照塊是CAD中一組圖形實體的總稱。在應(yīng)用過程中,CAD將參照塊作為一個獨立的、完整的對象來操作。用戶可以根據(jù)需要按一定比例和角度將參照塊插入到任一指定位置。由于參照塊是作為一個實體插入,CAD只保存參照塊的整體特征參數(shù),而不保存參照塊中每一個實體的特征參數(shù)。參照塊還可以帶有某些屬性。屬性是將數(shù)據(jù)或文字附著到塊上的標(biāo)簽或標(biāo)記。屬性文字要先單獨定義,然后在定義塊的時候?qū)D形和屬性一起選中,就成了帶屬性的參照塊。
離散點數(shù)據(jù)庫由序號、X坐標(biāo)、Y坐標(biāo)和計算方位角四列數(shù)據(jù)所構(gòu)成。所創(chuàng)建的參照塊屬性必須能夠包含以上四項數(shù)據(jù),程序才能夠提取到完整的數(shù)據(jù)并組建數(shù)據(jù)庫。根據(jù)上述需求,創(chuàng)建了以屬性文字代表離散點序號、以圓心位置代表離散點坐標(biāo),以箭頭所指方向代表離散點方位角的參照塊。參照塊特性中的相關(guān)數(shù)據(jù)隨著參照塊位置和旋轉(zhuǎn)角度不同而進(jìn)行適時的自動變化。
創(chuàng)建離散點參照塊時,AutoLisp程序主要調(diào)用CAD內(nèi)嵌的繪制圓(circle)、繪制箭頭(pline)、定義屬性(attdef)、定義塊(block)等命令,創(chuàng)建一個標(biāo)準(zhǔn)的參照塊并進(jìn)行命名(如lsdczk),以供后續(xù)插入?yún)⒄諌K時進(jìn)行調(diào)用。
布置離散點即是將已定義的名為lsdczk的參照塊插入CAD圖形中,并實現(xiàn)文字標(biāo)注序號的自動增加。利用AutoLisp語言開發(fā)了若干個命令用來布置單個和線狀均布離散點(圖2)。
地表離散點應(yīng)根據(jù)地物分布特點進(jìn)行布置。對于建筑物可以布置在建筑物的四角,離散點計算方向一般為建筑的長軸或短軸,如圖3所示。由圖3可見,建筑1和建筑2四角布置的離散點計算方位角不同,通過程序讀取參照塊的屬性數(shù)據(jù)可知,建筑1各離散點計算方位角為60°,建筑2各離散點計算方位角為90°。對于道路可以沿其走向每隔一定間距均勻布置離散點,其計算方向一般為沿走向方向。
圖3 建筑物四角離散點布置
布置單個離散點時,AutoLisp程序主要調(diào)用CAD內(nèi)嵌的插入(insert)、旋轉(zhuǎn)(rotate)等命令,集成了若干個功能使在插入?yún)⒄諌K時實現(xiàn)塊的旋轉(zhuǎn),從而確定了計算方位角。
布置線狀均布離散點時,AutoLisp程序主要調(diào)用CAD內(nèi)嵌的點定距等分(measure)、插入(insert)、旋轉(zhuǎn)(rotate)等命令,集成了若干個功能使在插入?yún)⒄諌K時實現(xiàn)塊的旋轉(zhuǎn),從而確定了計算方位角。
有時由于煤礦工作面開采計劃的調(diào)整、地物的更新變化和研究對象的變化等原因,都將涉及到地表布置離散點的增加、刪除、調(diào)整計算方向和重新排序等問題,相應(yīng)開發(fā)了“線狀均布離散點(以0.001遞增)”、“調(diào)整離散點計算方向”和“離散點序號重排”等命令,見圖2。
根據(jù)預(yù)計離散點總體布局和排序需要,有時需要在已存在的兩個離散點之間插入若干個離散點。此時,可以使用“線狀均布離散點(以0.001遞增)”的命令。如在55號點和56號店之間可以插入序號為55.001、55.002、…、55.010等10個點,目的是保證離散點序號的升序性和不重復(fù)性。當(dāng)不需要某些離散點時,可以直接在CAD模型空間刪除。
“調(diào)整離散點計算方向”命令可以對離散點的方向進(jìn)行修改。特別是線狀地物曲線段均勻布置離散點時,其方向常常與線狀地物走向存在偏差,即可用此命令進(jìn)行快速修改。當(dāng)根據(jù)需要修改完圖中所有離散點后,即可調(diào)用“離散點序號重排”命令將其按照從1開始以整數(shù)1遞增的順序和格式進(jìn)行自動重新排序。
當(dāng)布置完離散點并進(jìn)行重排序后,即可進(jìn)行構(gòu)建離散點坐標(biāo)數(shù)據(jù)文件的工作。離散點坐標(biāo)文件(TXT)內(nèi)數(shù)據(jù)格式如下:
1,X1,Y1,φ1
…
n,Xn,Yn,φn
…
n代表離散點編號,Xn代表測量X 坐標(biāo),Yn代表測量Y 坐標(biāo),φn代表該點的計算方位角。
調(diào)用圖2中“提取離散點坐標(biāo)”命令,程序?qū)⒆詣犹崛D幅中所有離散點的坐標(biāo)數(shù)據(jù)及方位角,并按序號從小到大的順序輸出到指定的默認(rèn)離散點坐標(biāo)文件(yjlsdzb.txt)文件中。
當(dāng)工作面屬性擴展和離散點坐標(biāo)數(shù)據(jù)文件構(gòu)建完成后,即可調(diào)用離散點預(yù)計對話框進(jìn)行預(yù)計,如圖4所示。對話框?qū)⑻崾居脩粼贑AD模型空間內(nèi)通過鼠標(biāo)選擇參與預(yù)計的工作面,之后點擊“生成離散點預(yù)計結(jié)果文件”按鈕,即可生成離散點預(yù)計結(jié)果,并以文本文件形式進(jìn)行存儲,存儲數(shù)據(jù)格式見表1。預(yù)計結(jié)果文件中第1行為預(yù)計結(jié)果各列數(shù)據(jù)的代碼及說明,其后各行數(shù)據(jù)代表各編號離散點的詳細(xì)預(yù)計結(jié)果。預(yù)計結(jié)果包括了下沉、計算方向傾斜、垂直計算方向傾斜等開采沉陷指標(biāo)數(shù)據(jù)。在程序中將計算方向順時針旋轉(zhuǎn)90°后所指的方向定義為垂直計算方向。與計算方向或垂直計算方向相差180°的方向為負(fù)方向。
圖4 離散點預(yù)計對話框
生成的離散點預(yù)計結(jié)果文件包括了所有沉陷指標(biāo)的預(yù)計值,離散點坐標(biāo)數(shù)據(jù)庫包含了各個離散點的坐標(biāo),因此,可以通過程序讀取表1中某一列移動變形指標(biāo)數(shù)值(如Uy對應(yīng)的是垂直計算方向的水平移動數(shù)值),同時讀取離散點坐標(biāo)數(shù)據(jù)文件中各離散點的坐標(biāo),然后將其按一定比例展繪到線狀地物的一側(cè)。該程序集成了CAD內(nèi)嵌的文件讀取命令和繪制多段線命令等,實現(xiàn)了繪制曲線的程序化和自動化。
通過在CAD圖中實地繪制線狀地物的移動變形曲線,可為直觀研究相關(guān)問題提供便利。某礦一不規(guī)則工作面開采后鐵路線的橫向水平移動曲線如圖5所示。由圖5可以直觀的看到當(dāng)工作面開采后鐵路線的橫向水平移動方向和移動量的大小,為開采期間鐵路維修時撥道、路基加寬和備料地點選擇等提供了依據(jù)。如想獲得鐵路沿線縱向水平變形的性質(zhì)和大小,可以繪制鐵路縱向水平變形曲線,為鐵路維修時軌縫調(diào)整提供依據(jù)。
表1 預(yù)計結(jié)果文件數(shù)據(jù)存儲格式
圖5 鐵路線橫向水平移動曲線
1)通過CAD圖元擴展屬性功能,將開采沉陷預(yù)計參數(shù)擴展到常規(guī)圖元數(shù)據(jù)結(jié)構(gòu)表之中。通過創(chuàng)建帶屬性離散點參照塊,利用CAD二次開發(fā)語言AutoLisp和VBA讀取參照塊的序號、坐標(biāo)和方位角的方法,實現(xiàn)了離散點序號、坐標(biāo)和方位角的自動提取,并快速構(gòu)建離散點數(shù)據(jù)庫。
2)對于工作面屬性擴展、離散點參照塊的創(chuàng)建、編輯、預(yù)計和移動變形曲線的繪制等功能,分別開發(fā)了相關(guān)命令,并將其以菜單和子菜單方式集成于CAD菜單欄之中,界面友好,使用方便。
3)該軟件已在多個礦區(qū)實際應(yīng)用,取得了較好的效果,極大提高了開采沉陷預(yù)計工作效率和結(jié)果準(zhǔn)確性。