58
2017年第1期
技术
研究
0 引言
在传统铁路设计项目中,工程数量报表都由各专业负责人进行收集汇总和整理,既浪费人力又不能保证数量准确,需要反复修改。采用BIM技术进行铁路模型设计,其模型中不仅包含几何信息,同时包括工程数量信息,可以直接以BIM模型为基础进行工程数量计算。在设计过程中,由模板自动计算并赋予每个实体工程数量信息,工程数量随着模型的设计完成直接形成。通过达索平台的二次开发导出包含工程数量的XML文件,再通过所开发的工程数量汇总程序读取XML文件信息,自动生成工程数量报表,不但节省时间,还保证数据的准确性。
1 BIM模型生成工程数量表整体方案
BIM模型生成工程数量表整体方案的理论基础是IFC 扩展。I F C是国际现有建筑信息模型存储标准中的I
python处理xml文件S O 16739:工业基础类(Industry Foundation Class)的简称。铁路工程信息模型基础数据体系结构在IFC体系结构的基础上,根据铁路工程需要进行扩展。工程数量计算方法首先需要扩展IFC分类,赋予每个实体一个工程数量属性或者值,通过模型得到实体的工程数量。达索平台作为本次研究使用的BIM平台,支持IFC扩展的导入和导出,利用CATIA模型中的IFC属性集和工程数量结果属性集,在属性中填入工程数量计算公式或计算成果,并通过达索平台二次开发程序,根据工程结构树节点,将附带工程数量信息
的XML格式文档导出,XML文件中包含每个节点的类型和属性及属性集[1]。导出XML文件后,由开发完成的汇总程序对XML文件、工程数量表和Python语言编写的专业汇总规则等3个输入进行逻辑运算,直接生成工程数量报表。以工程数量汇总程序为重点进行介绍,具体流程图见图1。
2 工程数量汇总程序主要功能
通用汇总程序基于BIM模型进行工程数量计算方法研究背景下进行开发。作为衔接BIM模型和工程算量报表的重要环节,程序主要负责解析XML文件,根据不同专业的工程算量计算方法,计算并生成相应的工程数量表。该通用汇总程序的主要开发内容如下。
(1)解析达索平台中导出的具有BIM模型工程数量信息的XML文件;
(2)依据XML文件属性信息生成工点树状图,并提供不同工点的选择功能;
(3)解析不同专业的工程数量汇总规则Python脚
基于达索平台BIM建模工程数量计算方法
■ 朱天华
摘 要:目前铁路BIM在设计方向的应用仍局限于模型建立阶段,对于BIM全生命周期的管理特性应用并不广泛,还有许多功能有待研究。介绍一种基于达索平台铁路BIM建模在工程数量导出和自动计算方面的应用,利用IFC扩展形式标记工程数量,在达索平台导出包含工程数量信息的XML文件,最终由统一汇总程序进行工程算量报表的自动生成。该方法首次实现由铁路BIM模型到工程算量报表的自动生成。
关键词:BIM;达索;IFC扩展;工程算量
中图分类号:TP31 文献标识码:A 文章编号:1672-061X(2017)01-0058-03DOI:10.19550/j.issn.1672-061x.2017.01.058
图1 工程数量汇总整体方法
BIM设计文件
工程数量结果
达索平台导出
带Python脚本的模板
计算
输入汇总程序
工程数量表
输入汇总程序
XML文件
Copyright©博看网 . All Rights Reserved.
技术研究
本,根据规则进行工程数量计算;
(4)根据不同专业的工程数量模板,计算并生成相应的工程数量表。
3 软件开发技术要点
3.1 Winform程序与Python脚本交互
经过前期的需求分析,最终选择Winform开发通用汇总程序,Python脚本书写不同专业的工程数量计算逻辑,不但大大降低程序的耦合性、提高程序灵活性,方便后期程序扩展;还解决了程序开发人员不了解专业工程算量方法、专业人员不了解程序开发的难题。专业人员只书写Python脚本的算量逻辑,程序开发者只做Winform部分,并提供Python脚本的通信接口,大幅提升工作效率。
本程序采用IronPython第三方库解决Winform程序与Python脚本通信的问题,在C#程序中提供Python脚本的接口,由汇总程序读取XML文件数据并传递给Python脚本相关参数和方法,Python脚本进行计算后再返回汇总程序进行计算和输出。此外,程序还提供专业Python脚本直接写入工程算量模板的处理方法,专业人员可直接在模板Excel文件的固定列写Python脚本,使Python脚本和工程算量模板合二为一,方便模板管理。
3.2 Excel模版的读取和输出
经过前期技术对比研究发现,Microsoft自身提供的Excel文件读取和输出方法运行速度较慢,其原因为
需要本机安装OfficeExcel软件,每次都需要运行相关进程,相当于打开一次OfficeExcel软件。而采用NPOI技术处理Excel模版的读取和输出,具有读取和导出速度快、代码编写方便、无需安装Office软件等优点[2]。
3.3 XML文件解析
对比研究XmlReader、XmlDocument以及第三方库,最终选择XmlDocument方法作为本次XML文件解析的解决方案。XmlDocument的解决方案方便编程开发,更面向对象,具有父节点和子节点等概念,方便进行节点的遍历和获取,提高了代码的可读性和可维护性。其缺点是对于大文件的处理效率较低,但经过试验对比,处理效率并未显著低于其他解决方法。
4 递归遍历算法在汇总程序中的应用
该程序主要采取迭代和遍历算法计算工程算量,通过所选XML文件节点和Excel模板内容确定计算次数。以一个XML节点为例,所选的一个XML节点代表一个需要计算工程量的工点,程序算法会遍历该节点的全部子节点以及子节点的子节点直到末端节点,这些节点也就代表着所选节点的全部工程量组成部分[3]。对于所需计算的Excel模板中的每一列工程量,程序会对遍历到的每一子节点依次依照相应的Python脚本计算其工程量,最终迭代相加为该列工程量的总和。同时,程序会依次遍历Excel模板中的全部Python 脚本列内容,分别计算其工程量,每次计算完成后,直接写入导出的Excel工程量文件
中。当选择多个XML节点时,则遍历重复以上部分,分别写入导出工程量文件的不同列中,并在第1行以该节点名称命名。其主要算法流程图见图2。
5 汇总程序应用方法
工程数量汇总软件截屏见图3,依据图3对该程序使用方法进行简要概述。
(1)选择达索平台导出的XML文件进行导入,与此同时右侧自动生成XML文件对应的工点树状图;
(2)选择需要进行工程量计算的工点,可以选择一个或多个;
(3)选择专业制作的包含Python脚本的工程算量Excel模板文件;
(4)点击“开始”菜单,选择“导出Excel”进行导出,可以自行选择导出位置生成所选工点的工程数量表。
图2 算法流程图
开始
导入XML文件,Excel模板
N
是否已经导入XML
文件和Excel模板
Y
选择XML文件节点
N
是否至少选择
了一个节点
Y
开始计算工程算量
计算所选节点在该行Python
脚本下的算量结果
Y
该节点是否
具有子节点
N相加所有节点算量结
果的和作为该行工程
算量最终结果写入
Excel文件相应位置
Excel模板是否具有
下一行Python脚本
Y
计算该子节点在第一行
Python脚本下的算量结果
N
选择Excel文件输出
地址,确定文件名
生成最终工程算
量汇总Excel文件
结束
Copyright©博看网 . All Rights Reserved.
59 2017年第1期
技术研
究
图3 工程数量汇总软件
6 结论与展望
目前,该方法已经在铁路轨道和桥梁专业成功测试,充分证明该方法在BIM模型工程算量导出上的正确性。这也是首次在铁路BIM领域成功通过BIM模型直接形成工程算量报表,为日后的BIM技术在铁路各方面的应用提供参考。由于该方法依赖于铁路各专业完善的IFC扩展定义乃至国家标准的制定,在未来铁路BIM标准更加完善后,可以进行修改并在更多的专业推广应用。
7 参考文献
[1] 朱小羽. 达索系统3D体验平台支持B I M数据存储标 准[J]. 铁路技术创新,2015(6):34-37.
[2] 张希. 使用C#+NPOI生成自定义Excel报表[J]. 电脑编程 技巧与维护,2015(13):56-57.
[3] 谭东. 谈XML文件的特点及如何在C#解析与展示[J]. 科 学与财富,2015(9):92.
朱天华:铁道第三勘察设计院集团有限公司,助理工程 师,天津,300251
责任编辑 苑晓蒙
4 结束语
通过研究并设计光伏建筑一体化发电的BIM模型,日照辐射模拟提前预判光伏布置设置合理性,并结合光伏发电算法预测设计方案实际发电量。该模型综合考虑了传统设计中涉及的关键因素,通过流程优化、算法融入,提高了光伏系统的设计效率,并结合地理信息属性对光伏建筑一体化模型进行仿真,从而提高设计计算结果预测的准确性,同时支持参数管理和可视化效果呈现。该模型能更好地利用建筑物的结构信息,从而得到更准确的光伏日照仿真结果,并为电力系统设计提供了一个简单、实用的工具,能够用于预测光伏发电和管理模型系统。
5 参考文献
[1] 何关培.BIM总论[M].北京:中国建筑工业出版社, 2011.
[2] HEECHAN,KANG.China and overseas solar PV industry development report[J]. Seri Quarterly, 2011,4(1):93-96.
[3] JIANG QIAO NA,CHEN ZHONG.The study of solar power forecasting based on BPmethod[J].Power Demand Side Management,2011,13(6):21-24.[4] SEUNGHO YOO.Simulation for optimal application of BIPV through parameter variation[J].Energy, 2011(3):1 291-1 301.
[5] 徐耀敏.高转换效率太阳能电池仿真设计[D].武汉:武 汉理工大学,2010.
[6] 张红梅.太阳能电池的研究现状与发展趋势[J].水电能 源科学,2008,26(6):193-197.
[7] 唐莉芸.光伏发电系统在绿建筑中的应用及其节能研 究[D].广州:华南理工大学,2012.
[8] 施韬.光伏建筑一体化研究及应用现状[J].新型建筑材 料,2011,38(11):38-41.
[9] 杨金焕,于化丛,葛亮.太阳能光伏发电应用技术[M]. 北京:电子工业出版社,2009.
[10] TB 10039—2012 铁路光伏发电系统及柴油发电站技 术规范[S].西安:中铁第一勘察设计院集团有限公 司,2012.
赵乐:轨道交通工程信息化国家重点实验室(中铁一 院),工程师,陕西 西安,710043
责任编辑 李凤玲
(上接第57页)
Copyright©博看网 . All Rights Reserved.
602017年第1期
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论