西安航空職業(yè)技術(shù)學(xué)院航空維修工程學(xué)院 王林林 齊貝貝 張亞維 宋敏
隨著信息技術(shù)的發(fā)展,無(wú)論在工業(yè)還是其他行業(yè)中,靠著人們的經(jīng)驗(yàn)裝配的時(shí)代已經(jīng)無(wú)法滿足現(xiàn)在的發(fā)展。而應(yīng)用虛擬現(xiàn)實(shí)的手段將虛擬現(xiàn)實(shí)和現(xiàn)實(shí)生活結(jié)合起來(lái)的方式已成為工業(yè)及日常生活中的必需。
虛擬現(xiàn)實(shí)(VirtualReality,簡(jiǎn)稱VR)是一種新興技術(shù)。Virtools是法國(guó)達(dá)索公司研制開發(fā)的具有三維交互能力的VR軟件[1]。本文在Virtools環(huán)境下,設(shè)計(jì)和實(shí)現(xiàn)了對(duì)某型飛機(jī)的結(jié)構(gòu)的分解仿真。該仿真過(guò)程不僅使我們看到飛機(jī)整個(gè)分解過(guò)程,同時(shí)為現(xiàn)實(shí)飛機(jī)部件分解過(guò)程提供有力的參考。實(shí)驗(yàn)結(jié)果表明,該仿真過(guò)程更加真實(shí),且能靈活應(yīng)用于各個(gè)設(shè)備的分解及裝配中。
根據(jù)飛機(jī)裝配工藝的基本原則,設(shè)置飛機(jī)部件分解的過(guò)程是:先整體后局部。
對(duì)飛機(jī)結(jié)構(gòu)中的各個(gè)部件的分解過(guò)程進(jìn)行仿真,建立飛機(jī)上各個(gè)部件的初始坐標(biāo)數(shù)據(jù)和分解后最終坐標(biāo)數(shù)據(jù)。建立某型飛機(jī)的陣列,在飛機(jī)陣列中要顯示出飛機(jī)各個(gè)部件的坐標(biāo)及名字,名字和坐標(biāo)數(shù)據(jù)必須完全對(duì)應(yīng),才能后續(xù)實(shí)現(xiàn)對(duì)飛機(jī)中各個(gè)部件的分解仿真操作。
飛機(jī)上各個(gè)部件繁多,在這里我們不能應(yīng)用拷貝的方法將飛機(jī)各個(gè)部件名稱和坐標(biāo)數(shù)據(jù)復(fù)制到陣列,我們只能建立一個(gè)群組,將群組名字設(shè)置為某型飛機(jī),然后將排好序的部件信息發(fā)送到群組,再在Virtools環(huán)境中編寫飛機(jī)各個(gè)部件“初始坐標(biāo)數(shù)據(jù)獲取”腳本,進(jìn)而將飛機(jī)各個(gè)部件的初始坐標(biāo)發(fā)到飛機(jī)的陣列中。
飛機(jī)各個(gè)部件的初始坐標(biāo)獲取之后,我們要對(duì)飛機(jī)各個(gè)部件在分解后的坐標(biāo)數(shù)據(jù)進(jìn)行獲取。我們首先對(duì)飛機(jī)各個(gè)部件的分解的空間位置進(jìn)行設(shè)定,然后根據(jù)各個(gè)部件分解后的空間位置,編寫獲取各個(gè)部件分解后坐標(biāo)數(shù)據(jù)的腳本。通過(guò)飛機(jī)各個(gè)部件分解坐標(biāo)獲取腳本我們可以將飛機(jī)各個(gè)分解后的坐標(biāo)數(shù)據(jù)傳遞給飛機(jī)陣列。分解坐標(biāo)數(shù)據(jù)和飛機(jī)陣列中各個(gè)飛機(jī)部件的名稱是完全對(duì)應(yīng)的,保證后期仿真過(guò)程的正確性。
某型飛機(jī)各個(gè)部分的分解過(guò)程仿真是將飛機(jī)的部件由其初始狀態(tài)轉(zhuǎn)變成分解后狀態(tài)的過(guò)程。在飛機(jī)各個(gè)部件的分解過(guò)程仿真結(jié)束后,必須將飛機(jī)的各個(gè)部件再恢復(fù)到初始坐標(biāo)狀態(tài)。根據(jù)之前序列中設(shè)置的初始坐標(biāo),將飛機(jī)的所有部件設(shè)置為初始狀態(tài)。
飛機(jī)結(jié)構(gòu)的分解仿真過(guò)程是一個(gè)獲取了飛機(jī)各個(gè)部件的初始狀態(tài)及分解狀態(tài)的過(guò)程,根據(jù)某型飛機(jī)部件裝配的反順序?qū)w機(jī)中的各個(gè)部件由初始狀態(tài)位置轉(zhuǎn)移到分解后狀態(tài)的位置。
程序開始檢測(cè)陣列中飛機(jī)各個(gè)部件的坐標(biāo)狀態(tài),如果檢測(cè)不到陣列數(shù)據(jù)則需要重新進(jìn)行檢測(cè)。如可以檢測(cè)到飛機(jī)陣列的狀態(tài)數(shù)據(jù),就直接讀取飛機(jī)各個(gè)部件的分解后的狀態(tài)數(shù)據(jù),同時(shí)顯示飛機(jī)各個(gè)部件的名字。接著飛機(jī)各個(gè)部件將按序列中預(yù)先設(shè)定的順序從各個(gè)部件的初始位置移動(dòng)到飛機(jī)分解后的指定位置,直至將所有部件移動(dòng)完畢,程序結(jié)束。
根據(jù)流程圖,在Virtools環(huán)境下編寫腳本,按著預(yù)設(shè)的分解順序?qū)︼w機(jī)各個(gè)部件的分解過(guò)程進(jìn)行仿真,Virtools環(huán)境下飛機(jī)部件分解效果圖如圖1所示。經(jīng)測(cè)試,該腳本能夠滿足飛機(jī)各個(gè)部件分解過(guò)程的預(yù)期效果。
圖1 Virtools環(huán)境下飛機(jī)部件分解效果圖
實(shí)驗(yàn)結(jié)果表明,基于Virtools的飛機(jī)結(jié)構(gòu)分解仿真過(guò)程更加真實(shí),為真實(shí)的飛機(jī)分解裝配提供有力的參考,同時(shí)該經(jīng)驗(yàn)可以靈活應(yīng)用于各個(gè)設(shè)備的分解及裝配中。