■ 劉彥明
基于Bentley平臺的鐵路橋梁構(gòu)件參數(shù)化建模研究
■ 劉彥明
Bentley作為BIM平臺軟件提供商之一,雖然在基礎(chǔ)設(shè)施領(lǐng)域提供了大量軟件產(chǎn)品,但仍難以滿足鐵路橋梁設(shè)計(jì)的實(shí)際需求,需要進(jìn)行二次開發(fā)實(shí)現(xiàn)基于線路的橋梁參數(shù)化建模?;贐entley PowerCivil的鐵路橋梁構(gòu)件三維參數(shù)化設(shè)計(jì),以通橋(2009)4301/4201系列圓端形實(shí)體墩自動加載PCL文件為例,創(chuàng)建標(biāo)準(zhǔn)圖進(jìn)而建出銀西線實(shí)體橋墩參考圖,合理確定橋墩高度,完成構(gòu)建的參數(shù)化設(shè)計(jì)。Bentley平臺能夠進(jìn)行高效率、高質(zhì)量建模,實(shí)現(xiàn)橋梁三維設(shè)計(jì)軟件參數(shù)化、關(guān)聯(lián)化、標(biāo)準(zhǔn)化。
Bentley;BIM;PCL;鐵路橋梁;二次開發(fā);構(gòu)件;參數(shù)化;關(guān)聯(lián)化;標(biāo)準(zhǔn)化
Bentley是一個國際化的BIM軟件開發(fā)商和平臺服務(wù)商,在建筑工程、地理工程、土木工程(道路、橋梁、場地)、工廠設(shè)計(jì)及機(jī)械制造等行業(yè)提供有效的軟件解決方案,從勘察、設(shè)計(jì)到施工及運(yùn)維的各個階段為基礎(chǔ)設(shè)施全生命周期的可持續(xù)發(fā)展提供支持。目前該公司軟件已在我國的建筑、水利水電、廠房、城市軌道交通得到應(yīng)用[1-4],在土木工程中也提供較多產(chǎn)品如PowerCivil、 BridgeMaster、ProConcrete等,但是在鐵路橋梁工程進(jìn)行探索應(yīng)用時(shí)仍不能滿足橋梁設(shè)計(jì)的實(shí)際需求[5],需要進(jìn)行二次開發(fā)實(shí)現(xiàn)基于線路的橋梁參數(shù)化建模。
由于PowerCivil和MicroStation的實(shí)體參數(shù)化功能較弱,為方便實(shí)現(xiàn)結(jié)構(gòu)物的三維參數(shù)化,在開發(fā)過程中定義了一種描述語言——PCL(Parametric Component Language),并在MicroStation平臺上開發(fā)了相應(yīng)的語言解釋器,以實(shí)現(xiàn)結(jié)構(gòu)體的參數(shù)化。該方法將結(jié)構(gòu)體分為3個層次:圖元Element、構(gòu)件Component和組件Assembly,一般用Element定義二維參數(shù)化圖元,Component定義三維參數(shù)化構(gòu)件,Assembly定義三維參數(shù)化組裝體。
參數(shù)化構(gòu)件的原理:首先實(shí)現(xiàn)二維輪廓的參數(shù)化,通過拉伸、掃描二維輪廓等方法形成參數(shù)化構(gòu)件,再由構(gòu)件通過組合、并交差、排列、變換等操作形成復(fù)雜構(gòu)件或組件。由此可知,一個參數(shù)化構(gòu)件的主要參數(shù)是其輪廓幾何參數(shù)、高度參數(shù)、定位參數(shù)等,而由這些參數(shù)組成的構(gòu)件或組件為保證其相互關(guān)系,就必須注意建立其參數(shù)關(guān)系。在PCL里通過參數(shù)傳遞、共用表達(dá)式等方式來建立,建立的PCL文件在PowerCivil啟動時(shí)自動完成加載。
下面以定義支承墊石為例進(jìn)行說明,在PCL文件中使用“#”,“#”后面的內(nèi)容全部為注釋內(nèi)容。
[Component] # 開始一個對象定義,可以是Element,Component,Assembly
ID=_pcPadStone # 該對象標(biāo)識,ID是關(guān)鍵字,_pcTwoPadStone是定義的該對象
# 的標(biāo)識字串,可任意定義,但不能和其他對象相同。在其他對
# 象要引用該對象時(shí),也必須通過該ID來調(diào)用。
Name=單排支承墊石 # 該對象的名稱,可與其他對象同名
Type=PointPositioning # 該對象的生成方法,主要方法如下:# PointPositioning—定位組合
# SolidByExtrusion—拉伸體
# LoftSolid—放樣體
# Subtract—實(shí)體相減
# UniteSubtract—實(shí)體相加后相減
# ArcCone—圓弧過渡體
Unit=m # 變量單位
Variable=L(2.2);W(2.2);H1(0.3);H2(0.32);dx(5)
# 指定該對象需要的參數(shù)及初始值
Pivot=P0(0.0,0.0,0.0) # 該對象的定位點(diǎn),可以有多個,實(shí)際是相對插入點(diǎn)的偏移值
# 可以由變量或變量表達(dá)式組成,但變量必須是Variable中定義
# 的變量。
Part1=_pcBlock(P0(P0);L(L);W(W);H(-H1);@Tx(-dx/2))
Part2=_pcBlock(P0(P0);L(L);W(W);H(-H2);@Tx(dx/2))
# 該對象的構(gòu)件組成,關(guān)鍵字必須是Element或Part作為前綴,
# “=”后面的是調(diào)用的對象名稱及其參數(shù),參數(shù)的順序可任意,
# 但參數(shù)應(yīng)該是定位點(diǎn)如P0,P1或調(diào)用對象所需要的參數(shù)。該例
# 中L,W,H是調(diào)用對象_pcBlock所需要的參數(shù)(即_pcBlock中
# Variable定義的參數(shù)),“()”里是傳入?yún)?shù)值,此處的參數(shù)值可
# 以是具體的數(shù)值(即代替被調(diào)用對象的變量初值),也可以是此對
# 象要傳入給被調(diào)用對象(_pcBlock)的變量參數(shù)或變量表達(dá)式,如此
# 處L(L)意思是:_pcBlock的L變量等于本對象定義的L變量,
# H(-H1)意思是:_pcBlock的H變量等于本對象的-H1。
# 以“@”開頭為系統(tǒng)變量,主要的系統(tǒng)變量如下:
# @Tx:對象生成后沿X軸移動@Tx指定的值
# @Ty:對象生成后沿Y軸移動@Ty指定的值
# @Tz:對象生成后沿Z軸移動@Tz指定的值
# @Rx:對象生成后饒X軸旋轉(zhuǎn)@Rx指定的值,單位為度
# @Ry:對象生成后饒Y軸旋轉(zhuǎn)@Ry指定的值,單位為度
# @Rz:對象生成后饒Z軸旋轉(zhuǎn)@Rz指定的值,單位為度
利用已定義的對象:_pePolygon、_pcBlock、_ pePolyline、_peHalfRoundProfile、_ peHalfRoundProfileWithGap、_peTrapezoidProfile、_ pcCylinder,等定義通橋(2009)4301/4201系列圓端形實(shí)體墩(見圖1)。
圖1 通橋(2009)4301/4201系列圓端形實(shí)體墩
#雙支承墊石
[Component]
ID=_pcTwoPadStone_yinxi
Name=雙支承墊石
Type=PointPositioning
Unit=m
Kind=1201
Variable=L(1.2);W(2.4);H(0.35);dx(4.5)
Pivot=P0(0.0,0.0,0.0);P1(0.0,0.0,-H)
Part1=_pcBlock(P0(P0);L(L);W(W);H(H);@Tx(-dx/2))
Part2=_pcBlock(P0(P0);L(L);W(W);H(H);@Tx(dx/2))
#圓端形帶檢查孔頂帽
[Component]
ID=_pcHalfRoundCone_yinxi
Name=圓端形臺體
Type=LoftSolid
Unit=m
Variable=H(0.5); UP_L(4.8); UP_W(3.4);DW_ L(4.8);DW_W(3.4)
Pivot=P0(0.0, 0.0, 0.0); P1(0.0, 0.0, -H)
Element0= _peHalfRoundProfile(L(UP_L);W(UP_W))
Element1= _peHalfRoundProfile(L(DW_L);W(DW_ W))
[Component]
ID=_pcHalfRoundConeWithGap_yinxi
Name=帶泄水管圓端形臺體
Type=LoftSolid
Unit=m
Variable=H(0.5); UP_L(4.8); UP_W(3.4);DW_ L(4.8);DW_W(3.4)
Pivot=P0(0.0, 0.0, 0.0); P1(0.0, 0.0, -H)
Element0= _peHalfRoundProfileWithGap(L(UP_ L);W(UP_W))
Element1= _peHalfRoundProfileWithGap(L(DW_ L);W(DW_W))
[Component]
ID=_pcArcCone_yinxi
Name=帶泄水管弧形圓端形臺體
Type=ArcCone
Unit=m
Variable=H(2.75);UP_L(4.8); UP_W(3.0);DW_ L(3.7);DW_W(2.3);R1(4.651);R2(10.979);d(0.2)
Pivot=P0(0.0, 0.0, 0.0); P1(0.0, 0.0, -H)
Element0= _peHalfRoundProfileWithGap(L(UP_ L);W(UP_W);d(d))
Element1= _peHalfRoundProfileWithGap(L(DW_ L);W(DW_W);d(d))
#檢查凹槽
[Component]
ID=_pcTrapezoidSlot_yinxi
Name=梯形槽體
Type=SolidByExtrusion
Unit=m
Variable=L(1.5);W(3.4);H(0.5)
Pivot=P0(0.0, 0.0, 0.0); P1(0,0,-W)
Element= _peTrapezoidProfile(L(L);H(H))
[Component]
ID=_pcArcTop_yinxi
Name=帶凹槽的圓端形托盤頂帽
Type=UniteSubtract
Pivot=P0(0., 0., 0.);P1(0.,0.,-djw);P2(0.,0.,djw);P3(0.,0.,zhi_H)
Variable=zhi_L(1.2);zhi_W(2.4);zhi_D(4.5);zhi_ H(0.35);ding_D(3);ding_B(4.8);ding_H(0.15);ding_ kd(0.2);jing_D(2.3);jing_B(3.7);jing_H(2.75);dun_ HR(4.651);dun_ZR(10.979);djw(0.05);cao_L(1.5);cao_H(0.5)
Part1=_pcHalfRoundCone_yinxi(P0(P1);H(ding_ H);UP_L(ding_B);UP_W(ding_D);DW_L(ding_B);DW_ W(ding_D) #頂帽
Part2=_pcHalfRoundCone_yinxi(P0(P2);H(djw);UP_ L(zhi_L+zhi_D);UP_W(0.001);DW_L(Part1.UP_L);DW_ W(Part1.UP_W-2*djw) #排水坡
Part3=_pcHalfRoundCone_yinxi(P0(P0);H(djw);UP_ L(Part2.DW_L);UP_W(Part2.DW_W);DW_L(Part1.UP_ L);DW_W(Part1.UP_W) #倒角
Part4=_pcTwoPadStone_yinxi(P0(P3);L(zhi_ L);W(zhi_W);H(zhi_H);dx(zhi_D) #支承墊石
Part5=_pcArcCone_yinxi(P0(Part1.P1);H(jing_H);UP_ L(ding_B);UP_W(ding_D);DW_L(jing_B);DW_W(jing_ D);R1(dun_HR);R2(dun_ZR);d(ding_kd) #圓弧托盤
Part6=_pcTrapezoidSlot_yinxi(P0(P2);L(cao_ L);W(ding_D+0.5);H(cao_H+0.5);@Rx(90);@Ty(-Part1. UP_W/2);@Tz(0.5) #凹槽
#群樁基礎(chǔ)
[Component]
ID=_pcGroupPile_yinxi
Name=群樁
Unit=m
Type=MatrixDistributing
Variable=D(1.25);L(20.0);dx(3.3);dy(4.0);nx(4);ny(2)
Pivot=P0(0.0,0.0,0.0);P1(0.0,0.0,-L)
Element=_pcCylinder(P0(P0);R(D/2);H(L))
#圓端形實(shí)體橋墩-圓弧過渡
[Assembly]
ID=_paArcPier_yinxidun
Name=圓端形實(shí)體橋墩(托盤圓弧過渡)-銀西
Kind=500
Descripition=銀西客專預(yù)制梁實(shí)體墩
Type=PointPositioning
Pivot=P0(0.0, 0.0, 0.0);P1(0.0,0.0,-ding_H-jing_ H-0.05)
Variable=dsH(20);zhi_L(1.2);zhi_W(2.4);zhi_ D(4.5);zhi_H(0.35);ding_D(3);ding_B(4.8);ding_ H(0.15);ding_kd(0.2);jing_D(2.3);jing_B(3.7);jing_ H(2.75);dun_HR(4.651);dun_ZR(10.979);dun_PL(45);ctai_ L(12.0);ctai_W(6.3);ctai_H(2.5);pile_D(1.25);pile_ L(30);pile_DX(3.125);pile_DY(3.75);pile_nx(4);pile_ny(2)
#帶凹槽的圓端形托盤頂帽
Part1=_pcArcTop_yinxi(P0(P0);zhi_L(zhi_L);zhi_ W(zhi_W);zhi_D(zhi_D);zhi_H(zhi_H);ding_D(ding_ D);ding_B(ding_B);ding_H(ding_H);ding_kd(ding_kd);jing_ D(jing_D);jing_B(jing_B);jing_H(jing_H);dun_HR(dun_ HR);dun_ZR(dun_ZR))
#墩身
Part2=_pcHalfRoundConeWithGap(P0(P1);H(dsH);UP_L(jing_B);UP_W(jing_D);DW_L(jing_D+2*dsH/dun_ PL);DW_W(jing_B);d(ding_kd))
#承臺
Part3=_pcBlock(P0(Part2.P1);L(ctai_L);W(ctai_ W);H(ctai_H)
#樁基礎(chǔ)
Part4=_pcGroupPile_yinxi(P0(Part3.P1);D(pile_ D);L(pile_L);dx(pile_DX);dy(pile_DY);nx(pile_nx);ny(pile_ ny))
在啟動PowerCivil時(shí),自動加載定義的PCL文件,選擇一個三維視圖,執(zhí)行[調(diào)用參數(shù)化構(gòu)件]—將在組件頁面中顯示所定義的實(shí)體橋墩—“圓端形實(shí)體橋墩(托盤圓弧過渡)—銀西”(見圖2)。右側(cè)顯示出所定義的主控參數(shù),在三維視圖中點(diǎn)擊頁面中[調(diào)用]按鈕,實(shí)體墩的參數(shù)化的模型將顯示在視圖中(見圖3)。
圖2 調(diào)用參數(shù)化構(gòu)件圖
選擇三維視圖中的實(shí)體橋墩模型,點(diǎn)擊右鍵—修改標(biāo)準(zhǔn)構(gòu)件參數(shù)頁面,修改主控參數(shù)后(見圖4),執(zhí)行頁面中[修改]按鈕,驅(qū)動實(shí)體模型的修改。
利用所定義的實(shí)體橋墩模型,可以創(chuàng)建標(biāo)準(zhǔn)圖(見圖5),利用標(biāo)準(zhǔn)圖創(chuàng)建出銀西線實(shí)體橋墩參考圖,在基于線路創(chuàng)建橋梁模型時(shí),直接選擇銀西線實(shí)體橋墩參考圖,則能根據(jù)線路高程與地形圖相對關(guān)系自動確定合理橋墩高度,調(diào)用參考圖完成橋墩參數(shù)實(shí)例化。
圖3 定義的實(shí)體橋墩模型
圖4 修改標(biāo)準(zhǔn)構(gòu)件參數(shù)
圖5 創(chuàng)建實(shí)體橋墩標(biāo)準(zhǔn)圖
高效率高質(zhì)量建模是BIM技術(shù)應(yīng)用的基礎(chǔ),構(gòu)件的參數(shù)化設(shè)計(jì)是二次開發(fā)中需要首要解決的問題。通過對圖元Element、構(gòu)件Component和組件Assembly等PCL格式定義可以建立構(gòu)件模型的標(biāo)準(zhǔn)庫,利用模型庫能夠快速創(chuàng)建出鐵路橋梁模型,該方法能夠?qū)崿F(xiàn)鐵路橋梁構(gòu)件的參數(shù)化、關(guān)聯(lián)化、標(biāo)準(zhǔn)化設(shè)計(jì)。
[1] 蔣慧. Bentley三維軟件在建筑設(shè)計(jì)中的應(yīng)用[J]. 工程設(shè)計(jì)與研究,2014(137):19-23.
[2] 高博. 三維協(xié)同設(shè)計(jì)在水利設(shè)計(jì)院中的應(yīng)用[J]. 水科學(xué)與工程技術(shù),2013(5):94-96.
[3] 莊葉凱. Bentley三維工廠軟件在工程設(shè)計(jì)中的應(yīng)用[J].有色冶金設(shè)計(jì)與研究,2009(6):108-109.
[4] 劉奧. 武漢地鐵2號線常青花園車輛段BIM設(shè)計(jì)[J]. 鐵路技術(shù)創(chuàng)新,2015(3):81-84.
[5] 劉彥明. BIM技術(shù)在鐵路設(shè)計(jì)中的推廣應(yīng)用[J]. 鐵路技術(shù)創(chuàng)新,2015(3):51-54.
劉彥明:中鐵第一勘察設(shè)計(jì)院集團(tuán)有限公司,教授級高級工程師,陜西 西安,710043
責(zé)任編輯 李葳
U442.5+4;TP311
A
1672-061X(2016)03-0036-05