嚴 沾 謀
(中國電建集團貴陽勘測設計研究院有限公司 貴州 貴陽 550081)
隨著BIM技術的發展,促進了BIM技術在水利水電工程的廣泛應用[1-4]。而鋼閘門作為水利水電工程重要的組成部分,BIM設計[5-6]和分析[7-9]技術也得到了深入應用。同時由于行業的特殊性和設計軟件的局限性,衍生了水利水電工程BIM技術的開發[10-11]。鑒于平面鋼閘門的傳統設計具有低效率、規范性和標準性不可控等缺點,平面鋼閘門計算、三維設計和出圖等軟件應運而生[11-16]。為了避免從最底層開始開發,降低軟件開發難度,提高開發效率,本文充分利用現有三維設計軟件的強大參數化設計建模功能,集成C#、CATIA、CAA等工具和技術手段,按照平面鋼閘門BIM設計方法體系進行系統頂層設計。基于BIM技術對平面鋼閘門三維設計計算和出圖一體化軟件進行開發,實現了計算、三維建模和工程出圖一體化,大大提高了設計效率。
平面鋼閘門三維設計計算和出圖一體化軟件的開發涉及閘門計算、BIM模型構建和工程出圖。鑒于C#語言的應用普及性,以及CATIA軟件的強大參數化功能、在機械行業的通用性和二次開發要求,選擇的軟件開發環境主要包括:
? Windows 7 64位操作系統;
? .Net Frameworks 4.0;
? C#、C++混合編程環境;
? SQL Server 2008 R2數據庫;
? CATIA V5R21三維設計軟件;
? CAA——CATIA二次開發環境。
平面鋼閘門三維設計計算和出圖一體化軟件采用基于BIM技術的先進頂層設計,系統功能架構如圖1所示。

圖1 系統功能架構圖
開發內容包括設計計算模塊、三維參數化設計模板、BIM模型構建模塊、工程出圖模板、企業標準圖框和標題欄插件、行業化材料表統計插件,輸出成果包括算稿、BIM模型和工程圖紙。主要思路為:
(1) 應用C#語言進行平面鋼閘門設計計算模塊開發,輸出平面鋼閘門設計參數,并存儲入數據庫;
(2) 應用CATIA軟件完成平面鋼閘門三維參數化設計模板的開發;
(3) 建立數據庫內平面鋼閘門參數與平面鋼閘門三維參數化設計模板參數的關聯關系;
(4) 應用C#語言進行平面鋼閘門BIM模型構建模塊開發,關聯數據庫內平面鋼閘門的參數,構建平面鋼閘門BIM模型;
(5) 應用平面鋼閘門BIM模型進行平面鋼閘門工程出圖模板的開發;
(6) 在CAA開發環境下應用C++語言完成企業標準圖框和標題欄插件、平面鋼閘門行業化材料表統計插件的開發;
(7) 應用企業標準圖框和標題欄插件、平面鋼閘門行業化材料表統計插件和平面鋼閘門工程出圖模板完成平面鋼閘門的工程出圖。
為了規范平面鋼閘門的設計計算,提高設計效率和標準化程度,將平面鋼閘門按型式(表孔、潛孔)、支承方式(滑塊、定輪)和操作條件(靜水啟閉、動水啟閉、動下靜啟)進行歸類。根據《水利水電工程鋼閘門設計規范》,應用C#語言進行平面鋼閘門設計計算模塊開發,內容包括總水壓力和面板厚度計算、主梁計算、次梁計算、啟閉力計算、吊耳計算、埋件計算、定輪計算等。模塊輸出內容包括閘門算稿和設計參數,其中設計參數存儲入SQL Server數據庫。
為了提高BIM模型的構建效率,應用CATIA三維設計軟件對閘門底層零件和標準件進行參數化建模。根據各種類型閘門特征將參數化零部件進行組裝,關聯零部件參數和裝配件參數,形成一系列閘門總裝模板。在模板中大量應用知識工程功能,如圖2所示,可提高模板智能化水平。同時應用裝配特征可自動完成大批量螺栓的裝配,如圖3所示,大大提高了模板制作效率和智能化水平。

圖2 知識工程應用示意圖

圖3 裝配特征應用示意圖
為了規范BIM模型的構建,應用C#語言進行平面鋼閘門BIM模型構建模塊開發,建立數據庫內閘門參數與參數化設計模板參數的關聯關系,完成平面鋼閘門BIM模型的構建,如圖4所示。

圖4 平面鋼閘門BIM模型
平面鋼閘門的材料明細表具有行業化特征,材料表的關鍵字為“序號”、“圖號/規格”、“名稱”、“材料”、“數量”、“單重”、“總重”和“備注”,其中板材的規格樣式為“-厚度×寬度×長度”。但CATIA圖框和材料表統計工具不能滿足平面鋼閘門出圖的行業化需求,需在CAA開發環境下應用C++語言完成企業標準圖框和標題欄插件、平面鋼閘門行業化材料表統計插件的開發。開發完成的插件界面如圖5所示。

圖5 圖框和材料表插件界面
圖框和標題欄插件開發的主要內容是繪制線條和生成文本,其中繪制線條采用命令“CreateLine”,生成文本采用命令“CreateDftText”。部分代碼如下:
startPoint[0]=X[0];
startPoint[1]=Z[0];
endPoint[0]=X[0];
endPoint[1]=Z[12];
spGeomFactory->
CreateLine(startPoint,endPoint);
材料表統計插件開發中的重點和難點是獲取BIM模型的屬性值和參數值,屬性值的獲取使用命令“GetProperty”,部分代碼如下:
CATListOfCATUnicodeString oPropertyList;
if (SUCCEEDED(hxPDMItem->
GetPropertyNames(oPropertyList)))
{
CATUnicodeString propertyvalue1;
CATUnicodeString propertyvalue3;
CATUnicodeString propertyvalue8;
hxPDMItem->GetProperty
(oPropertyList[1],propertyvalue1);
hxPDMItem->GetProperty
(oPropertyList[3],propertyvalue3);
hxPDMItem->GetProperty
(oPropertyList[8],propertyvalue8);
zpartnumber=propertyvalue1;
zdescription=propertyvalue3;
zmass=propertyvalue8;
}
參數值的獲取使用命令“Value”,部分代碼如下:
for(j=l;j<=size;j++)
{
CATICkeParm_var parm=list[j];
CATUnicodeString hd="厚度";
CATUnicodeString pname=parm->
Name().CastToCharPtr();
double pvalueT=parm->Value()->AsReal();
double pvalue=pvalueT*1000;
hdvalue="temp";
hdvalue.BuildFromNum(pvalue,"%g");
if(hd==pname)
{
k=2;
break;
}
}
應用平面鋼閘門BIM模型在CATIA平臺進行工程出圖模板的定制化開發,圖紙包括總圖和零部件圖,內容包括尺寸、公差、焊縫等標注。生成工程圖后,應用企業標準圖框和標題欄插件生成圖框,應用材料表統計插件生成材料明細表,完成工程出圖,如圖6所示。

圖6 平面鋼閘門工程出圖
平面鋼閘門三維設計計算和出圖一體化軟件基于BIM技術進行開發,集成了設計計算、BIM模型構建和工程出圖,實現了計算、建模和出圖一體化。軟件可自動輸出計算算稿、BIM模型和工程圖紙,在企業內得到了金屬結構專業的廣泛應用,大大降低了BIM應用的難度,提高了平面鋼閘門設計、計算、出圖效率和標準化程度。與傳統開發模式比較,本軟件的開發避免了從最底層開始開發,降低了軟件開發難度,提高了軟件開發效率。本軟件按照平面鋼閘門BIM設計方法進行系統頂層設計,具有較強的可擴展性,可根據需要增加閘門模板。本文的開發思路也可應用于弧形閘門、攔污柵和啟閉設備等金屬結構的三維設計計算和出圖一體化軟件的開發。