余亮平
(中国五环工程有限公司,湖北 武汉 430223)
目前,工程设计图纸主要由人工绘制,重复繁琐的绘图工作,往往占用设计人员大量的工作时间;少部分图形虽可利用设计软件生成,但其局限性较大;特别是在当前共建“一带一路”的时代背景下,国际工程项目对于制图规则、表达深度要求不一,国内传统图纸的表达方式与现有设计绘图软件暂不能与之接轨,使得绘图工作量显著增加。如何满足特定项目要求,使工程绘图,尤其是重复性较大的绘图工作实现高效化、便捷化、自动化,成为绘图人员应当思考的问题。此前,一些论文[1,2]对于如何利用Excel表格进行数据整理和辅助绘制简单图形等有所介绍,但其应用程度尚浅。本文介绍的表格绘图法,从设计条件参数化出发,通过Excel函数[3]对条件数据进行转化处理,将条件数据与AutoCAD命令[4](或相关绘图插件命令)整合编制,并通过VBA获取绘图软件可识别并连续执行的命令流,最终实现施工图的快速自动生成。
表格绘图法本质上是利用Excel表格中丰富的公式及函数库,将设计条件、规范规定及功能要求等进行数据处理、命令汇编的一种参数化绘图方法。本文基于实际工程应用的表格绘图经验,对表格绘图法的基本框架(见图1)予以归纳和介绍。
图1 表格绘图法的基本思路
(1)设计条件。此为编制绘图表格的初始输入条件之一,同时也是表格编制完成后工程应用的设计变量输入,如数量、尺寸、标高、角度等设计参数。
(2)规范、标准。此为编制绘图表格的初始输入条件之一,在表格编制完成后的工程应用中,基本不再变动,即将规范、标准中的相关规定(如规范允许值、条文规定、标准形状及尺寸等),利用比较函数(如MAX、MIN)、查询函数(如VLOOKUP、INDEX、MID)、逻辑函数(如IF、AND、OR)等转换为数据或逻辑条件,再将其输入Excel表格,作为数据处理时的计算、判别或筛选依据。
(3)图形控制。此为编制绘图表格的初始输入条件之一,在表格编制完成后的工程应用中,允许进行调整,从而实现对图形显示的控制,如绘图比例、图形分布、字号、线宽、线型、颜色、图层等环境参数。
本文称之为绘图表格,其中包含数据处理、命令处理两类模块。
(1)数据处理模块。此用于对输入的条件进行转换、批量计算、条件判断等,例如表格绘图中的“定位”、“长度”、“数量”等关键数据,即在数据处理模块中产生。部分常用数据处理转换关系或Excel函数见表1。
表1 部分常用数据处理转换关系或Excel函数
(2)命令处理模块。该模块是在数据处理模块的基础上,将AutoCAD 或其应用插件能够识别的命令字符,按照命令执行规则,与数据处理模块生成的各类数据进行整合,形成可自动执行的命令片段,最后汇总为可连续执行的命令流。部分典型绘图功能对应的CAD命令及命令流格式见表2。
表2 部分典型绘图功能对应的CAD命令及表格绘图法命令流格式
注:①表中□表示空格(执行命令);②CHAR(13)为Excel表格中的回车函数;③命令流中斜体文字内容为通过数据处理模块输出的绘图数据。
(1)TXT命令文本。为获得Excel表格处理得到的绘图命令流,采用VBA代码控件,将命令流输出保存为与Excel表格同目录文件夹下的TXT命令文本,VBA代码如下:
Dim nm$
nm = ThisWorkbook.Path & "" & Range("B6") & ".txt" ‘新建文本并以单元格B6内容命名’
Open nm For Output As #1
Print #1, Range("E31")
由表3可知:Yoder法与WS处理测定的MWD呈极显著相关,与FW、WS处理呈显著相关;Yoder法和FW处理测定的GMD呈显著相关,FW处理与WS、SW处理呈显著相关,其他处理间相关性不显著;Yoder法和SW处理测定的R0.25值相关性显著,WS处理与FW处理也呈显著相关,其他处理间相关性不显著。可以看出:通过Yoder法测定的MWD、GMD、R0.25值与FW处理均有相关性,LB法三种处理测定的MWD、GMD、R0.25值大部分呈显著相关,说明植被混凝土团聚体在机械扰动下的崩解作用与消散作用显著正相关,LB法中团聚体崩解的三种机制之间有内在的联系。
Close #1 ‘将单元格E31中内容写入文本’
ActiveWorkbook.Save ‘保存工作表’
End Sub
由以上VBA代码输出的命令流满足两个自动绘图要求:一是可被绘图软件识别;二是可被绘图软件连续执行。
(2)DWG绘图模板。该模板为使用AutoCAD程序或其应用插件创建的模板文件,可在其中预设绘图环境(如图层、线型、颜色等),还可预置工程图形的“标准件”(即一般为标准做法的工程图形),供自动绘图过程中调用,从而有效节省Excel表中相应绘图数据编制处理工作、命令字符数量以及命令执行时间。
(3)图形生成。将TXT命令文本中的命令复制粘贴在DWG绘图模板命令行,AutoCAD程序即开始执行命令流,完成自动绘图。
在表格编制过程中,数据、命令处理框架搭建的合理与否将直接决定表格编制的难易甚至成败。在搭建处理框架时,首先需要选择各个部分图形的基本控制点或参数,如同工程测量或放线中的控制点,后续的绘图工作可以基于该控制点或参数逐渐发散、细化;其次,应考虑各个参数在表格中的布局,以充分利用Excel表格横向与纵向二维填充功能。
一方面,绘图表格在编制时可以考虑个人使用习惯、应用要求,使之具备一定的开放性。表格绘图允许使用者自定义绘图命令缩写,使生成的命令流与绘图软件中用户自定义的快捷命令相匹配;允许根据设计需要更改绘图环境参数,如比例、线宽、线性、颜色、字体、字号等;另一方面,为保护已通过验证的表格数据不被篡改出错,有必要对表格各部分进行不同程度的加密保护,设置可编辑区、允许自动计算区和完全不可编辑区。其中,可编辑区一般用于设计条件输入,允许更改内容;完全不可编辑区一般用于参数说明、使用说明等;允许自动计算区,不接受人为输入或改写,但可接受Excel程序内部运算结果的刷新与存储。
表格使用时,首先须允许表格使用宏,以便执行VBA代码获取命令流;第二,命令执行时(即从命令文本复制粘贴到DWG绘图模板文件的过程),不可随意增补或删减命令内容,任何多余或遗漏的分步命令(如空格、回车等)都可能导致命令执行错误或中断。
表格绘图法充分发挥了Excel表格对数据的批量处理和AutoCAD软件自动执行命令流的功能,不但能够达到图面整洁、深度足够的工程标准,并且相对于人工绘制,还表现出以下几方面的应用优势:
人工操作数小时,表格绘图几秒钟。利用表格绘图,将重复的图形绘制工作交给Excel表格数据处理和AutoCAD命令流执行,同类图形批量生成,节省的绘图时间非常可观。
人工绘图难免出现人为错误,而表格绘图一旦通过试用验证,则可完全避免重复工作中可能出现的人为错误。
人工绘图过程中,受计算精度、捕捉误差等影响,易造成制图误差以及误差累积。而表格绘制的图形定位、长度、比例等均是通过精确数据结果生成,确保了图形绘制的精确性。
根据具体工程要求,自定义绘图条件和绘图输出,针对性和实用性强。在设计条件方面,可按需设置输入参数,还可接口现有设计软件导出的成品数据,简化输入过程。在输出功能方面,比例可选、图层可调、字高可设,一键生成命令文本并自动命名保存,可随时重复使用。
表格编制与使用方便快捷,通用性好。首先,相比使用AutoLISP等二次开发方式,绘图表格的编制对于编程能力要求较低,适合大部分工程人员使用;其次,用于生成命令文件的Excel表格和TEXT文本,为最基本的办公文件程序或格式,无需安装其他程序文件,且一般不受限于系统版本及程序兼容性要求。
化工塔设备圆形塔平台结构图的表格绘图见图2。
(1)输入界面。如图2,输入界面各部分分别为:①绘图使用说明;②设计条件输入;③输入参考图例;④图形控制输入;⑤命令生成控件。
图2 圆形塔平台表格绘图参数输入界面
(2)命令文本及绘图模板。塔平台绘图命令文本及绘图模板见图3,命令文本自动以设备位号命名;绘图模板预设绘图环境、图形“标准件”(如钢梯平面图)等内容。
图3 塔平台绘图命令文本及绘图模板
(3)自动绘图成品。图形塔平台绘图成品见图4。成品图为按条件层数生成的化工塔设备圆形塔平台平面图,含塔周围平台与塔顶平台。图形主要以化工行业塔平台标准图集[5]为计算与设计依据,按施工图标准与深度,绘制包含轴线、设备外形、支耳、托架、钢梯、栏杆、角度、尺寸和标高及相应文字标注等内容。在无后续专业协调要求的前提下,该成品图基本可直接用于工程施工。
某境外总包项目混凝土梁配筋详图的表格绘图见图5。
(1)输入界面。梁配筋详图的表格绘图参数输入界面见图5,输入界面各部分为:①绘图使用说明;②、③、④设计条件输入1(从设计软件MIDAS程序中导出的混凝土梁截面、配筋数据等条件);⑤设计条件输入2(需手动输入的设计条件);⑥图形控制输入;⑦命令生成控件。
(2)命令文本及绘图模板。梁配筋详图绘图命令文本及绘图模板见图6,命令文本自动按用户输入的梁编号命名;绘图模板预设绘图环境、图形“标准件”(如美标规定的钢筋标准弯钩)等内容。
图6 梁配筋详图绘图命令文本及绘图模板
(3)自动绘图成品。梁立面、剖面配筋详图绘图成品见图7,成品图为按条件跨数绘制的连续梁配筋立面图和各跨跨左、跨中、跨右梁配筋剖面图。绘图内容基于美标构造要求[6,7]与MIDAS软件计算、设计结果,包含钢筋布置、钢筋截断位置、配筋数量与直径、加密区和非加密区的箍筋布置,以及相关尺寸标注和文字标注等连续梁配筋信息,在该成品图基础上进一步细化调整至施工图深度,可节省大部分绘图时间。
图7 梁立面、剖面配筋详图绘图成品
表格绘图法作为一种创新的参数化绘图方法,其应用可遵循本文归纳的基本方法:从输入条件出发,设计并搭建好数据处理框架,以“模块化”方式完成不同属性图形的数据与命令处理,并通过VBA代码实现命令整合与导出,最后在预设环境参数的DWG模板文件中执行命令,生成图形。从实例一、实例二工程图形绘制的应用结果可见,表格绘图法可大大缩减绘图时间,同时还具有无人为错误、绘图精度高、实用性强、通用性好等优势,值得推广应用。
本文所列举的两个实例表格,为相关的绘图工作带来了极大便利,节省了大量绘图时间。但由于作者不具有专业的编程水平,在设计条件读取、命令执行启动、表格封装处理等方面有待进一步深入和优化。