张浩
施工图纸是施工的指导性文件,其绘制工作是工程设计组成的重要一环。目前,大多数设计院采用AutoCAD软件进行施工图绘制,并根据不同专业采取不同AutoCAD二次开发程序,以提高绘图质量及效率,如天正公司开发的天正建筑绘图系列软件,探索者公司开发的探索者机械绘图系列软件,中望龙腾公司开发的中望电气绘图系列软件。除此之外,有些设计院还会根据绘图特点及习惯开发适合自身的辅助程序。
由于目前市场上并没有一款针对风电基础设计的商用绘图软件,为了节省设计时间,对于基础设计工作中的一些重复性工作,有必要通过对施工图绘制顺序、方法进行分析,编写出针对风电机组基础结构施工图绘制的程序。本文基于AutoCAD平台采用AutoLISP语言进行程序的编制,通过该程序,设计人员输入少量基础参数即可自动绘制符合规范的风电机组基础图纸。
程序设计流程
AutoCAD是Autodesk公司于1982年开发的一款计算机绘图软件,因其具有强大的图形处理能力、兼容性、易用性而在各个领域广泛应用,支持AutoCAD开发的程序也很多,有LISP、VBA、ObjectARX、ActiveX自动化等。AutoCAD平台内嵌了基于LISP语言的AutoLISP工具,该工具语言编程简单、子程序容易设置且易学,应用较为广泛。因此,本文采用LISP编程语言进行二次开发。
本程序采用在源代码中直接输入基础相关参数,这些参数作为全局变量,在程序运行过程中不会发生变化,程序中函数可随时调用这些变量,逐步完成风电机组基础尺寸绘制、钢筋图绘制、钢筋表绘制,最终达到自动绘制图纸的目的。程序流程如图1所示。
在AutoLISP中编译绘制程序需要熟练运用“图元”,“图元”就是在AutoCAD模板中的各个绘制数据,如直线、多段线、圆弧、文字等。每一个“图元”都有不同的属性,包括坐标、颜色、厚度等。而对于AutoLISP源文件的编译就是把一行行的源代码转换为AutoCAD模板上看得见的实体,转换通过函数(entmake[list]…)或者函数(command[arguments]…)实现。前者可以直接创建图元,后者可以实现AutoCAD的所有命令,但是生成图纸的速度会有所降低。直接创建图元虽然编码更复杂,却让程序运行更快,因此,本次程序化绘图都采用(entmake[list])创建图元(见表1)。
风电机组基础软件设计过程
某风电场已知基础顶部荷载如表 2所示,场地位于山区,地基土整体均匀性较好,地层结构、工程区构造及岩性均较为简单,各拟建风电机组机位处未见滑坡、泥石流、崩塌、地裂缝、洞穴、地面塌陷等不良地质现象,自然斜坡较稳定。设计机位开挖深度场平后,机位基岩直接出露。出露基岩分布连续、场地稳定,为风电机组理想地基持力层。工程区地震活动较弱,属相对稳定地区。风电场场址区地震动峰值加速度为0.05g,反应谱特征周期为0.35s,相应的地震基本烈度为Ⅵ度。本文以该风电场为例说明基础软件的具体设计过程。
一、确定基础参数
设计人员依据《陆上风电场工程风电机组基础设计规范》第六章及第七章对风电机组基础抗弯、抗剪、抗冲切、稳定、地基承载力、抗裂、变形进行计算,最终由设计人员确定风电机组基础的尺寸及配筋参数。荷载可以采用商业软件直接计算,也可以通过手算得出。本文采用商业软件直接计算,以确定最优基础尺寸。
(一)选择基础类型
风电机组的基础类型一般分为扩展基础、梁板基础、岩石预应力锚杆基础和桩基础,形状宜采用圆形。因为施工周期长、施工难度较大,梁板基础在一般工程设计中已漸渐淘汰。锚杆基础及桩基础的承台与扩展基础承台基本一致(见图2-图4)。根据各基础类型优缺点(见表3)及场地地质情况,本案例选用扩展基础型式。
(二)确定基础尺寸
根据软件的计算结果确定最优基础尺寸如下:
台柱半径r1=3000mm,基础底板半径R=9500mm,底板高h1=1000mm,棱台高h2=1600mm,台柱高h3=1440mm。
(三)确定配筋参数
风电机组基础底板底部及顶部需配置放射状纵向及环向受力钢筋(见图5、图6),以满足基础抗弯性能。基础与塔筒采取锚笼形式连接,需在锚笼周围配置抗剪及局部受压钢筋(见图7)。受力钢筋同样由商业软件计算得出最优解:基础底板顶面及底面径向受力钢筋直径为28mm,基础底板顶面及底面环向受力钢筋直径为22mm,锚笼局压钢筋直径为16mm。
基础还需要配置一定数量的构造钢筋,包括拉结筋、架立筋、温度抗裂钢筋。构造钢筋间距及直径需要满足《陆上风电场工程风电机组基础设计规范》的规定,设计人员需要根据经验给出合适的配筋间距及直径,使得钢筋量最小,满足经济性要求。
二、程序初始定义
(一) 定义图层
进行程序绘图工作时,首先要对绘图模板进行初始设定,定义施工图中的各个图层。图层总计29个,每个图层主要有颜色、线宽、线型三个差异点。设置不同颜色是为了便于图纸内容的区分和修改,此外,根据《建筑结构制图标准》第2.0.3条规定设置线宽和线型。
定义名为“图框” 的图层:
(entmake(list(0."LAYER")(100."AcDbSymbolTableRecor d")(100."AcDbLayerTableRecord") (70 . 0) (6 . "Continuous")(cons 2 "图框")))
定义名为“轴线”的图层:
(entmake(list(0."LAYER")(100."AcDbSymbolTableReco rd") (100."AcDbLayerTableRecord") (70.0) (6."center") (62.9)(cons 2 "轴线")))
定义名为“标注尺寸”的图层:
(entmake(list(0."LAYER")(100."AcDbSymbolTableReco rd") (100."AcDbLayerTableRecord") (70.0) (6."Continuous")(62.3) (cons 2 "标注尺寸")))
定义名为“钢筋表”的图层:
(entmake(list(0."LAYER")(100."AcDbSymbolTableReco rd") (100."AcDbLayerTableRecord") (70.0) (6."Continuous")(62.7) (cons 2 "钢筋表")))
定义名为“轮廓线”的图层:
(entmake(list(0."LAYER")(100."AcDbSymbolTableReco rd") (100."AcDbLayerTableRecord") (70.0) (6."Continuous")(62.4) (cons 2 "轮廓线")))
定义名为“1号钢筋”的图层:
(entmake(list(0."LAYER") (100."AcDbSymbolTableRecord")(100."AcDbLayerTableRecord") (70.0) (6."Continuous") (62.1)(cons 2 "1号钢筋")))
……
(二)定义文字样式
图纸需要定义字体样式、高宽比等,根据《建筑结构制图标准》第2.0.23条规定,图纸及说明的汉字宜采用长仿宋体,因此,本程序只定义一个字体样式:长仿宋体。
定义名为“Dimension”的文字样式:
(Setq STYLE(entmakex ((0."STYLE")
(100."AcDbSymbolTableRecord") (100."AcDbTextStyleT ableRecord") (2."Dimension") (70.0) (40.0.0) (41.0.7) (50.0.0)(71.0) (42.0.0) (3."Tssdeng.shx") (4."hztxt.shx"))))
(三)定义尺寸样式
图纸需要根据不同尺寸表达设计意图,不同比例的尺寸标注样式根据《建筑结构制图标准》第2.0.5条规定设置,本程序设置1:100、1:50及1:25三种尺寸样式。对于1:100的尺寸样式创建名为“CAD_100_100”的尺寸样式:
(Setq DIMSTYLE(entmakex ((0."DIMSTYLE")
(100."AcDbSymbolTableRecord")
(100."AcDbDimStyleTableRecord") (2."CAD_100_100")(70.0) (41.100.0) (42.200.0) (43.0.0) (44.100.0) (73.0) (74.0)(77.1) (140.300.0) (141.0.0) (144.1.0) (147.100.0) (172.1)(174.1) (178.7) (271.0) (272.0) (279.2))))
三、定義变量
通过计算确定基础尺寸及配筋参数后,将参数定义为全局变量。
(一)定义基础尺寸变量
定义r1的变量为3000,r1为台柱半径:
(Setq r1 3000.0000)
定义R的变量为9500,R为基础底板半径:
(Setq R 9500.0000)
定义h1的变量为1000,h1为底板高:
(Setq h1 1000.0000)
定义h2的变量为1600,h2为棱台高:
(Setq h2 1600.0000)
定义h3的变量为1440,h3为台柱高:
(Setq h3 1440.0000)
(二)定义配筋参数变量
钢筋参数是钢筋直径,定义该参数主要有两个目的:一是在基础图中标注21个钢筋,二是在最后的钢筋统计表中计算钢筋量。
定义gangjinD1的变量为28,gangjinD1为1号钢筋(底板底面径向钢筋)直径:
(Setq gangjinD1 28.000)
定义gangjinD2的变量为28,gangjinD2为2号钢筋(底板底面径向钢筋)直径:
(Setq gangjinD2 28.000)
定义gangjinD3的变量为16,gangjinD3为3号钢筋(抗裂钢筋)直径:
(Setq gangjinD3 16.000)
……
(三) 绘制多段线
程序中的基础轮廓线、钢筋线、标注引线、表格线等均由多段线图元创建。
绘制一条多段线函数如下:
(entmake(list (0."LWPOLYLINE") (100."AcDbEntity")(100."AcDbPolyline") (90.2) (70.1) (cons 10 p1) (cons 10 p2)(cons 210 (0 0 ))))
其中, p1为多段线起点,p2为多段线终点。
(四)绘制文字
程序中的标注文字、表格文字、图名文字均由文字图元创建。
例如,绘制名为“基础底板底面钢筋布置图”的函数如下:
(entmake(list (0."TEXT") (100."AcDbEntity")(100."AcDbText") (40.1350) (7."Dimension") (41.0.7) (8."标注符号") (cons 10 (polar p (* 0.5 pi) 100)) (cons 1 "基础底板底面钢筋布置图")))
其中,p为绘制文字的坐标点。
(五)钢筋量计算
本程序中的钢筋量即为钢筋总重量,钢筋重量计算采取长度×钢筋截面积×钢筋密度,本程序设置钢筋密度为7850kg/m3。
定义计算钢筋工程量的函数如下:
(defun GJZ (ZC ZJ)
(Setq ZJM (* ZJ 0.001))
(Setq MJ (* (/ (* ZJM ZJM) 4) pi))
(* (* MJ ZC) 7850))
該函数中有两个变量ZC和ZJ,ZC代表钢筋长度,ZJ代表钢筋直径,函数返回结果为长度为ZC、直径为ZJ的钢筋重量。通过该函数,程序在绘制图中不断记录钢筋长度及重量,存储于各个变量当中,最后绘制该基础的钢筋表。
程序实现功能
本程序已经在设计院内部广泛使用,实际工程应用效果表明,程序显著提高了出图的效率和质量。在代码文件LSP中手动输入基础尺寸参数与钢筋参数后,本程序可以实现自动化绘制施工图纸,也可根据设计人员的绘制习惯进行调整,绘制的图纸满足施工图的出图要求,程序实现了如下功能:
(1)风电机组基础绘制3张图纸,分别为“基础底板底面钢筋布置图”“基础底板顶面钢筋布置图”“基础剖面图”。图9、图10分别为风电机组基础底板底面及顶面绘制径环向钢筋,钢筋数量根据锚栓参数确定。
(2)锚栓处绘制局部加密钢筋(见图11),加密钢筋数量根据锚栓数量确定。
(3)风电机组基础底板底面钢筋与顶面钢筋之间配置拉结钢筋与架立钢筋(见图11)。
(4)基础表面和内部配置抗裂钢筋(见图11)。
(5)所有基础图绘制完成后,程序根据之前绘制钢筋时统计的各钢筋量,绘制详细钢筋表(见表4)。该表是施工单位备料的重要依据,也是预算、决算的重要参考,因此,需要尽可能准确计算。
结论
本文基于AutoLISP程序化绘图的功能,对风电机组基础施工图的绘制进行了程序编译,使设计者可以高效、准确地绘制风电机组基础施工图纸。此外,将编程与风电机组基础设计相结合,可提高风电设计的智能化水平。
[作者单位:龙源(北京)风电工程设计咨询有限公司]