張浩
施工圖紙是施工的指導性文件,其繪制工作是工程設計組成的重要一環。目前,大多數設計院采用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程序化繪圖的功能,對風電機組基礎施工圖的繪制進行了程序編譯,使設計者可以高效、準確地繪制風電機組基礎施工圖紙。此外,將編程與風電機組基礎設計相結合,可提高風電設計的智能化水平。
[作者單位:龍源(北京)風電工程設計咨詢有限公司]