基于AutoCAD的燃气管网水力计算软件开发

摘 要

以AutoCAD为平台,采用AutoCAD Object ARX二次开发技术实现对燃气管网水力计算的数据自动化处理,包括建立管网节点和管段的拓扑关系、读取Excel表中的管网数据并显示到图中,以获得管网的可视化;采用C#语言,编制了中低压燃气管网水力计算软件。

摘要:以AutoCAD为平台,采用AutoCAD Object ARX二次开发技术实现对燃气管网水力计算的数据自动化处理,包括建立管网节点和管段的拓扑关系、读取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
    随着天然气的大力推广应用,城市燃气管网的规模越来越大,在进行规划、设计和管网运行时,水力计算需要处理的数据越来越多。准确、快速地生成水力计算图,实现水力计算与管网AutoCAD图形的无缝结合成为提高燃气管网水力计算效率的重要途径[1~4]。为准确、快速地生成水力计算图及进行水力计算,本文开发了中低压燃气管网水力计算软件GPA。软件包含了两个模块,即以AutoCAD为平台,采用0bject ARX二次开发技术开发的模块一(ARX模块)和采用C#语言开发的模块二(水力计算模块)。
1 燃气管网图的0bject ARX二次开发
   在编制城市中压燃气管网规划、初步设计和进行调度运行时,水力计算是在燃气管网AutoCAD图的基础上进行的,水力计算图是以燃气管网Aut0CAD图为蓝本的。以此为出发点,本文针对Aut0CAD进行二次开发,目的是开发一个ARX模块,当AutoCAD载入该模块后,仅需人工输入管网图上所有节点的节点号,即可实现对燃气管网图的数据自动化处理。
    考虑到程序的实用性、可靠度和效率,采用Object ARX技术对AutoCAD进行二次开发,以实现燃气管网水力计算图与数据的自动化处理。
   Object ARX是Autodesk公司针对AutoCAD平台上的二次开发而推出的一个开发软件包,能快速地访问AutoCAD图形数据库。与以往的AutoCAD二次开发工具不同,ARX应用程序是一个动态链接库(DLL),共享AutoCAD的地址空间,对AutoCAD进行直接函数调用。因此,使用0bject ARX编程的函数的执行速度得以大大提高[5]
    开发出的ARX模块具体算法如下:
    ① 管网节点数据的处理
    ARX模块功能需求:对于水力计算图中的管网节点,一般有3个信息需要在图中显示:节点号、节点流量和节点压力。将这些节点信息保存在一个Excel表中,通过ARX模块可把Excel表中的节点信息显示到管网图中相应的节点上。
    算法:打开管网图后,运行MLeader命令对管网图上的节点进行标注,添加相应的节点号。
    提取管网图中每个节点的节点号,判断是否有重复的节点号或漏标的号(导致节点号之间不连续),若有,则报错,提醒操作人员修改;若无,则读取Excel表中的节点信息,并依次绘制到管网图中的相应节点上。
    ② 管网管段数据的处理
    ARX模块功能需求:对于水力计算图中的管网管段,一般有6个信息需要在图中显示:管段号、管材、管径、管段长度、管段流量和管段压力降。将这些信息保存在Excel表中,通过ARX模块可把Excel表中的管段信息显示到图中相应的管段上。
    算法:为方便管段数据的处理,ARX模块要为图中所有的节点和管段建立拓扑关系。a.找到图中所有的节点和管段,为每个节点找到与其相连接的管段,并保存信息。b.为每个管段找到与其连接的管段,并保存信息。c.给定任意两个节点,查找其相连的路径,如果此路径上的管段路线上还有其他的节点,则这两个节点之间定义为没有相连管段;否则,此路径上的管段定义为相连管段。
    ARX模块可实现的功能:遍历管网图中所有节点,找出所有节点之间的相连管段并编制管段号;记录连接管段的两个节点号和自动测量管段长度;将管网的管段号、管段长度、管段起点号及管段终点号等数据保存到Excel表中,以备水力计算软件调用;将水力计算软件生成的Excel表中的数据绘制到管网图的相应管段上,以生成水力计算图。
    本文采用的这种水力计算图的计算机生成方法,不局限于管段是垂直和水平的情况,它能依管段的倾斜而以相同角度的倾斜度标注数据、文字说明及管段流向。
2 水力计算模块的开发
    水力计算模块是在.NET平台上,采用C#语言开发设计,算法基于节点方程法[8]编制,由参数编辑、参数输入、预估节点流量、管网计算及结果输出子模块组成。水力计算模块的特点如下:
    ① 数据可直接调用ARX模块生成的数据文件进行计算;
    ② 水力计算公式采用规范[6]推荐的公式,算法是基于节点方程法编制的,计算稳定,收敛速度快,精度高[7~12]
    ③ 采用.NET技术开发,使用.NET技术开发的系统与Windows操作系统具有很好的兼容性,有微软的强大技术支持,能够很顺利地完成系统的移植;
    ④ 以商业应用为目标,提供良好的人机对话界面和个性化界面设置,操作方便,采用统一的单一版本,通用性强。
3 水力计算软件操作说明
    在进行水力计算时,首先打开管网AutoCAD图,在节点处人工标注节点号后载入ARX模块,调用ARX模块的Draft命令生成管网数据Excel表格文件,文件包含管段号、管段起点号、管段终点号及管段长度;在生成的文件基础上,对应管段添加相应的管材和管径数据,形成新的Excel表格文件,调用ARX模块的Redraft命令将文件数据载入到管网AutoCAD图上;在管网AutoCAD图上,修改添加的管段信息数据,如管材和管径数据等,再调用ARX模块的Result命令将调整后符合要求的管段数据输出到Excel表格中,以备水力计算模块调用。
    水力计算模块调用ARX模块生成的管网数据Excel表格文件,再输入燃气物性参数、预估的节点流量、气源点压力及其他已知参数,即可进行水力计算。水力计算结果文件包括管段压力降结果文件、节点压力结果文件及管材管长统计结果文件,均为Excel表格文件。
    在打开的管网AutoCAD图上,调用ARX模块的Pipe和Node命令,可将管段压力降结果文件和节点压力结果文件绘制到管网AutoCAD图上,即可生成满足要求的水力计算图。
    利用GPA软件进行水力计算,操作人员仅需熟悉AutoCAD与Excel的操作命令即可,简便易懂。利用GPA软件进行水力计算的详细操作步骤见图1。
 

4 结语
   ① 运用Object ARX二次开发技术开发的ARX模块实现了AutoCAD与Excel表格数据之间的自动化输入输出。
    ② 该软件实现了计算结果的Excel、AutoCAD输出,减少了水力计算的工作量,提高了燃气管网水力计算的效率。
软件可用于工程设计及运营调度人员选取管网结构方案和参数方案,还可对中压燃气管网实际运行中的参数进行模拟,为日常运营调度的分析提供准确的数据,辅助调度工程师作出调度决策。
参考文献:
[1] 丁国玉,田贯三,安俊卿,等.城市燃气管网水力计算软件的开发[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程序开发技术[M].北京:国防工业出版社,2005:8-12.
[6] 中国市政工程华北设计研究院.GB 50028—2006城镇燃气设计规范[S].北京:中国建筑工业出版社,2006.
[7] 谭昌厚.节点法一些具体问题的处理[J].煤气与热力,1993,13(5):22-25.
[8] 谢伟光.牛顿法在燃气管网节点压力计算中的应用[J].煤气与热力,1998,18(6):24-25、33.
[9] 潘大为,刘文俊.燃气管网水力计算与实测数据的拟合[J].煤气与热力,2005,25(10):33-35.
[10] 姜东琪,杜建梅,崔建华,等.燃气管网水力计算及水力计算图的绘制[J].煤气与热力,2001,21(5):453-455.
[11] 严铭卿.燃气输配工程分析[M].北京:石油工业出版社,2007:109-124.
[12] 薛世达,李永威.燃气管网平差计算中若干问题的探讨[J].煤气与热力,1991,11(4):24-28.
 
(本文作者:李丹华1 高华伟2 聂廷哲2 张兴梅3 苗艳姝3 1.哈尔滨市燃气工程设计研究院 黑龙江哈尔滨 150016;2.深圳中燃哈工大燃气技术研究院有限公司 广东深圳 518033;3.哈尔滨工业大学市政环境工程学院 黑龙江哈尔滨 150090)