黄远泽,程振
(中水东北勘测设计研究有限责任公司,吉林 长春 130021)
施工进度计划是建设项目施工组织设计中的重要内容,也是安排各类资源计划的主要依据和控制性文件,而横道图是施工总进度计划表示方法之一。目前,建设项目尤其是水利水电项目在设计阶段的施工进度横道图大多数采用CAD 直接绘图,过程繁琐,且重复工作量大,目前市场上也有少数横道图CAD 绘图软件,但这些软件要么主要适用实施阶段的计划安排,要么功能有限无法满足设计阶段需求。本文旨在探索依托Excel强大的数据、图表功能,采用VBA 进行二次开发,以满足设计需要。
水利水电行业在施工总进度设计过程中,横道图制图常规采用AutoCAD 绘图标注、Excel 辅助计算分析,在计算分析时,因需要将设计的工程量、横道图时间段以数据形式再次输入Excel 中,操作繁琐重复,且无法避免对方案的调整,需要耗费大量时间,无法满足目前设计行业高质量发展需求,探索更高效的设计手段势在必行。
采用Microsoft Office Excel 内嵌的Visual Basic for Application(简称VBA)进行设计工具二次开发,可以让Excel 更加自动化[1]。VBA 有自己的IDE 集成开发环境,用户可以通过“工具”菜单选择“宏”,选择VB 编辑器来打开VBA 的集成开发环境。在IDE 中,用户可以创建、修改、运行、编辑和调试自己的软件。VBA具有自身的函数库,编写代码时可以调用,也可以根据已有函数和相关变量来自定义可以满足特定要求的新函数,根据需求还可以声明调用计算机操作系统的API函数或接口。
VBA 结合Excel 不仅简单、方便、高效,还可以定义自己的界面、窗体、按钮,达到形象、直观的目的。依托Excel 强大的数据、图表功能,采用VBA进行二次开发探索研发一款符合水利水电行业设计习惯的施工进度横道图制图软件,可以减少人力投入,提高设计效率,满足行业设计需求。
开发该软件的主要目的是解放设计人员的双手,让设计人员将大部分精力放在施工总进度计划安排的构思上,具体的计算及绘图交给软件进行。
1)数据输入界面
为了让设计人员快速入手,将常用的横道图格式移植到Excel 的Sheet1 中,设置工程项目、工程量、分年工程量及逐年列,并且将工期年数、分幅出图、进度平移等参数化,让软件对不同工程具有通用性;使用复制、删除、插入行列命令编写代码,形成不同项目的施工进度横道图界面框架[2]。由于各工程项目差异性大,工程项目、工程量的输入只能逐条输入或者从工程量表中链接。
2)横道图线条设计
按水电行业设计习惯,横道图不光用线条表示,还需在线条上标注日强度,所以在各项目对应的行、相应计划施工时段涉及的单元格内自动计算日强度是研究重点。日强度为工程量除以施工时段的天数,施工时段的天数涉及的单元格可用填充颜色标记。因Excel 中无统计填充颜色单元格数量的函数或命令,需用VBA自行定义COUNTCOLORIIF函数[3],该函数在此次软件开发中起到了关键作用,在单元格内引用该函数编辑日强度的公式,然后将含公式的单元格复制到各项目行施工时段涉及的单元格,即可完成横道图线条的设计。
3)主要项目强度累计计算
施工进度横道图中常需绘制土方开挖、石方开挖、土石方填筑、混凝土浇筑等强度曲线,因此,自动计算上述项目累计强度也是软件开发研究的关键。
软件开发中采用自定义上述主要项目的关键字如“土方明挖,土方开挖”“方填筑,石填筑,方回填,石护坡”,利用VBA 中Like 命令编写代码,逐行检索并按分类标记不同的颜色,之后用IF语句逐行判断并编写累计求和代码来完成强度累计计算。
4)自动绘图
水电行业施工进度横道图的表示形式为在线条上部端头标注日强度,因此,为了图形美观,用Excel 的行表示时,每一个项目头最好用3 行表示,线条居中绘制在中间行,上部行编辑公式标注强度,此3 行通过行高、边框线设置实现1 行的打印效果。
为了使软件具有自动化和通用性,在Excel 工作簿中另建1 个Sheet2,每3 行对应界面Sheet1 的1行,并按出图效果设置格式,利用循环语句将界面Sheet1 中的逐行数据在Sheet2 每隔3 行写入。利用Excel 自带的“条件格式”功能将每行的数据转换成线条。强度曲线采用结合Excel 柱形图编写ChartObjects 参数控制代码生成[4]。
最后通过调用不同工程的工期、项目头行数等参数,编写行列复制、删除、插入,以及单元格格式设置、Sheet 复制代码形成每个工程的施工进度横道图,以图片格式可插入AutoCAD,供套用图框、添加说明等后续处理。
5)软件功能
此次开发的软件具有工程量汇总、强度累计、制作强度曲线图、绘制施工总进度横道图并标注线条强度、分期分幅出图、进度线条批量平移(含部分项目跨停工时段平移)等功能。工程名、项目头、工程量及单位、进度线条需手动操作录入或设计,后续的计算及制图由软件自动进行。计算完成后,软件将图面整理存储成Excel(工程名+日期.xlsx,自动存储在软件所在文件夹)文件格式,此文件打开时软件不需要注册,供下游设计人员直接使用;并在后台复制成图片以便插入AutoCAD 标准图框中,满足质量管理体系流程运行要求。软件目前可运算最长工期为20 年,精度为0.5 个月。
软件共建立了Sheet1(界面)、Sheet2(绘图)、Sheet3(成图)表单(Sheet),其中Sheet1 为主要操作界面,共设置“初始化”“计算”“成图”等3 个按钮。
该软件在西藏金河勒珠水电站工程中得到了良好应用,并依托该项目,软件功能得到了很多优化和提升。
工程位于西藏自治区昌都市卡若镇乃帕村金河上游约5.3 km 处,下游距离昌都市察雅县吉塘镇19.9 km(河道距离),昌都县城关镇为昌都地区行署及县政府所在地。工程是澜沧江右岸一级支流金河下游河段规划六级开发方案的第四级电站,上游接多瓦水电站,下游依次为瓦托水电站、金河水电站。
项目的开发任务为发电,大坝为常态混凝土双曲拱坝,最大坝高144 m,坝顶高程为3 452 m,水库总库容约1.11×108m3。引水发电系统布置于右岸山体内,引水系统为一洞四机,尾水系统为单机单洞布置形式,地下厂房采用首部开发方式。电站总装机容量为120 MW,保证出力为20 MW,多年平均发电量为5.32×108kW·h。工程规模为大(2)型,工程等别为Ⅱ等。
考虑到筹建期的右岸上坝交通洞长达约2.0 km,只能单工作面施工;大坝最大开挖高度约236 m,大坝最大坝高144 m;每年只有3—11 月具有浇筑室外混凝土的气候条件及高原施工降效等因素,经分析计算,安排施工总进度为筹建期12 个月、工程总工期96 个月。施工准备工期从第一年的1月初开始,到第三年2 月末,直线工期为26 个月;主体工程施工工期从第三年的3 月初至第八年的11 月末首批机组发电,工期为69 个月;工程完建期为1 个月。
在预可行性研究阶段,施工总进度横道图设计采用的是行业内常规做法,即Excel 辅助计算分析、AutoCAD 标注绘图方法。需要将在AutoCAD中以项目头为行、工期每半个月为列,画出200 行(约200 个项目头)、192 列(工期96 个月×2)的网格,然后手动输入工程项目、单位、工程量、第几年、季度、月等名称和数量,对应每个项目头,设计出施工时段横道图,然后在Excel 中计算出相应的项目施工强度,并在AutoCAD 中进行标注,完成所有项目头的施工时段横道图设计、强度计算和标注后,还需进行主要项目如土方开挖、石方明挖、石方暗挖、土石方填筑、混凝土浇筑的累计强度计算、强度曲线绘制,最后在AutoCAD 中手动画出施工总进度表。计算量很大,绘制过程十分繁琐,更重要的是,随着设计的深入,大部分工程量会发生多次修改,每次修改都需要重复上述步骤进行计算和图纸绘制。
施工总进度横道图中的施工强度、强度曲线是水利水电项目施工组织设计的重要参数,没有相关成果,后续的工作无法开展,而施工组织设计又是编制整个项目投资的重要依据,所以施工总进度横道图制约着整个项目的进展。在水工专业提出工程量后,虽然施工设计人员加班加点赶工,首次成果也花费了15 d 左右,后续每次随工程量调整设计成果的计算都需要3 d 以上,这给施工专业不足2 个月的设计周期带来了巨大的挑战。基于此,设计人员依托项目进行了软件研发,旨在将设计过程的重复又有规律的工作程序化,以节约时间,提高效率。
在可行性研究阶段,软件已基本成型,将原来AutoCAD 发挥的功能全部融入到了Excel 中,而且依托项目不断优化,软件具备了程序化、标准化、通用化的特点。工程项目、单位、工程量直接从水工工程量资料提供单中复制粘贴,对应每个项目头的施工时段横道图设计,采用内置公式拖拽单元格的方式,自动完成了相应的强度计算、强度曲线绘制,并生成了和以前形式相同的施工总进度表。首次计算成果仅花费不到5 d,后续随工程量的修改成果计算耗时不足1 d,为施工专业保质保量按时完成任务赢得了大量时间。
目前,该软件在引绰济辽,西藏康卓水电站、山西垣曲及30 多个抽蓄等众多工程中得到了成功应用,提高效率约3倍,相关成果也顺利通过了审查。
此次软件的开发研究是依托实际项目进行的,并在实际应用中不断完善,亲和性、实用性、交互性、通用性强,可极大地减少重复工作,节约了时间。但目前软件仍然存在一些尚未解决的问题,比如无法自动生成关键线路,需在AutoCAD中手动绘制,而且Excel 对同一成果每次自动生成的图片横纵比例均有细微的差别,导致在工程后续处理中出现重复工作。随着技术的发展,软件会在工程的实际应用中得到不断的改进和优化,相关难题能够得到圆满的解决。