楊立剛 藺志剛 鄭會春
摘 要:巖土工程的錨固系統(tǒng)中,錨桿結(jié)構(gòu)形式眾多,空間分布各異,導(dǎo)致了其設(shè)計(jì)過程煩瑣復(fù)雜。為實(shí)現(xiàn)錨桿的快速布設(shè),減少BIM設(shè)計(jì)過程中的重復(fù)性工作,提出了錨桿自動化布設(shè)方法。該方法依托于CATIA Automation,結(jié)合錨固系統(tǒng)特點(diǎn),利用UDF+VSTA開發(fā)了錨桿自動化布置插件。以黑河黃藏寺水利樞紐工程某開挖面錨桿布設(shè)為例,驗(yàn)證了插件的有效性。編寫的程序可以自動讀取Excel文件中的設(shè)計(jì)參數(shù),根據(jù)用戶選擇的錨桿類型與布設(shè)面實(shí)現(xiàn)錨桿的自動化布設(shè),提升了錨固系統(tǒng)的設(shè)計(jì)質(zhì)量與速度。
關(guān)鍵詞:BIM設(shè)計(jì);錨桿;CATIA Automation
中圖分類號:TV222.1;TV223;U455.7+1
文獻(xiàn)標(biāo)志碼:A
doi:10.3969/j.issn.1000-1379.2021.10.031
引用格式:楊立剛,藺志剛,鄭會春.基于CATIA Automation的錨桿自動化布設(shè)技術(shù)研究[J].人民黃河,2021,43(10):157-160.
Abstract: In the anchoring system of geotechnical engineering, there are many types of structures and different spatial distributions of rock bolt, which lead to the complicated in BIM design process. In order to realize the rapid deployment of rock bolt and reduce the repetitive work in the BIM design process, an automatic rock bolt layout method was proposed. This method relied on CATIA Automation, combined with the characteristics of the anchoring system and developed an automatic rock bolt arrangement plug-in by using UDF+VSTA. Taking the bolt layout of excavation face of Huangzangsi Water Control Project on the Heihe River as an example, the effectiveness of the plug-in was verified. The program could automatically read the design parameters in the EXCEL file. According to the type and layout of the bolt selected by the user, it had realized the automatic layout of the rock bolt and improved the quality and speed of the BIM design of the anchor system.
Key words: BIM design; rock bolt; CATIA Automation
1 引 言
巖土錨固系統(tǒng)在基坑、邊坡、隧道等工程中已經(jīng)得到廣泛應(yīng)用[1]。錨桿支護(hù)不僅可以起到懸吊、組合梁和擠壓加固的作用,而且能夠與圍巖相互作用形成具有一定強(qiáng)度的承載結(jié)構(gòu)[2]。錨桿類型眾多,空間分布各異,在其BIM建模過程中,需要重復(fù)對錨桿進(jìn)行手工布置,費(fèi)時(shí)費(fèi)力且容易出錯(cuò)。在Revit設(shè)計(jì)軟件上,劉兆新等[3]開發(fā)出一種能夠?qū)崿F(xiàn)隧道初期支護(hù)模型自動布設(shè)的插件,劉貝等[4]運(yùn)用可視化編程軟件Dynamo編輯生成隧道模型的程序,二者均可以提高Revit設(shè)計(jì)軟件的隧道錨固系統(tǒng)建模效率。
現(xiàn)今,應(yīng)用CATIA進(jìn)行錨固系統(tǒng)的設(shè)計(jì)仍不成熟,因此筆者依托于CATIA Automation二次開發(fā)接口,研究應(yīng)用自定義特征(UDF)+Visual Studio應(yīng)用開發(fā)工具(Visual Studio Tools for Applications,簡稱VSTA)方法對CATIA進(jìn)行二次開發(fā),開發(fā)了針對錨固系統(tǒng)中錨桿的自動化布設(shè)插件。該插件可根據(jù)錨桿設(shè)計(jì)參數(shù)自動布設(shè)錨桿,極大減少了錨桿BIM設(shè)計(jì)過程中的重復(fù)性工作,提升了錨固系統(tǒng)的設(shè)計(jì)質(zhì)量與速度。
2 CATIA二次開發(fā)
CATIA二次開發(fā)的方式主要有兩種,即基于組件應(yīng)用框架的CAA和基于自動化應(yīng)用接口的Automation API[5]。其中CAA方法需要用戶在RADE(Rapid Application Development Environment)環(huán)境下采用C++語言進(jìn)行編程開發(fā),該方法對開發(fā)技術(shù)要求較高,適用于專業(yè)軟件開發(fā)人員,且系統(tǒng)維護(hù)復(fù)雜。因此,筆者采用基于自動化應(yīng)用接口的Automation API進(jìn)行錨桿自動化布設(shè)插件的開發(fā)。
CATIA將程序絕大多數(shù)的功能和方法都封裝為符合Visual Studio.Net類規(guī)范的COM對象,通過對象豐富的API接口即可完成CATIA中絕大多數(shù)的功能和方法,加之可以通過錄制宏的方式迅速獲得功能的核心代碼,因此CATIA Automation API的二次開發(fā)方式簡單易學(xué),適用于具有一定編程基礎(chǔ)的工程設(shè)計(jì)人員。在CATIA Automation中,以對象驅(qū)動的模式封裝了CATIA各項(xiàng)功能的API,其根對象是Application,并逐層分解為包含編輯器(Editor)、文件系統(tǒng)(FileSystem)以及視窗(Window)等對象在內(nèi)的多級結(jié)構(gòu)(見圖1)。
通過VB.NET、C#以及Pyhton等多種編程語言均可以實(shí)現(xiàn)Automation API的調(diào)用與封裝??紤]到開發(fā)的便捷性,在VSTA開發(fā)環(huán)境中采用VB.NET編程語言進(jìn)行開發(fā)。
3 錨桿自動化布設(shè)方法
3.1 程序設(shè)計(jì)
結(jié)合錨固系統(tǒng)特點(diǎn),錨桿自動化布設(shè)插件程序設(shè)計(jì)流程見圖2。
3.2 創(chuàng)建錨桿自定義特征
錨桿構(gòu)件是以鋼筋混凝土為主體結(jié)構(gòu)的桿件,以200 kN受拉承載力為界,可分為預(yù)應(yīng)力錨桿和低預(yù)應(yīng)力錨桿[6],二者結(jié)構(gòu)形式基本一致,其中預(yù)應(yīng)力錨桿是將張拉力傳遞到穩(wěn)定的或適宜的巖土體中的一種受拉桿件(體系),一般由錨頭、錨桿自由段和錨桿錨固段構(gòu)成。從構(gòu)造上區(qū)分,預(yù)應(yīng)力錨桿可分為拉力型、壓力型、壓力分散型、拉力分散型、后(重復(fù))高壓灌漿和可拆芯式錨桿。
結(jié)合以上幾種常見的錨桿類型,通過CATIA的自定義特征(UDF)功能,創(chuàng)建各類型錨桿自定義特征庫,并使用參數(shù)驅(qū)動Catalog管理自定義特征庫。自定義特征可以封裝錨桿模型的創(chuàng)建過程,并根據(jù)錨桿類型,生成不同的錨桿參數(shù)。圖3、圖4為工程中最常見的永久拉力型錨桿自定義特征及其部分輸入?yún)?shù),其中定位點(diǎn)位于臺座下表面的錨桿中心處,定位面是臺座下表面。
3.3 確定錨桿布設(shè)位置
通過一個(gè)空間定位點(diǎn)和空間定位面可以確定錨桿的布設(shè)位置[6]。根據(jù)工程實(shí)際情況,定位面為地形面或地形開挖面。定位點(diǎn)根據(jù)用戶輸入情況有以下幾種確定方式:①根據(jù)用戶輸入的點(diǎn)群確定錨桿布設(shè)點(diǎn);②根據(jù)用戶輸入的定位面、錨桿數(shù)自動計(jì)算錨桿布設(shè)點(diǎn);③根據(jù)用戶輸入的定位面及其所需錨固力自動計(jì)算錨桿布設(shè)點(diǎn);④根據(jù)用戶輸入的定位面、錨桿間排距自動計(jì)算錨桿布設(shè)點(diǎn)。在上述定位點(diǎn)的確定方式中,除方式①可直接確定定位點(diǎn)外,其余幾種方式可歸結(jié)為在面上確定點(diǎn)的位置。在VSTA開發(fā)環(huán)境中,利用VB.NET代碼調(diào)用CATIA Automation創(chuàng)建點(diǎn)接口AddNewPointOnSurface()和AddNewPointOnSurfaceWithReference(),實(shí)現(xiàn)定位點(diǎn)的自動布設(shè)。除此以外,《巖土錨桿與噴射混凝土支護(hù)工程技術(shù)規(guī)范》和《水利水電工程邊坡設(shè)計(jì)規(guī)范》中提出了不同類型錨桿的布設(shè)間距要求。因此,在錨桿定位點(diǎn)的布設(shè)過程中還應(yīng)根據(jù)錨桿類型確定錨桿的布設(shè)間距,利用VB.NET代碼增設(shè)判斷條件,保證錨桿布設(shè)滿足規(guī)范要求。
3.4 錨桿實(shí)例化
錨桿實(shí)例化是錨桿自定義特征在項(xiàng)目中實(shí)例化的過程。以錨桿定位面、定位點(diǎn)為實(shí)例化的輸入條件,將錨桿自定義特征在項(xiàng)目中批量實(shí)例化,實(shí)現(xiàn)錨桿的自動布設(shè)。用戶通過CATIA自行調(diào)用錨桿自定義特征時(shí),通過輸入錨桿的定位點(diǎn)、定位面,即可完成單根錨桿的實(shí)例化。圖5為錨桿實(shí)例化在CATIA中的界面。
在CATIA Automation中,InstanceFactory對象提供了實(shí)例化自定義特征的接口,包括以下兩種方式。
(1)單次實(shí)例化。調(diào)用AddInstance()可啟動單次實(shí)例化過程,隨后調(diào)用PutInput()設(shè)置自定義特征的輸入?yún)?shù),即可實(shí)現(xiàn)自定義特征的單次實(shí)例化。當(dāng)用戶需要單次實(shí)例化自定義特征時(shí),該方法較為便捷,且系統(tǒng)開銷小于批量實(shí)例化方法的。
(2)批量實(shí)例化。在CATIA Automation中,批量實(shí)例化的方法更為常用。該方法由4個(gè)階段、8個(gè)步驟組成,其中實(shí)例化循環(huán)由BeginInstantiate()、PutInputData()等5個(gè)步驟組成。當(dāng)用戶需要批量實(shí)例化自定義特征時(shí),插件會自動調(diào)用該方法,并通過Excel數(shù)據(jù)獲取錨桿設(shè)計(jì)參數(shù),實(shí)現(xiàn)使用較小的系統(tǒng)開銷完成錨桿的實(shí)例化過程。批量實(shí)例化流程見圖6。
4 錨桿自動化布設(shè)插件的應(yīng)用
以黑河黃藏寺水利樞紐工程某開挖面支護(hù)為例,說明錨桿自動化布設(shè)插件應(yīng)用方法。工程右岸廠房邊坡高程2 531 m到高程2 566 m處開挖面需使用錨索進(jìn)行加固,設(shè)計(jì)成果如下:開挖面采用鋼筋網(wǎng)噴混凝土襯砌和預(yù)應(yīng)力錨索支護(hù),開挖面需要錨固拉力共42 000 kN,擬采用1 000 kN拉力分散型無黏結(jié)錨索42根,具體設(shè)計(jì)參數(shù)見表1。
根據(jù)已知設(shè)計(jì)參數(shù),在插件中選擇“預(yù)應(yīng)力”“永久拉力型錨桿”,將設(shè)計(jì)參數(shù)通過Excel文件形式載入到CATIA中,并在CATIA中選擇錨桿布設(shè)面以及錨桿數(shù)量。參數(shù)設(shè)置完成后,點(diǎn)擊“開始布設(shè)”按鈕,插件會根據(jù)設(shè)置的參數(shù),自動在錨桿布設(shè)面上生成錨桿。圖7為錨桿布設(shè)情況。
5 結(jié) 語
筆者依托于CATIA Automation技術(shù),結(jié)合錨固系統(tǒng)特點(diǎn),利用UDF+VSTA開發(fā)出了錨桿自動化布設(shè)插件,并通過錨桿布設(shè)實(shí)例驗(yàn)證了該插件的有效性。其顯著減少了錨桿布設(shè)過程中的重復(fù)性工作,提升了錨固系統(tǒng)的設(shè)計(jì)質(zhì)量與速度。
參考文獻(xiàn):
[1] 程良奎.巖土錨固的現(xiàn)狀與發(fā)展[J].土木工程學(xué)報(bào),2001,34(3):7-12,34.
[2] 苗國航.我國預(yù)應(yīng)力巖土錨固技術(shù)的現(xiàn)狀與發(fā)展[J].地質(zhì)與勘探,2003,39(3):91-94.
[3] 劉兆新,田斌華,陳元培,等.基于Revit的新奧法隧道初期支護(hù)構(gòu)件參數(shù)化建模研究[J].隧道建設(shè)(中英文),2019,39(10):1610-1619.
[4] 劉貝,周東明.基于Revit的隧道參數(shù)化建模研究[J].工程建設(shè),2019,51(9):23-28,47.
[5] 王陸,董甲甲,王小平,等.基于CATIA Automation API的工程制圖二次開發(fā)[J].人民黃河,2011,33(5):140-142.
[6] 中華人民共和國住房和城鄉(xiāng)建設(shè)部,中華人民共和國國家質(zhì)量監(jiān)督檢驗(yàn)檢疫總局.巖土錨桿與噴射混凝土支護(hù)工程技術(shù)規(guī)范:GB 50086—2015[S].北京:中國計(jì)劃出版社,2015:2-3.
【責(zé)任編輯 張華巖】