礦井通風係統平麵圖自動繪製係統的研製
關鍵詞 通風係統平麵圖 計算機輔助設計 自動繪製
1 引言
礦井通風係統平麵圖是反映礦井實際通風狀況的開拓開采工程圖,它是礦井的必備圖紙之一,是通風係統方案設計、網絡03manbetx 和管理決策的基礎性資料。由於礦井通風係統平麵圖大多由不規則的線條、弧、圖塊等組成,同時隨著井下生產環境的變化,通風圖形也要隨之變化,修改工作量較大。
所以采用手工或通用商品化CAD圖形軟件如AutoCAD來繪製礦井通風係統圖不僅勞動強度大、效率低,而且繪圖精度低、容易出錯。這就要求開發出自動繪製係統圖的輔助設計CAD係統。
目前,我國礦井通風係統平麵圖輔助設計CAD係統有:中國礦業大學的VentCAD、河南理工大學開發的MCAD、安徽理工大學李湖生開發的MCANT等。這些礦井通風係統圖繪製係統所存在的問題是:限於當時的技術條件落後和開發工具單一,它們大都是用LISP和ADS開發的,這就不可避免造成軟件運行速度慢、界麵不太友好、人機交互性較差。另外,這些軟件盡管有些提供有巷道自動繪製模塊,但基本上不能完全自動確定巷道間的空間位置關係,還需進行人工判斷和人機交互式修改,這就不能最有效地降低工作量和提高工作效率。
鑒於此,使用AutoCAD 2000提供的ObjectARX開發工具(30版)在Visual C++ 60平台上開發完成了礦井通風係統平麵圖自動繪製係統——MventCAD,具有界麵友好、模塊性好、獨立性強、連接簡單、使用方便、內部功能高效實用等優點。MventCAD係統的最大特點是能夠完全自動繪製巷道,能夠自動確定巷道間的空間位置關係。
在MventCAD係統中,繪製一幅礦井通風係統平麵圖,並進行網絡解算要用到的基本模塊按操作順序依次為:圖紙初始化、添加巷道分支、巷道繪製、添加通風設施等。
2 圖紙初始化
圖紙初始化模塊是繪製通風係統平麵圖的第一步,主要功能是確定繪圖環境,包括設置繪圖比例、選擇文字樣式、選擇標題欄樣式、設置圖層以及繪製坐標方格網。在AutoCAD環境下,輸入內部命令initpaper,彈出的圖紙初始化對話框如圖1所示。
圖1 圖紙初始化對話框(略)
3 添加巷道分支
要實現通風巷道的自動繪製,應預先根據地質測量結果,輸入各條巷道的基本數據。這些基本數據包括巷道測站的坐標X、Y坐標,高程H,左邊距Ll(測站與巷道左幫的距離)、右邊距Lr(測站與巷道右幫的距離)。
在MventCAD中,要添加某條巷道分支的基本數據,首先應在激活該命令後彈出的對話框中輸入該條巷道的名稱,然後在彈出的“巷道數據輸入”表格中,根據要求輸入該巷道各測站的具體數值,最後這些數據作為記錄被存儲到數據庫名為HdEntermdb的“坐標數據輸入”表中。
4 巷道繪製
MventCAD係統在其核心模塊——巷道繪製中,不僅完全實現了巷道的雙線自動繪製,而且能夠自動對巷道間的空間位置關係進行正確判斷,根據判斷的結果,對巷道的連接、相交或交叉自動進行消隱處理。經過多個具體例子證明,隻要輸入的巷道分支基本數據能夠控製在一定誤差內,巷道自動繪製並進行自動處理後的結果,基本上符合礦井井巷實際布置狀況,很少需要進行人工修改。
巷道繪製模塊具體又分為巷道自動繪製,巷道消隱處理和巷道相連接處理3個子模塊。
41 巷道自動繪製
在添加巷道分支模塊結束後,運行該子模塊,係統將調用“坐標數據輸入”表,循環讀入每條巷道的基本數據,然後按照一定的步驟和方法進行自動繪製。係統在實現巷道自動繪製的算法時,其核心內容參照了手工繪製巷道的步驟。
首先以某礦一條巷道中的三測站兩段為例簡單介紹一下手工繪製巷道的步驟。
第一步,將現場實測巷道的數據列成表格。某礦3個測站的基本數據列於表1。
第二步,分別用三個測站的X、Y坐標在圖紙的相應位置繪出3個測站的平麵位置,見圖3中的pt1、pt2和pt3。
第三步,由pt1點在pt1和pt2連線的近似垂直方向上分別量取左邊距Ll1和右邊距Lr1,得到點pt11和pt12。同理,可得到兩段巷道的另外6個邊界點pt21、pt212、pt31、pt22、pt222和pt32。
第四步,分別連接pt11、pt21並延長至ptj1,連接pt31、pt212並延長至ptj1,形成左側巷道。
第五步,分別連接pt12、pt22並縮短至ptj2,連接pt32、pt222並縮短至ptj2,形成右側巷道。
第六步,進行測站名稱和底板標高及其它工作,完成圖形。
表1 某礦3個測站的基本數據(略)
在MventCAD係統中,建立一個CHangDao類,並提供了一個與手工繪製巷道步驟相一致的重要類方法(函數)——draw()。CHangDao類封裝了實現巷道繪製的具體細節,提供了同用戶進行交互的數據輸入接口(成員函數)。在使用CHangDao類時,隻需為其類對象的數據輸入成員函數賦值,並調用有關的繪製函數,即可自動繪製出一條巷道。MventCAD在執行“巷道自動繪製”子模塊時,將循環從“坐標數據輸入”表中讀入所需數據,然後按照上述代碼格式,構造巷道對象,並調用數據輸入成員函數和巷道繪製函數,最後自動繪製成圖。
42 巷道消隱處理
“巷道繪製”子模塊結束後,巷道的形狀、位置按照投影關係都被清晰地表示出來,但巷道間的空間位置關係還沒表示出來,所以必須進行巷道消隱處理。
巷道消隱處理指的是對於投影在平麵圖上相互交叉的兩個巷道,根據它們的空間位置關係,對交叉部位的隱藏線自動進行消除,並重新進行繪製,從而能正確地在平麵圖上顯示出巷道間的層次關係。
MventCAD係統把巷道間的空間相對位置關係歸納為以下5種(圖2所示):
(1)一巷從另一巷上部跨過,簡稱“上跨”(如圖2中A巷與B巷)。
(2)一巷從另一巷下部穿過,簡稱“下穿”(如圖2中A巷與C巷)。
(3)一巷與另一巷相貫通, 簡稱“貫通”(如圖2中A巷與D巷)。
(4) 一巷與另一巷相接, 簡稱“相接”(如圖2中A巷與E巷)。
(5) 一巷與另一巷不相關, 簡稱“無關”(如圖2中A巷與F巷)。
圖2 巷道空間位置關係示意圖(略)
係統在自動判斷某條巷道A與某條巷道B的位置關係屬於上麵5種關係裏的哪一種時,需進行以下兩個步驟:① 計算巷道A的左、右壁與巷道B的左、右壁在投影平麵上的交點數和交點坐標。設交點數為m,則如果m=0,那麼巷道A與B的關係屬於“無關”;如果m=2,那麼巷道A與巷道B的關係屬於“相接”;如果m=4,那麼需要進行第二步判斷。② 在m=4的前提下,分別求出巷道A與巷道B在某一個交點處的高程坐標h1和h2。如果h1-h2>ε(ε為高程誤差值,在MventCAD係統中ε為5m),那麼巷道A與B的關係屬於“上跨”。如果h1-h2<-ε,那麼巷道A與巷道B的關係屬於“下穿”。如果h1-h2≥-ε並且h1-h2≤ε,那麼巷道A與巷道B的關係屬於“貫通”。
應特別注意的是,係統在進行這兩個判斷步驟前,必須保證巷道A與巷道B最多隻能交叉一次,即其交點數最多隻能為4個。如果出現巷道B在巷道A上的交叉位置多於一個,那麼必須在輸入巷道B數據時,把它分成兩段或多段,保證每一段與A最多交叉一次,然後分別對巷道A與B的每一段進行消隱處理。
在上麵進行巷道關係判斷的步驟①中,要求巷道A與巷道B的交點坐標以及交點數,需用到CHangDao類的成員函數intersect,程序指令為Pts=A->intersect(B)(Pts為交點坐標數組,A、B為CHangDao類)。在成員函數intersect()中,首先把兩條巷道的左、右壁用兩個多義線實體表示出來,然後四次調用了ObjectARX類庫中的一個重要重載函數intersectWith()(該函數返回圖形中一個實體與另一個實體的交點)。
在上麵進行巷道關係判斷的步驟②中,要求出巷道交點處的高程坐標,需調用程序中的CalHeight()函數。在該函數內部,首先判斷交點位於巷道哪個壁以及壁上哪兩個已知高程的點之間,然後分兩種情況求出交點高程。這兩種情況如圖3???4所示,圖上P表示交點,A、B表示在巷道壁上與P相鄰的兩點,P1、A1、B1分別表示點P、A、B在平麵圖上的投影,h1為A點高程,h2為B點高程,hx為P點高程。
圖中,已知A、P和B點的X、Y坐標,並且已知A和B點高程為h1和h2,現求P點高程hx。對於情況1:|h1|<| h2|,過A點作垂直於AA1的直線,交PP1於點P11,交BB1於點BB1,則從圖上可看出:hx=h1+|PP11|,而由兩三角形相似定理,可求得| PP11|=|AP11|×(| h2|-| h1|)/|AB11|(其中| AP11|和| AB11|由兩點坐標公式計算而得),代入上式即可得hx得計算公式:hx=h1+| AP11|×(| h2|-| h1|)/| AB11|。同理,對於情況2:| h1|>| h2|,可求得hx得計算公式:hx=h2+|BP11|×(| h2|-| h1|)/|BA11|。〖BP)〗
經過步驟①和②,隻要輸入數據正確,巷道間的空間位置相對關係基本上能夠正確無誤地自動確定下來,這種關係類型以及交點坐標最終被存儲到hddatamdb數據庫中的"消隱表"中。接下來,應根據“消隱表”中的數據,對於需要消除隱藏線的巷道重新進行繪製。當某條巷道與其它巷道的相對位置關係為“下穿”、“貫通”或“相接”時,需在交叉部位消除隱藏線,而當關係為“上跨”和“無關”時,無需進行處理。〖JP〗
現以圖3中的巷道A為例,來具體說明係統是如何自動消除隱藏線的(該圖表示的是沒有經過消隱處理的通風係統局部圖)。從圖3中可看出,巷道A共有3個測站,如果用一個CHangDao類的對象(設名稱為HdA)來描述巷道A,那麼在消隱前,HdA的屬性之一“巷道左壁數組”共包括3點,分別為圖中的1、2、3點,HdA的屬性之二“巷道右壁數組”也包括3個點,分別為圖中的4、5、6點。在自動消隱時,係統順序讀入“消隱表”中與巷道A相關的記錄數據,根據數據項“巷道關係”的內容,可知:巷道A與巷道C的關係為“下跨”,巷道A與巷道D的關係為“貫通”,巷道A與巷道E的關係為“相接”,這樣,需在它們的交叉位置(圖3中X、Y、Z)消除隱藏線。然後,分別讀取記錄中“交點坐標”數據,在HdA的“巷道左壁數組”屬性中,添加4個點(見圖3中的7、8、9、10),在HdA的“巷道右壁數組”屬性中,添加6個點(見圖3中的11、12、13、14、15、16)。最後,刪除巷道A構成的組實體,再分別用直線(在程序中為AcDbLine類)連接1和7、8和2、2和9、10和3構成巷道左壁,分別用直線連接4和11、12和5、5和13、14和15、16和6,構成巷道右壁。對巷道A進行消隱處理後,係統按同樣的方法,自動對巷道B、C、D、E和F進行處理,最終得到的圖形如圖2所示。
圖3 通風係統局部圖(略)
43 巷道相連接處理
隨著礦井生產布局的變化,經常要開拓出一些新的巷道,如果新增加的巷道與某條已存在的巷道首部或尾部相連接,那麼就需進行該子模塊的處理,以便能在通風圖中自動準確連接這兩個巷道。MventCAD係統在判斷巷道A與巷道B是否相連接時,拿巷道A的首、尾坐標(即測站坐標)同巷道B的首、尾坐標相比較,如果屬於以下4種情況:A的首坐標等於B的首坐標、A的首坐標等於B的尾坐標、A的尾坐標等於B的首坐標或A的尾坐標等於B的尾坐標,那麼係統認為巷道A與巷道B相連接。係統根據不同情況的連接問題,用不同方法分別進行了處理,實現了巷道的自動準確連接。
例如,圖4中,a圖表示的是巷道A的尾坐標等於巷道B的首坐標的連接問題,經過係統處理,形成b圖,實現了準確連接。
圖4 巷道連接問題的處理(略)
5 添加通風設施
在通風係統圖上,必須用合適的符號表明通風設施的類型和位置,以表明通風係統布置情況。為了提高繪圖效率,MventCAD係統參照《煤礦礦井設計手冊》和《通風安全工程圖集》預先建立了標準化的通風圖例庫。圖例庫中包括通風設施、通風機、風流方向、安全監測、防塵等圖塊。
6 結論
MventCAD係統實際應用在平頂山煤業集團公司一礦、六礦、鄭州新登煤礦和神火煤業集團新莊煤礦等礦井的通風係統平麵圖繪製當中,並都取得了較好的應用效果。通過多次實際應用,證明該係統具有以下功能和特點:
(1)能夠自動繪製出反映礦井通風巷道實際布置情況和相對空間位置關係的通風係統平麵圖。
(2)繪製出的平麵圖易於編輯、修改和長期保存。
(3)界麵友好,人機交互性強。
(4)操作簡便,易於上手。
(5)程序易於維護和升級。
該係統具有較高的推廣應用價值,能夠應用在高等院校、煤炭研究所、礦務局、煤礦、培訓中心等單位,並將成倍降低工作量。
參考文獻
1 呂慶剛等.礦井通風圖形繪製係統研究.徐州:中國礦業大學碩士論文,1996
2 王都霞.礦井通風係統平麵圖繪製程序的研製.煤礦自動化,2000(2)
3 餘承飛等.Auto CAD 2000二次開發技術(ObjectARX).北京:人民出版社,19998
4 李湖生.礦井通風網絡圖CAD軟件的研製.煤礦安全,1996(10)
5 謝賢平.礦井通風係統CAD應用之捷徑.煤礦設計,1997(1)
6 李湖生.由礦井通風係統圖自動生成通風網絡圖.西安礦業學院學報,19976
7 郭金運.采礦工程平麵圖自動繪製係統.中國圖像圖形學報,2000(3)
8 Volkwein.Ventilation of automated mining systems.Preprint - Society of Mining Engineers of AIME Feb 26-Mar 1 1990