基于AutoCAD的燃氣管網(wǎng)水力計算軟件開發(fā)

摘 要

以AutoCAD為平臺,采用AutoCAD Object ARX二次開發(fā)技術(shù)實現(xiàn)對燃氣管網(wǎng)水力計算的數(shù)據(jù)自動化處理,包括建立管網(wǎng)節(jié)點和管段的拓撲關(guān)系、讀取Excel表中的管網(wǎng)數(shù)據(jù)并顯示到圖中,以獲得管網(wǎng)的可視化;采用C#語言,編制了中低壓燃氣管網(wǎng)水力計算軟件。

摘要:以AutoCAD為平臺,采用AutoCAD Object ARX二次開發(fā)技術(shù)實現(xiàn)對燃氣管網(wǎng)水力計算的數(shù)據(jù)自動化處理,包括建立管網(wǎng)節(jié)點和管段的拓撲關(guān)系、讀取Excel表中的管網(wǎng)數(shù)據(jù)并顯示到圖中,以獲得管網(wǎng)的可視化;采用C#語言,編制了中低壓燃氣管網(wǎng)水力計算軟件。
關(guān)鍵詞:AutoCAD;Object ARX;水力計算;水力計算圖
Development of Hydraulic Calculation Software for Gas Network Based on AutoCAD
LI Danhua,GAO Huawei,NIE Tingzhe,ZHANG Xingmei,MIAO Yanshu
AbstractBased on AutoCAD,the automatic processing of hydraulic calculation data of gas network is realized by the Object ARX secondary development technology that includes establishing the topological relation between nodes and segments of the network,reading the network data in Excel spreadsheet and displaying them on an AutoCAD drawing to implement visualization of the network.The hydraulic calculation software for medium and low pressure gas network is programmed by C# language.
Key wordsAutoCAD;Object ARX;hydraulic calculation;hydraulic calculation drawing
    隨著天然氣的大力推廣應用,城市燃氣管網(wǎng)的規(guī)模越來越大,在進行規(guī)劃、設(shè)計和管網(wǎng)運行時,水力計算需要處理的數(shù)據(jù)越來越多。準確、快速地生成水力計算圖,實現(xiàn)水力計算與管網(wǎng)AutoCAD圖形的無縫結(jié)合成為提高燃氣管網(wǎng)水力計算效率的重要途徑[1~4]。為準確、快速地生成水力計算圖及進行水力計算,本文開發(fā)了中低壓燃氣管網(wǎng)水力計算軟件GPA。軟件包含了兩個模塊,即以AutoCAD為平臺,采用0bject ARX二次開發(fā)技術(shù)開發(fā)的模塊一(ARX模塊)和采用C#語言開發(fā)的模塊二(水力計算模塊)。
1 燃氣管網(wǎng)圖的0bject ARX二次開發(fā)
   在編制城市中壓燃氣管網(wǎng)規(guī)劃、初步設(shè)計和進行調(diào)度運行時,水力計算是在燃氣管網(wǎng)AutoCAD圖的基礎(chǔ)上進行的,水力計算圖是以燃氣管網(wǎng)Aut0CAD圖為藍本的。以此為出發(fā)點,本文針對Aut0CAD進行二次開發(fā),目的是開發(fā)一個ARX模塊,當AutoCAD載入該模塊后,僅需人工輸入管網(wǎng)圖上所有節(jié)點的節(jié)點號,即可實現(xiàn)對燃氣管網(wǎng)圖的數(shù)據(jù)自動化處理。
    考慮到程序的實用性、可靠度和效率,采用Object ARX技術(shù)對AutoCAD進行二次開發(fā),以實現(xiàn)燃氣管網(wǎng)水力計算圖與數(shù)據(jù)的自動化處理。
   Object ARX是Autodesk公司針對AutoCAD平臺上的二次開發(fā)而推出的一個開發(fā)軟件包,能快速地訪問AutoCAD圖形數(shù)據(jù)庫。與以往的AutoCAD二次開發(fā)工具不同,ARX應用程序是一個動態(tài)鏈接庫(DLL),共享AutoCAD的地址空間,對AutoCAD進行直接函數(shù)調(diào)用。因此,使用0bject ARX編程的函數(shù)的執(zhí)行速度得以大大提高[5]。
    開發(fā)出的ARX模塊具體算法如下:
    ① 管網(wǎng)節(jié)點數(shù)據(jù)的處理
    ARX模塊功能需求:對于水力計算圖中的管網(wǎng)節(jié)點,一般有3個信息需要在圖中顯示:節(jié)點號、節(jié)點流量和節(jié)點壓力。將這些節(jié)點信息保存在一個Excel表中,通過ARX模塊可把Excel表中的節(jié)點信息顯示到管網(wǎng)圖中相應的節(jié)點上。
    算法:打開管網(wǎng)圖后,運行MLeader命令對管網(wǎng)圖上的節(jié)點進行標注,添加相應的節(jié)點號。
    提取管網(wǎng)圖中每個節(jié)點的節(jié)點號,判斷是否有重復的節(jié)點號或漏標的號(導致節(jié)點號之間不連續(xù)),若有,則報錯,提醒操作人員修改;若無,則讀取Excel表中的節(jié)點信息,并依次繪制到管網(wǎng)圖中的相應節(jié)點上。
    ② 管網(wǎng)管段數(shù)據(jù)的處理
    ARX模塊功能需求:對于水力計算圖中的管網(wǎng)管段,一般有6個信息需要在圖中顯示:管段號、管材、管徑、管段長度、管段流量和管段壓力降。將這些信息保存在Excel表中,通過ARX模塊可把Excel表中的管段信息顯示到圖中相應的管段上。
    算法:為方便管段數(shù)據(jù)的處理,ARX模塊要為圖中所有的節(jié)點和管段建立拓撲關(guān)系。a.找到圖中所有的節(jié)點和管段,為每個節(jié)點找到與其相連接的管段,并保存信息。b.為每個管段找到與其連接的管段,并保存信息。c.給定任意兩個節(jié)點,查找其相連的路徑,如果此路徑上的管段路線上還有其他的節(jié)點,則這兩個節(jié)點之間定義為沒有相連管段;否則,此路徑上的管段定義為相連管段。
    ARX模塊可實現(xiàn)的功能:遍歷管網(wǎng)圖中所有節(jié)點,找出所有節(jié)點之間的相連管段并編制管段號;記錄連接管段的兩個節(jié)點號和自動測量管段長度;將管網(wǎng)的管段號、管段長度、管段起點號及管段終點號等數(shù)據(jù)保存到Excel表中,以備水力計算軟件調(diào)用;將水力計算軟件生成的Excel表中的數(shù)據(jù)繪制到管網(wǎng)圖的相應管段上,以生成水力計算圖。
    本文采用的這種水力計算圖的計算機生成方法,不局限于管段是垂直和水平的情況,它能依管段的傾斜而以相同角度的傾斜度標注數(shù)據(jù)、文字說明及管段流向。
2 水力計算模塊的開發(fā)
    水力計算模塊是在.NET平臺上,采用C#語言開發(fā)設(shè)計,算法基于節(jié)點方程法[8]編制,由參數(shù)編輯、參數(shù)輸入、預估節(jié)點流量、管網(wǎng)計算及結(jié)果輸出子模塊組成。水力計算模塊的特點如下:
    ① 數(shù)據(jù)可直接調(diào)用ARX模塊生成的數(shù)據(jù)文件進行計算;
    ② 水力計算公式采用規(guī)范[6]推薦的公式,算法是基于節(jié)點方程法編制的,計算穩(wěn)定,收斂速度快,精度高[7~12]
    ③ 采用.NET技術(shù)開發(fā),使用.NET技術(shù)開發(fā)的系統(tǒng)與Windows操作系統(tǒng)具有很好的兼容性,有微軟的強大技術(shù)支持,能夠很順利地完成系統(tǒng)的移植;
    ④ 以商業(yè)應用為目標,提供良好的人機對話界面和個性化界面設(shè)置,操作方便,采用統(tǒng)一的單一版本,通用性強。
3 水力計算軟件操作說明
    在進行水力計算時,首先打開管網(wǎng)AutoCAD圖,在節(jié)點處人工標注節(jié)點號后載入ARX模塊,調(diào)用ARX模塊的Draft命令生成管網(wǎng)數(shù)據(jù)Excel表格文件,文件包含管段號、管段起點號、管段終點號及管段長度;在生成的文件基礎(chǔ)上,對應管段添加相應的管材和管徑數(shù)據(jù),形成新的Excel表格文件,調(diào)用ARX模塊的Redraft命令將文件數(shù)據(jù)載入到管網(wǎng)AutoCAD圖上;在管網(wǎng)AutoCAD圖上,修改添加的管段信息數(shù)據(jù),如管材和管徑數(shù)據(jù)等,再調(diào)用ARX模塊的Result命令將調(diào)整后符合要求的管段數(shù)據(jù)輸出到Excel表格中,以備水力計算模塊調(diào)用。
    水力計算模塊調(diào)用ARX模塊生成的管網(wǎng)數(shù)據(jù)Excel表格文件,再輸入燃氣物性參數(shù)、預估的節(jié)點流量、氣源點壓力及其他已知參數(shù),即可進行水力計算。水力計算結(jié)果文件包括管段壓力降結(jié)果文件、節(jié)點壓力結(jié)果文件及管材管長統(tǒng)計結(jié)果文件,均為Excel表格文件。
    在打開的管網(wǎng)AutoCAD圖上,調(diào)用ARX模塊的Pipe和Node命令,可將管段壓力降結(jié)果文件和節(jié)點壓力結(jié)果文件繪制到管網(wǎng)AutoCAD圖上,即可生成滿足要求的水力計算圖。
    利用GPA軟件進行水力計算,操作人員僅需熟悉AutoCAD與Excel的操作命令即可,簡便易懂。利用GPA軟件進行水力計算的詳細操作步驟見圖1。
 

4 結(jié)語
   ① 運用Object ARX二次開發(fā)技術(shù)開發(fā)的ARX模塊實現(xiàn)了AutoCAD與Excel表格數(shù)據(jù)之間的自動化輸入輸出。
    ② 該軟件實現(xiàn)了計算結(jié)果的Excel、AutoCAD輸出,減少了水力計算的工作量,提高了燃氣管網(wǎng)水力計算的效率。
軟件可用于工程設(shè)計及運營調(diào)度人員選取管網(wǎng)結(jié)構(gòu)方案和參數(shù)方案,還可對中壓燃氣管網(wǎng)實際運行中的參數(shù)進行模擬,為日常運營調(diào)度的分析提供準確的數(shù)據(jù),輔助調(diào)度工程師作出調(diào)度決策。
參考文獻:
[1] 丁國玉,田貫三,安俊卿,等.城市燃氣管網(wǎng)水力計算軟件的開發(fā)[J].煤氣與熱力,2010,30(4):A31-A33.
[2] 彭繼軍,田貫三,劉燕.燃氣管網(wǎng)水力計算圖的計算機生成[J].山東建筑工程學院學報,2003,18(1):58-62
[3] 魯國文,馮良.基于AutoCAD的燃氣管網(wǎng)水力計算和自動繪圖系統(tǒng)的研究[J].上海煤氣,2006(1):26-29.
[4] 嚴銘卿.城市燃氣管網(wǎng)的計算機輔助設(shè)計[J].煤氣與熱力,1998,18(1):16-19.
[5] 李長勛.AutoCAD Object ARX程序開發(fā)技術(shù)[M].北京:國防工業(yè)出版社,2005:8-12.
[6] 中國市政工程華北設(shè)計研究院.GB 50028—2006城鎮(zhèn)燃氣設(shè)計規(guī)范[S].北京:中國建筑工業(yè)出版社,2006.
[7] 譚昌厚.節(jié)點法一些具體問題的處理[J].煤氣與熱力,1993,13(5):22-25.
[8] 謝偉光.牛頓法在燃氣管網(wǎng)節(jié)點壓力計算中的應用[J].煤氣與熱力,1998,18(6):24-25、33.
[9] 潘大為,劉文俊.燃氣管網(wǎng)水力計算與實測數(shù)據(jù)的擬合[J].煤氣與熱力,2005,25(10):33-35.
[10] 姜東琪,杜建梅,崔建華,等.燃氣管網(wǎng)水力計算及水力計算圖的繪制[J].煤氣與熱力,2001,21(5):453-455.
[11] 嚴銘卿.燃氣輸配工程分析[M].北京:石油工業(yè)出版社,2007:109-124.
[12] 薛世達,李永威.燃氣管網(wǎng)平差計算中若干問題的探討[J].煤氣與熱力,1991,11(4):24-28.
 
(本文作者:李丹華1 高華偉2 聶廷哲2 張興梅3 苗艷姝3 1.哈爾濱市燃氣工程設(shè)計研究院 黑龍江哈爾濱 150016;2.深圳中燃哈工大燃氣技術(shù)研究院有限公司 廣東深圳 518033;3.哈爾濱工業(yè)大學市政環(huán)境工程學院 黑龍江哈爾濱 150090)