嚴 沾 謀
(中國電建集團貴陽勘測設計研究院有限公司 貴州 貴陽 550081)
隨著BIM技術的發(fā)展,促進了BIM技術在水利水電工程的廣泛應用[1-4]。而鋼閘門作為水利水電工程重要的組成部分,BIM設計[5-6]和分析[7-9]技術也得到了深入應用。同時由于行業(yè)的特殊性和設計軟件的局限性,衍生了水利水電工程BIM技術的開發(fā)[10-11]。鑒于平面鋼閘門的傳統(tǒng)設計具有低效率、規(guī)范性和標準性不可控等缺點,平面鋼閘門計算、三維設計和出圖等軟件應運而生[11-16]。為了避免從最底層開始開發(fā),降低軟件開發(fā)難度,提高開發(fā)效率,本文充分利用現(xiàn)有三維設計軟件的強大參數(shù)化設計建模功能,集成C#、CATIA、CAA等工具和技術手段,按照平面鋼閘門BIM設計方法體系進行系統(tǒng)頂層設計?;贐IM技術對平面鋼閘門三維設計計算和出圖一體化軟件進行開發(fā),實現(xiàn)了計算、三維建模和工程出圖一體化,大大提高了設計效率。
平面鋼閘門三維設計計算和出圖一體化軟件的開發(fā)涉及閘門計算、BIM模型構建和工程出圖。鑒于C#語言的應用普及性,以及CATIA軟件的強大參數(shù)化功能、在機械行業(yè)的通用性和二次開發(fā)要求,選擇的軟件開發(fā)環(huán)境主要包括:
? Windows 7 64位操作系統(tǒng);
? .Net Frameworks 4.0;
? C#、C++混合編程環(huán)境;
? SQL Server 2008 R2數(shù)據(jù)庫;
? CATIA V5R21三維設計軟件;
? CAA——CATIA二次開發(fā)環(huán)境。
平面鋼閘門三維設計計算和出圖一體化軟件采用基于BIM技術的先進頂層設計,系統(tǒng)功能架構如圖1所示。
圖1 系統(tǒng)功能架構圖
開發(fā)內容包括設計計算模塊、三維參數(shù)化設計模板、BIM模型構建模塊、工程出圖模板、企業(yè)標準圖框和標題欄插件、行業(yè)化材料表統(tǒng)計插件,輸出成果包括算稿、BIM模型和工程圖紙。主要思路為:
(1) 應用C#語言進行平面鋼閘門設計計算模塊開發(fā),輸出平面鋼閘門設計參數(shù),并存儲入數(shù)據(jù)庫;
(2) 應用CATIA軟件完成平面鋼閘門三維參數(shù)化設計模板的開發(fā);
(3) 建立數(shù)據(jù)庫內平面鋼閘門參數(shù)與平面鋼閘門三維參數(shù)化設計模板參數(shù)的關聯(lián)關系;
(4) 應用C#語言進行平面鋼閘門BIM模型構建模塊開發(fā),關聯(lián)數(shù)據(jù)庫內平面鋼閘門的參數(shù),構建平面鋼閘門BIM模型;
(5) 應用平面鋼閘門BIM模型進行平面鋼閘門工程出圖模板的開發(fā);
(6) 在CAA開發(fā)環(huán)境下應用C++語言完成企業(yè)標準圖框和標題欄插件、平面鋼閘門行業(yè)化材料表統(tǒng)計插件的開發(fā);
(7) 應用企業(yè)標準圖框和標題欄插件、平面鋼閘門行業(yè)化材料表統(tǒng)計插件和平面鋼閘門工程出圖模板完成平面鋼閘門的工程出圖。
為了規(guī)范平面鋼閘門的設計計算,提高設計效率和標準化程度,將平面鋼閘門按型式(表孔、潛孔)、支承方式(滑塊、定輪)和操作條件(靜水啟閉、動水啟閉、動下靜啟)進行歸類。根據(jù)《水利水電工程鋼閘門設計規(guī)范》,應用C#語言進行平面鋼閘門設計計算模塊開發(fā),內容包括總水壓力和面板厚度計算、主梁計算、次梁計算、啟閉力計算、吊耳計算、埋件計算、定輪計算等。模塊輸出內容包括閘門算稿和設計參數(shù),其中設計參數(shù)存儲入SQL Server數(shù)據(jù)庫。
為了提高BIM模型的構建效率,應用CATIA三維設計軟件對閘門底層零件和標準件進行參數(shù)化建模。根據(jù)各種類型閘門特征將參數(shù)化零部件進行組裝,關聯(lián)零部件參數(shù)和裝配件參數(shù),形成一系列閘門總裝模板。在模板中大量應用知識工程功能,如圖2所示,可提高模板智能化水平。同時應用裝配特征可自動完成大批量螺栓的裝配,如圖3所示,大大提高了模板制作效率和智能化水平。
圖2 知識工程應用示意圖
圖3 裝配特征應用示意圖
為了規(guī)范BIM模型的構建,應用C#語言進行平面鋼閘門BIM模型構建模塊開發(fā),建立數(shù)據(jù)庫內閘門參數(shù)與參數(shù)化設計模板參數(shù)的關聯(lián)關系,完成平面鋼閘門BIM模型的構建,如圖4所示。
圖4 平面鋼閘門BIM模型
平面鋼閘門的材料明細表具有行業(yè)化特征,材料表的關鍵字為“序號”、“圖號/規(guī)格”、“名稱”、“材料”、“數(shù)量”、“單重”、“總重”和“備注”,其中板材的規(guī)格樣式為“-厚度×寬度×長度”。但CATIA圖框和材料表統(tǒng)計工具不能滿足平面鋼閘門出圖的行業(yè)化需求,需在CAA開發(fā)環(huán)境下應用C++語言完成企業(yè)標準圖框和標題欄插件、平面鋼閘門行業(yè)化材料表統(tǒng)計插件的開發(fā)。開發(fā)完成的插件界面如圖5所示。
圖5 圖框和材料表插件界面
圖框和標題欄插件開發(fā)的主要內容是繪制線條和生成文本,其中繪制線條采用命令“CreateLine”,生成文本采用命令“CreateDftText”。部分代碼如下:
startPoint[0]=X[0];
startPoint[1]=Z[0];
endPoint[0]=X[0];
endPoint[1]=Z[12];
spGeomFactory->
CreateLine(startPoint,endPoint);
材料表統(tǒng)計插件開發(fā)中的重點和難點是獲取BIM模型的屬性值和參數(shù)值,屬性值的獲取使用命令“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;
}
參數(shù)值的獲取使用命令“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平臺進行工程出圖模板的定制化開發(fā),圖紙包括總圖和零部件圖,內容包括尺寸、公差、焊縫等標注。生成工程圖后,應用企業(yè)標準圖框和標題欄插件生成圖框,應用材料表統(tǒng)計插件生成材料明細表,完成工程出圖,如圖6所示。
圖6 平面鋼閘門工程出圖
平面鋼閘門三維設計計算和出圖一體化軟件基于BIM技術進行開發(fā),集成了設計計算、BIM模型構建和工程出圖,實現(xiàn)了計算、建模和出圖一體化。軟件可自動輸出計算算稿、BIM模型和工程圖紙,在企業(yè)內得到了金屬結構專業(yè)的廣泛應用,大大降低了BIM應用的難度,提高了平面鋼閘門設計、計算、出圖效率和標準化程度。與傳統(tǒng)開發(fā)模式比較,本軟件的開發(fā)避免了從最底層開始開發(fā),降低了軟件開發(fā)難度,提高了軟件開發(fā)效率。本軟件按照平面鋼閘門BIM設計方法進行系統(tǒng)頂層設計,具有較強的可擴展性,可根據(jù)需要增加閘門模板。本文的開發(fā)思路也可應用于弧形閘門、攔污柵和啟閉設備等金屬結構的三維設計計算和出圖一體化軟件的開發(fā)。