后雄斌
(新疆水利水電勘測(cè)設(shè)計(jì)研究院有限責(zé)任公司,新疆 烏魯木齊 830000)
混凝土面板堆石壩具有壩體斷面小、便于施工、填筑施工進(jìn)度快、投資低和安全度高等優(yōu)點(diǎn)[1],近年來(lái)被廣泛采用,發(fā)展較快。當(dāng)今在我國(guó)以及許多國(guó)家,混凝土面板堆石壩已成為一般大中型水利樞紐優(yōu)先考慮選擇的壩型[2]。趾板是面板與河床及岸坡不透水連接的紐帶,起到承上啟下的作用,既可以作為壩基帷幕灌漿的蓋重平臺(tái),又可以作為面板滑模施工的起始工作面,同時(shí),作為混凝土面板的支撐底座與壩基帷幕灌漿、混凝土面板通過(guò)周邊縫連接構(gòu)成大壩的防滲系統(tǒng)[3]。
趾板空間結(jié)構(gòu)較為復(fù)雜,在進(jìn)行趾板設(shè)計(jì)時(shí),要充分結(jié)合地形地質(zhì)條件、壩軸線空間走向、大壩面板底坡、防浪墻底部高程等關(guān)鍵影響因素。目前,趾板設(shè)計(jì)多采用傳統(tǒng)二維設(shè)計(jì)手段,利用AutoCAD軟件進(jìn)行平面設(shè)計(jì)。對(duì)于趾板設(shè)計(jì)過(guò)程繁瑣和結(jié)構(gòu)設(shè)計(jì)中參數(shù)過(guò)多、不便于準(zhǔn)確定位、相鄰2段趾板連接點(diǎn)處不連續(xù)、趾板變寬變厚處突變、趾板線垂直壩軸線時(shí)“X”線不存在的情況下趾板結(jié)構(gòu)體型創(chuàng)建和與相鄰標(biāo)準(zhǔn)段趾板結(jié)構(gòu)間的平順銜接等存在處理難度大、工作效率低下的問(wèn)題。
Dynamo是一款可視化編程軟件,具備了傳統(tǒng)編程語(yǔ)言所不具備的特點(diǎn),包括可視化編程、快速建模、參數(shù)化驅(qū)動(dòng)、批量處理數(shù)據(jù)以及可操作Civil 3D/Revit API。Civil 3D是Autodesk公司推出的一款面向土木工程基礎(chǔ)設(shè)施行業(yè)的三維信息化設(shè)計(jì)軟件[4],包含AutoCAD所有的基本功能。隨著Civil 3D軟件的不斷更新,從2020版開(kāi)始,Dynamo作為外部參數(shù)化插件出現(xiàn)在Civil 3D中,Dynamo可靈活與Civil 3D中的各種對(duì)象進(jìn)行交互操作,還可以將Dynamo對(duì)象輸出到Civil 3D中。Dynamo與Rhino軟件的插件Grasshopper具有類(lèi)似的功能,可通過(guò)邏輯命令流將復(fù)雜的設(shè)計(jì)過(guò)程進(jìn)行模塊化參數(shù)化處理,最終實(shí)現(xiàn)用戶(hù)需求,這使得Civil 3D在功能上更加的強(qiáng)大。
在總結(jié)混凝土面板堆石壩趾板傳統(tǒng)設(shè)計(jì)特點(diǎn)的基礎(chǔ)上,本文運(yùn)用Dynamo可視化編程手段,研究將趾板結(jié)構(gòu)模型創(chuàng)建參數(shù)化,編寫(xiě)趾板結(jié)構(gòu)快速建模Dynamo功能節(jié)點(diǎn),旨在提高趾板結(jié)構(gòu)體型設(shè)計(jì)的準(zhǔn)確性和效率,加快面板壩在建基面以上混凝土趾板結(jié)構(gòu)體型三維參數(shù)化模型的創(chuàng)建,達(dá)到全數(shù)據(jù)相關(guān)、全尺寸約束、用參數(shù)驅(qū)動(dòng)設(shè)計(jì)結(jié)果修改的目的,對(duì)混凝土面板堆石壩設(shè)計(jì)具有很大的工程實(shí)用價(jià)值。
Dynamo起初在建筑行業(yè)應(yīng)用較多,如張瑋[5]通過(guò)Dynamo讀取Excel中橋梁模型參數(shù),利用Dynamo強(qiáng)大的建模功能批量生成橋梁參數(shù)化構(gòu)件;王松[6]采用Dynamo進(jìn)行異形建筑物的參數(shù)化創(chuàng)建和批量自動(dòng)放置建筑構(gòu)件;張柳柳[7]建立了基于Dynamo底層技術(shù)的橋梁路線建模方法,并基于該方法開(kāi)發(fā)出了橋梁BIM快速建模方法和相應(yīng)OppenDesigner軟件。
近些年來(lái),隨著水利工程BIM設(shè)計(jì)的不斷深入推進(jìn),水利行業(yè)部分設(shè)計(jì)人員逐步開(kāi)始探索Dynamo在水利工程參數(shù)化設(shè)計(jì)中的應(yīng)用,如楊鐵增[8]等通過(guò)Civil 3D軟件,結(jié)合部件編輯器和Dynamo探索了水利工程面板堆石壩的三維正向設(shè)計(jì)BIM解決方案;朱茜[9]等利用Revit+Dynamo建立了拱壩參數(shù)化族庫(kù),依托Autodesk系列軟件成功解決了拱壩初步設(shè)計(jì)中體型優(yōu)化、樞紐布置、施工圖生成、工程量概算以及監(jiān)測(cè)信息可視化等重要問(wèn)題;宋丹[10]采用Dynamo參數(shù)化編程建立了雙曲拱壩模型,同時(shí)讀取Excel格式的開(kāi)挖地形數(shù)據(jù),通過(guò)自定義節(jié)點(diǎn)創(chuàng)建地形網(wǎng)格曲面,最終與拱壩實(shí)體結(jié)合;王寧[11]等研究了Dynamo參數(shù)化建模技術(shù)以及與Revit之間的數(shù)據(jù)交互方式,并在實(shí)際工程中得到了廣泛應(yīng)用,取得了良好效果;周為[12]等利用Dynamo對(duì)水電站廠房異形結(jié)構(gòu)進(jìn)行了參數(shù)化設(shè)計(jì)。
2.1.1操作過(guò)程的便捷性
在趾板傳統(tǒng)設(shè)計(jì)過(guò)程中,需要事先在壩址區(qū)原始平面地形圖上獲取擬定壩軸線與趾板線各控制點(diǎn)的大地坐標(biāo)(X坐標(biāo),Y坐標(biāo)),將各控制點(diǎn)坐標(biāo)以及面板頂高程、面板內(nèi)坡、面板頂部厚度、面板厚度增量與趾板體型控制等不可或缺基本參數(shù)輸入到Excel表格中,通過(guò)計(jì)算得到趾板線控制點(diǎn)高程、每段趾板線在壩軸線方向上的投影長(zhǎng)度、趾板線與壩軸線夾角、面板外坡角度等趾板結(jié)構(gòu)體型設(shè)計(jì)參數(shù),整個(gè)操作過(guò)程極為繁瑣且容易出錯(cuò),效率低下。
2.1.2“X”線設(shè)計(jì)時(shí)趾板結(jié)構(gòu)體型的完全參數(shù)可控
趾板設(shè)計(jì)時(shí),趾板基準(zhǔn)線可以是“X”線,也可以是“Y”線。趾板“X”線為面板底面延長(zhǎng)面和趾板設(shè)計(jì)建基面的交線,而“Y”線為面板底面與趾板下游面的交線。在我國(guó)面板壩的設(shè)計(jì)過(guò)程中,一般選取“X”線作為趾板設(shè)計(jì)的軸線,同時(shí)趾板“X”線也是趾板開(kāi)挖或模板架設(shè)的施工放樣線。但當(dāng)岸坡坡度較陡,甚至趾板走向與壩軸線大角度相交或者垂直時(shí),“X”線就會(huì)偏離至趾板建基面以外,或者根本不存在“X”線,這使得趾板結(jié)構(gòu)體型參數(shù)化構(gòu)建存在著一定的局限性。
2.1.3趾板結(jié)構(gòu)體型過(guò)渡段處理
(1)相鄰2段趾板線連接點(diǎn)處的結(jié)構(gòu)體型過(guò)渡
SL 228—2013《混凝土面板堆石壩設(shè)計(jì)規(guī)范》第7.0.1條指出,混凝土趾板的布置有3種方式:①趾板面等高線垂直于趾板基準(zhǔn)線;②趾板面等高線垂直于壩軸線;③趾板面等高線適應(yīng)開(kāi)挖以后的巖面;SL 228—2013第7.0.1條建議宜優(yōu)先選用第1種布置方式,經(jīng)調(diào)查統(tǒng)計(jì)我國(guó)面板壩設(shè)計(jì)普遍采用第1種布置方式。
當(dāng)采用趾板面等高線垂直于趾板基準(zhǔn)線布置方式時(shí),由于任意2段相鄰趾板線與壩軸線空間位置關(guān)系的不同,會(huì)造成相鄰2段趾板面在連接點(diǎn)處的幾何不統(tǒng)一,并且會(huì)隨著轉(zhuǎn)折點(diǎn)處相鄰2段趾板線夾角情況的不同,使得趾板結(jié)構(gòu)體型在空間上呈現(xiàn)出錯(cuò)臺(tái)、侵入、缺口等不連續(xù)情況(如圖1所示),這種情況是工程設(shè)計(jì)中不允許發(fā)生的。趾板作為面板壩防滲系統(tǒng)中的核心組件,不僅作為建基面以下固結(jié)灌漿和帷幕灌漿的作業(yè)平臺(tái)以及面板澆筑施工滑模的起點(diǎn)支撐,而且通過(guò)周邊縫與面板的可靠連接形成建基面以上的防滲體系,起到承上啟下的作用。因此,處理好相鄰2段趾板連接點(diǎn)處趾板結(jié)構(gòu)體型的不連續(xù)問(wèn)題就顯得尤為關(guān)鍵。
圖1 相鄰兩段趾板在連接點(diǎn)處趾板結(jié)構(gòu)體型的不連續(xù)狀態(tài)
(2)同一段趾板線上變寬變厚點(diǎn)處的結(jié)構(gòu)體型過(guò)渡
根據(jù)SL 228—2013第7.0.4條、第7.0.5條規(guī)定,結(jié)合以往工程經(jīng)驗(yàn)表明,左右岸趾板寬度和厚度在同一高程范圍往往是相互對(duì)應(yīng)的,且趾板寬度和厚度變化位置一般位于遠(yuǎn)離趾板線轉(zhuǎn)折點(diǎn)的中間位置,在這種情況下趾板變寬變厚時(shí)高程分界點(diǎn)位置就會(huì)出現(xiàn)因趾板長(zhǎng)度和厚度不一致形成的臺(tái)階,如圖2所示。
2.1.4參數(shù)化驅(qū)動(dòng)模型
由壩軸線、趾板線以及不可或缺基本輸入?yún)?shù)動(dòng)態(tài)控制生成面板壩趾板結(jié)構(gòu)造型,當(dāng)改變?nèi)魏我粋€(gè)不可或缺基本參數(shù)或者調(diào)整趾板線和壩軸線平面位置時(shí),如何使趾板模型發(fā)生實(shí)時(shí)動(dòng)態(tài)響應(yīng),是較難實(shí)現(xiàn)的。
本文以面板底面延長(zhǎng)面與趾板設(shè)計(jì)建基面的交線(即“X”線)作為趾板設(shè)計(jì)時(shí)的基準(zhǔn)線,混凝土趾板的布置方式為趾板面等高線垂直于趾板基準(zhǔn)線。主要適用于依據(jù)地形地質(zhì)條件結(jié)合壩軸線進(jìn)行趾板線的動(dòng)態(tài)選擇,實(shí)現(xiàn)趾板結(jié)構(gòu)參數(shù)模型的快速創(chuàng)建。
采用Dynamo可視化編程插件進(jìn)行水工結(jié)構(gòu)體型參數(shù)化設(shè)計(jì)的一般流程[11]如圖3所示。
圖3 水工結(jié)構(gòu)體型Dynamo參數(shù)化設(shè)計(jì)一般流程
Dynamo與Civil 3D交互,主要有2種方式:①?gòu)漠?dāng)前打開(kāi)Civil 3D文檔中選擇Civil 3D對(duì)象或者AutoCAD對(duì)象;②由在Dynamo中生成的幾何圖形對(duì)象創(chuàng)建AutoCAD對(duì)象,這種方式可以將Dynamo幾何圖形原坐標(biāo)導(dǎo)入到當(dāng)前打開(kāi)的Civil 3D文檔中,2種方式所對(duì)應(yīng)的Dynamo原生節(jié)點(diǎn)依次如圖4—5所示。
圖4 從AutoCAD中選擇對(duì)象
圖5 由Dynamo幾何對(duì)象創(chuàng)建AutoCAD對(duì)象
在Dynamo中選擇使用特定功能節(jié)點(diǎn)或者開(kāi)發(fā)的自定義節(jié)點(diǎn),以定義關(guān)系和構(gòu)成自定義算法處理各種應(yīng)用程序,可供重復(fù)使用,達(dá)到解決特定問(wèn)題(從處理數(shù)據(jù)到生成幾何圖形)的目的。Dynamo具有強(qiáng)大的數(shù)據(jù)組織方式,通過(guò)列表的操作,可實(shí)現(xiàn)數(shù)據(jù)重構(gòu)、生成特定序列、構(gòu)成復(fù)雜邏輯關(guān)系,如圖6所示的面板壩趾板結(jié)構(gòu)參數(shù)化建模Dynamo自定義算法操作序列。
用戶(hù)可以通過(guò)在“Dynamo自定義節(jié)點(diǎn)”內(nèi)嵌套其他節(jié)點(diǎn)來(lái)構(gòu)建自定義節(jié)點(diǎn),借助此過(guò)程,自定義節(jié)點(diǎn)可讓Dynamo用戶(hù)設(shè)計(jì)清晰且直觀的圖形,如圖7所示面板壩趾板結(jié)構(gòu)參數(shù)化建模自定義節(jié)點(diǎn)。
圖7 趾板結(jié)構(gòu)體型參數(shù)化設(shè)計(jì)自定義節(jié)點(diǎn)
在Civil 3D軟件中打開(kāi)已經(jīng)選定好的面板壩趾板線圖形文檔,啟動(dòng)Dynamo可視化編程插件,打開(kāi)編寫(xiě)好的Dynamo可視化程序文件“趾板結(jié)構(gòu)體型參數(shù)化設(shè)計(jì).dyn”。
分別點(diǎn)擊Dynamo“拾取壩軸線、趾板線”節(jié)點(diǎn)界面中的“選擇”按鈕,在Civil 3D中依次拾取壩軸線、趾板線,選擇成功后,“拾取壩軸線、趾板線”節(jié)點(diǎn)界面由橙黃色變?yōu)榛疑?。在“基本參?shù)輸入”代碼塊中,按照工程經(jīng)驗(yàn)結(jié)合設(shè)計(jì)規(guī)程規(guī)范輸入相應(yīng)基本參數(shù),參數(shù)輸入完成后點(diǎn)擊Dynamo視圖左下角“運(yùn)行”按鈕,程序?qū)?zhí)行“趾板結(jié)構(gòu)體型參數(shù)化設(shè)計(jì)”節(jié)點(diǎn)。當(dāng)Dynamo視圖左下角“運(yùn)行”按鈕右側(cè)出現(xiàn)“運(yùn)行完成”提示時(shí),查看Civil 3D當(dāng)前打開(kāi)活動(dòng)文檔,趾板結(jié)構(gòu)體型參數(shù)化模型已經(jīng)生成,生成的模型可導(dǎo)出為“*.sat”文件,導(dǎo)入到大體積配筋軟件進(jìn)行配筋。
(1)調(diào)整趾板線拐點(diǎn)前后漸變段長(zhǎng)度
在Dynamo中通過(guò)調(diào)整基本參數(shù)輸入代碼塊中的“//拐點(diǎn)前偏移距離”提示語(yǔ)下的具體參數(shù),可實(shí)現(xiàn)趾板線拐點(diǎn)前趾板模型漸變段長(zhǎng)度的動(dòng)態(tài)變更;同樣,當(dāng)在Dynamo中通過(guò)調(diào)整基本參數(shù)輸入代碼塊中的“//拐點(diǎn)后偏移距離”提示語(yǔ)下的具體參數(shù),可實(shí)現(xiàn)趾板線拐點(diǎn)后趾板模型漸變段長(zhǎng)度的動(dòng)態(tài)變更。與此同時(shí),當(dāng)趾板拐點(diǎn)漸變段長(zhǎng)度發(fā)生變化時(shí),相應(yīng)的相鄰2段趾板在連接點(diǎn)處的異形過(guò)渡趾板結(jié)構(gòu)也會(huì)自動(dòng)調(diào)整,如圖9所示。
圖9 相鄰兩段趾板在連接點(diǎn)處的異形過(guò)渡趾板結(jié)構(gòu)
(2)調(diào)整趾板變寬變厚過(guò)渡段長(zhǎng)度
本文在確定趾板變寬變厚位置點(diǎn)時(shí),按照一般情況,即趾板變寬變厚位置處于趾板中間部分,趾板寬度和厚度變化一一對(duì)應(yīng),不考慮趾板在拐點(diǎn)處的寬度和厚度的變化,且左右岸趾板寬度和厚度變化位置處于同一高程位置處。依據(jù)規(guī)程規(guī)范,結(jié)合工程經(jīng)驗(yàn),將確定好的趾板變寬變厚位置高程點(diǎn)輸入到代碼塊“//趾板變寬變厚點(diǎn)高程[輸入浮點(diǎn)數(shù)]”提示的下一行中即可完成趾板變寬變厚位置點(diǎn)的確定。按照確定的趾板變寬變厚位置點(diǎn),在代碼塊相應(yīng)位置輸入趾板寬度和對(duì)應(yīng)的趾板厚度數(shù)據(jù)。當(dāng)在Dynamo中通過(guò)調(diào)整基本參數(shù)輸入代碼塊中的“//趾板寬度變化漸變長(zhǎng)度”提示語(yǔ)下的長(zhǎng)度數(shù)據(jù)時(shí),可實(shí)現(xiàn)趾板變寬變厚位置點(diǎn)趾板模型漸變段長(zhǎng)度的動(dòng)態(tài)變更。趾板變寬變厚位置點(diǎn)的異形過(guò)渡趾板結(jié)構(gòu)如圖10所示。
當(dāng)岸坡坡度較陡,甚至趾板走向與壩軸線大角度相交或者垂直時(shí),通過(guò)編寫(xiě)的特定算法可以有效解決當(dāng)趾板“X”線垂直壩軸線時(shí)無(wú)法正常生成趾板結(jié)構(gòu)體型參數(shù)化模型的問(wèn)題,同時(shí)還可以達(dá)到與相鄰段標(biāo)準(zhǔn)段趾板結(jié)構(gòu)平順過(guò)渡的目的。趾板走向與壩軸線大角度相交或者垂直時(shí)趾板結(jié)構(gòu)體型,如圖11所示。
圖11 趾板走向與壩軸線大角度相交或者垂直時(shí)趾板結(jié)構(gòu)體型
趾板結(jié)構(gòu)體型參數(shù)化設(shè)計(jì)Dynamo功能節(jié)點(diǎn)可實(shí)現(xiàn)模型隨基本輸入?yún)?shù)的變化發(fā)生相應(yīng)動(dòng)態(tài)調(diào)整,可根據(jù)實(shí)際情況調(diào)整壩軸線、趾板線平面位置以及面板壩設(shè)計(jì)基本參數(shù),從而實(shí)現(xiàn)快速動(dòng)態(tài)變更模型的目的。
本文借助Dynamo中的幾何圖元和邏輯計(jì)算模塊,編寫(xiě)趾板結(jié)構(gòu)體型參數(shù)化設(shè)計(jì)特定算法,極大簡(jiǎn)化了趾板設(shè)計(jì)過(guò)程,給出了趾板結(jié)構(gòu)體型出現(xiàn)不連續(xù)情況下的解決方案,有效解決了當(dāng)趾板“X”線垂直壩軸線時(shí)無(wú)法正常生成趾板結(jié)構(gòu)參數(shù)化模型的問(wèn)題,實(shí)現(xiàn)了參數(shù)快速驅(qū)動(dòng)趾板結(jié)構(gòu)模型更新的目的,取得了良好的效果,對(duì)混凝土面板堆石壩設(shè)計(jì)具有很大的工程實(shí)用價(jià)值。