馮桂珍, 王大鳴, 池建斌, 王詠梅
(石家莊鐵道學(xué)院機(jī)械工程分院,河北 石家莊 050043)
以某移動(dòng)模架造橋機(jī)為研究對(duì)象,該造橋機(jī)是針對(duì)鐵路客運(yùn)專線雙線整孔橋梁施工而設(shè)計(jì),為上行式結(jié)構(gòu),主要由主梁、下導(dǎo)梁、懸臂梁、系統(tǒng)掛架、主梁支腿、懸臂梁支腿、跨內(nèi)小車、懸臂梁小車、電氣液壓系統(tǒng)及輔助設(shè)施等部分組成。滿足32m 梁且兼顧24m 梁的預(yù)制施工,與架橋機(jī)相比,它是將制梁、運(yùn)梁、架梁等工作合為一體的施工機(jī)械,具有節(jié)省制梁設(shè)備及場(chǎng)地投資,不需要運(yùn)梁設(shè)備、提升機(jī)和架橋機(jī),對(duì)路基和橋梁上部結(jié)構(gòu)無(wú)任何影響等特點(diǎn),但施工效率相對(duì)較低。
與一般機(jī)械產(chǎn)品相比,造橋機(jī)具有研制周期長(zhǎng)、資金投入大等特點(diǎn)。因此,在設(shè)計(jì)的前期對(duì)其進(jìn)行動(dòng)態(tài)模擬是很有其理論和實(shí)際意義的。同時(shí),便于引入課堂教學(xué)當(dāng)中。虛擬實(shí)現(xiàn)模型語(yǔ)言VRML(Virtual Reality Modeling Language)是一種基于網(wǎng)絡(luò)的三維場(chǎng)景描述性語(yǔ)言,具有動(dòng)態(tài)性、交互性、低帶寬網(wǎng)絡(luò)傳輸?shù)葍?yōu)點(diǎn),將圖、文、聲、色及動(dòng)態(tài)性等信息集于一體,建立具有交互性和導(dǎo)航功能的三維虛擬場(chǎng)景[1-2]。鑒于此,論文采用VRML 對(duì)該造橋機(jī)的組裝及施工工藝進(jìn)行了動(dòng)態(tài)模擬。整個(gè)設(shè)計(jì)過(guò)程主要包括建模、動(dòng)態(tài)性實(shí)現(xiàn)及VRML 場(chǎng)景優(yōu)化等。其中,建模采用AutoCAD 的三維建模與編輯功能完成各零部件的創(chuàng)建,動(dòng)態(tài)性通過(guò)虛擬現(xiàn)實(shí)模型語(yǔ)言VRML實(shí)現(xiàn),AutoCAD 模型和VRML 文件之間的轉(zhuǎn)換通過(guò)3DMax 實(shí)現(xiàn)。整個(gè)模擬過(guò)程具有動(dòng)態(tài)性、交互性、基于低帶寬網(wǎng)絡(luò)傳輸?shù)忍匦?,可以上傳到互連網(wǎng)上,供瀏覽者任意觀看和交互操作,加深瀏覽者對(duì)此類大型工程機(jī)械的認(rèn)識(shí)和了解。
VRML 模型的創(chuàng)建一般有以下幾種方式:
(1) 文本編輯 目前比較好的VRML 編輯器如Parallel Graphics 公司的VrmlPad,但編程不直觀,不適合復(fù)雜場(chǎng)景的構(gòu)建。
(2) 可視化編輯工具 如Parallel Graphics公司ISB、ISA、ICA,分別用于模型的創(chuàng)建、場(chǎng)景的布局和人物動(dòng)畫(huà),Silicon Graphics 公司的Cosmo World 等,但這些工具不便于構(gòu)建復(fù)雜場(chǎng)景。另外,針對(duì)VRML 在造型方面的不足,筆者在對(duì)VRML 研究的基礎(chǔ)上,利用VC 與OpenGL開(kāi)發(fā)了一個(gè)VRML 可視化編輯工具[3-4]。
(3) 其它軟件的支持 目前支持VRML格式的三維軟件有 3DMax、Pro/E、UG、SolidWorks 等,這種方式可以構(gòu)建復(fù)雜模型,且效率較高。
根據(jù)VRML 模型三種創(chuàng)建方式的各自特點(diǎn),移動(dòng)模架造橋機(jī)屬于結(jié)構(gòu)龐大而且復(fù)雜的工程機(jī)械產(chǎn)品,為提高建模效率,采用第三種方式創(chuàng)建,利用AutoCAD 完成三維模型,然后通過(guò)3DMax 轉(zhuǎn)換為VRML 格式文件。
根據(jù)零部分圖紙,采用AutoCAD 進(jìn)行三維模型的創(chuàng)建、部件的裝配。然后利用3DMax 作為格式轉(zhuǎn)化工具,完成AutoCAD 模型到VRML虛擬模型的轉(zhuǎn)換。二者之間可通過(guò)三種文件格式數(shù)據(jù)的轉(zhuǎn)換,即.dwg、.dxf、.3ds。這三種格式的主要差別是:
· .dwg 是AutoCAD 的基本格式,在交換時(shí)不轉(zhuǎn)換材質(zhì)或貼圖信息,但在轉(zhuǎn)換中保持幾何體的參數(shù)化性質(zhì)。
· .dxf 是AutoCAD 的文本文件格式,在交換時(shí)提供最直接的方法,將CAD 模型轉(zhuǎn)換為3DSMax 的網(wǎng)格對(duì)象。
· .3ds 是DOS 環(huán)境中3DS 的文件格式,是當(dāng)前唯一能與AutoCAD 互相轉(zhuǎn)換材質(zhì)和貼圖的方法。
為了保持 CAD 模型的幾何精度,提高VRML 模型的渲染效果,采用第一種方法,即直接利用3DMax 讀入dwg 文件,可通過(guò)圖層(Layer)、顏色(Color)和實(shí)體(Entity)三種不同的方式導(dǎo)入,采用圖層導(dǎo)入比較方便。在CAD 中將不同的零件設(shè)置在不同的圖層,以便于形成相應(yīng)的虛擬模型零件,為動(dòng)態(tài)性和交互性做準(zhǔn)備。
導(dǎo)入到3DMax 中后,對(duì)零部件進(jìn)行材質(zhì)和貼圖設(shè)置,以增強(qiáng)真實(shí)感。然后導(dǎo)出為VRML2.0格式文件(后綴為wrl),到此,模型創(chuàng)建完畢。圖1~圖4 是部分部件的VRML 模型。
圖1 主梁輔助支腿
圖2 主梁前支腿
圖3 下導(dǎo)梁前支腿
圖4 下導(dǎo)梁后支腿
VRML 2.0 創(chuàng)建的虛擬場(chǎng)景不再是靜態(tài)的,而是具有交互功能的動(dòng)態(tài)境界。瀏覽者不再是一個(gè)被動(dòng)的信息接受者,而是通過(guò)鼠標(biāo)等輸入設(shè)備交互地操作虛擬場(chǎng)景中的對(duì)象,如動(dòng)態(tài)地增減虛擬對(duì)象、改變對(duì)象的材質(zhì)、空間方位等。
VRML 中的交互行為是通過(guò)事件體系實(shí)現(xiàn)的。產(chǎn)生事件的方法通常有兩種:
(1) 靜態(tài)行為觸發(fā) 直接利用VRML 中的各種傳感器節(jié)點(diǎn)、插值器節(jié)點(diǎn)實(shí)現(xiàn)簡(jiǎn)單的動(dòng)畫(huà)和交互行為,不具有邏輯控制能力。
(2) 動(dòng)態(tài)行為觸發(fā) 利用腳本節(jié)點(diǎn)Script節(jié)點(diǎn)編程,使用一段程序邏輯來(lái)控制事件的產(chǎn)生。由于程序邏輯的隨意性和可擴(kuò)充性,從而具有了更大的空間,可以實(shí)現(xiàn)復(fù)雜動(dòng)態(tài)性和交互性。
Script 節(jié)點(diǎn)是與外部程序相連的接口。該節(jié)點(diǎn)主要包括四部分:url 域、field 域、eventIn 事件和eventOut 事件(見(jiàn)圖5)。Script 通過(guò)接受eventIn 事件調(diào)用相應(yīng)的處理過(guò)程函數(shù),經(jīng)過(guò)程處理后得出的數(shù)據(jù)作為eventOut 事件發(fā)送出去,其中eventIn 事件的值可以作為過(guò)程函數(shù)的因變量值,如果需要?jiǎng)t用field 域定義某個(gè)中間變量。處理過(guò)程函數(shù)可以使用VRML 瀏覽器支持的程序語(yǔ)言編寫(xiě),通常有Java、JavaScript。
圖5 動(dòng)態(tài)行為
由于造橋機(jī)的拆裝和施工工藝過(guò)程必須符合一定的邏輯關(guān)系,靜態(tài)行為無(wú)法實(shí)現(xiàn),需采用動(dòng)態(tài)行為。下面通過(guò)施工工序闡述動(dòng)態(tài)交互過(guò)程的實(shí)現(xiàn)。該造橋機(jī)的施工作業(yè)主要工序有:
(1) 準(zhǔn)備吊移下導(dǎo)梁工序 主機(jī)拼裝完畢后,將主機(jī)前移到首跨位置,此時(shí)主梁前支腿支撐于橋墩墊石上,跨內(nèi)小車吊起下導(dǎo)梁,準(zhǔn)備前移下導(dǎo)梁,同時(shí)懸臂梁小車回到懸臂梁根部,準(zhǔn)備輔助下導(dǎo)梁前移。
(2) 進(jìn)入制梁前工序 下導(dǎo)梁前移到下一跨位置,用墊塊將其前支腿支撐于橋墩上,將其后支腿支撐于橋臺(tái)上:合攏外掛架,編底腹板鋼筋籠,吊入內(nèi)模,編頂板鋼筋籠,放下吊桿,調(diào)整標(biāo)高,裝端模。
(3) 制梁工序 完成澆注混凝土、搗固、養(yǎng)護(hù)、拆端模、脫側(cè)模,并初張拉、脫底模。
(4) 過(guò)跨到下一位工序 起動(dòng)液壓系統(tǒng),在油缸配合下解開(kāi)外掛架中部聯(lián)接,張開(kāi)外掛架;去掉主梁前支腿墊塊,輔助支腿落在下導(dǎo)梁上,準(zhǔn)備主機(jī)前移;當(dāng)制梁完成后,主機(jī)前移到下一跨的位置;重復(fù)以上工序,可以完成制梁全程。
圖6~圖9 演示造橋機(jī)的施工過(guò)程,整個(gè)模擬過(guò)程具有動(dòng)態(tài)性、交互性和邏輯控制性,符合實(shí)際的工藝要求。具體實(shí)現(xiàn)是,在腳本程序中用一個(gè)整型變量step 控制每一步的施工過(guò)程。同時(shí),在施工工藝過(guò)程中,為了呈現(xiàn)最佳觀察方位,程序?qū)崿F(xiàn)了視點(diǎn)自動(dòng)切換。視點(diǎn)自動(dòng)切換是通過(guò)預(yù)設(shè)視點(diǎn)列表,在需要切換視點(diǎn)時(shí),將視點(diǎn)列表中的相應(yīng)視點(diǎn)綁定為當(dāng)前視點(diǎn),即設(shè)置其輸入接口set_bind 為true。以下是工藝過(guò)程邏輯控制的程序段代碼:
圖6 準(zhǔn)備梁澆鑄
圖7 梁澆鑄完畢
圖8 主梁等前移一跨
圖9 下導(dǎo)梁前移一跨,準(zhǔn)備下一梁澆鑄
為了避免建模過(guò)程的重復(fù)性編程,減少系統(tǒng)的文件長(zhǎng)度,在建模過(guò)程中,充分利用VRML 2.0 的豐富造型功能和技術(shù),進(jìn)行程序的優(yōu)化設(shè)計(jì)。具體措施如下:
(1) 使用DEF/USE 機(jī)制減少代碼的重復(fù)編寫(xiě);
(2) 利用inline 技術(shù),將不同VRML 文件內(nèi)聯(lián)成復(fù)雜的場(chǎng)景;
(3) 用LOD 節(jié)點(diǎn)描述復(fù)雜造型不同細(xì)節(jié)層次的組織關(guān)系,提高場(chǎng)景的真實(shí)感和渲染速度;
(4) 將VRML 文件保存為壓縮形式(*.wrz);
(5) 在不影響渲染效果的前提下,減少格式轉(zhuǎn)換后的三角面片數(shù)量,降低精度。
通過(guò)這些優(yōu)化措施,極大地減少了文件的長(zhǎng)度,進(jìn)一步提高了下載速度和渲染速度。
利用VRML 實(shí)現(xiàn)了移動(dòng)模架造橋機(jī)的裝配與施工工藝過(guò)程的動(dòng)態(tài)模擬,整個(gè)模擬過(guò)程具有動(dòng)態(tài)性、交互性、基于低帶寬網(wǎng)絡(luò)傳輸?shù)忍匦浴4搜芯亢蛯?shí)現(xiàn)方案對(duì)造橋機(jī)具有重要的現(xiàn)實(shí)意義,對(duì)同類大型工程機(jī)械具有參考價(jià)值。
[1] International Standard ISO/IEC 14772-1: 1997, VRML97 Standard [S].
[2] 賽博科技工作室. VRML與Java編程技術(shù)[M]. 北京:人民郵電出版社, 2002. 1-100.
[3] 馮桂珍, 池建斌. 基于Web 的虛擬現(xiàn)實(shí)模型創(chuàng)建工具[J]. 工程圖學(xué)學(xué)報(bào), 2004, 25(3): 30-34.
[4] 馮桂珍, 池建斌, 等. VRML 模型創(chuàng)建工具中的可視化交互操作的設(shè)計(jì)和實(shí)現(xiàn)[J]. 系統(tǒng)仿真學(xué)報(bào), 2006, 18(2): 387-390.