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

摘 要

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

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

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