摘 要:隨著計算機技術(shù)的不斷發(fā)展,虛擬仿真技術(shù)在各專業(yè)領(lǐng)域得到了廣泛的應(yīng)用。在現(xiàn)如今傳統(tǒng)的教學(xué)模式中,教師難以憑借語言、文字和二維平面圖來表述清楚某些零部件的結(jié)構(gòu)與加工過程。針對這些教學(xué)難點,可以利用虛擬仿真軟件來進行大量的虛擬仿真實驗,以三維動畫的形式生動展示零部件結(jié)構(gòu)與加工過程,增強教學(xué)的直觀性和生動性。文章將介紹如何利用Solidworks、UG、Unity3D等軟件以及Java語言、Jsp相關(guān)技術(shù)開發(fā)虛擬仿真軟件的開發(fā)以及在汽車發(fā)動機典型零件加工工藝中的應(yīng)用。
關(guān)鍵詞:虛擬仿真系統(tǒng);發(fā)動機典型零件;加工工藝
1 概述
隨著計算機技術(shù)的飛速發(fā)展,信息技術(shù)在教學(xué)中已經(jīng)成為不可缺少的元素,多媒體、網(wǎng)絡(luò)技術(shù)被廣泛的應(yīng)用在教育教學(xué)中[1]。與傳統(tǒng)的教學(xué)模式對比中,虛擬仿真系統(tǒng)能夠增強教學(xué)的直觀性與生動性,不但使學(xué)生更容易掌握其中的原理與方法。還能吸引學(xué)生的興趣,帶動學(xué)生的積極性和互動性。虛擬仿真(Virtual Reality)就是利用計算機及相關(guān)軟件模擬出一個虛擬的三維世界,給使用者提供一個真實實驗的模擬環(huán)境。
學(xué)生進入虛擬仿真系統(tǒng)后可以先通過相關(guān)視頻及學(xué)習(xí)資料來了解發(fā)動機典型零件加工工藝。再利用不同種類的機床和刀具對發(fā)動機典型零件各個工序進行虛擬加工。通過該過程演示和虛擬操作,增強學(xué)生對典型零件加工工藝的認識,了解和掌握不同機床和刀具的加工對象,并能夠?qū)唵瘟慵M行基本工藝的制定。
文章采用SolidWorks制圖軟件對發(fā)動機典型零件進行三維建模,利用UG進行數(shù)控仿真加工,實現(xiàn)零件加工工藝過程的三維情景化仿真模擬。并與Unity3D軟件進行交互,并依靠Unity3D軟件來制作加工工藝過程環(huán)境,以及網(wǎng)頁動態(tài)效果。系統(tǒng)是基于B/S結(jié)構(gòu)進行系統(tǒng)開發(fā),并采用JavaScrip腳本語言進行部分設(shè)計,以及選用SQL Server數(shù)據(jù)庫等技術(shù)來構(gòu)建虛擬仿真系統(tǒng)。系統(tǒng)模塊主要分為:發(fā)動機基礎(chǔ)理論模塊、發(fā)動機拆裝過程模塊、典型零件加工工藝模塊、學(xué)校效果測驗?zāi)K等。管理員在B/S系統(tǒng)結(jié)構(gòu)下,對每位學(xué)生設(shè)置可以使用的用戶名賬號密碼,學(xué)生在進入虛擬實訓(xùn)系統(tǒng)學(xué)習(xí)的時候只要輸入自己的賬戶信息便可以登錄到系統(tǒng)中,學(xué)生通過系統(tǒng)便可以進行學(xué)習(xí)與互動。如圖1所示為本系統(tǒng)總體框架圖。
2 發(fā)動機典型零件的建模與加工工藝
構(gòu)建虛擬仿真系統(tǒng)首先要進行三維建模,三維建模是虛擬仿真最基本的交互操作對象。由于上述采用的軟件Unity3D雖然技術(shù)功能強大而又簡單操作,但也有不足之處就是它們并不具備三維建模功能,不能單獨使用來構(gòu)建虛擬仿真系統(tǒng),必須配合一款三維建模軟件來共同完成系統(tǒng)的構(gòu)建。本系統(tǒng)采用SolidWorks三維軟件來繪制發(fā)動機典型零件的建模。
SolidWorks三維建模軟件為達索系統(tǒng)下的子公司,專門負責(zé)研發(fā)的機械設(shè)計軟件。該軟件不但滿足發(fā)動機典型零部件建模尺寸的準確性和外觀逼真性,而且與Unity3D等軟件有很好的交互性??捎糜谧x取或轉(zhuǎn)換現(xiàn)有發(fā)動機零部件三維模型,是制作各種動畫和交互對象的基礎(chǔ)。
以奧迪V6發(fā)動機的典型零件缸體為例,缸體作為汽車發(fā)動機五大核心部件之一,其制造工藝一直是發(fā)動機生產(chǎn)中的重點和難點[2]。各個安裝零部件和附件安裝時位置是否正確,則需要由缸體來保證。缸體的加工質(zhì)量好壞,將直接影響發(fā)動機的工作性能。如圖2所示為用Solidworks建模后的奧迪v6發(fā)動機的缸體。
發(fā)動機缸體的加工工藝將采用先面后孔、粗精分開原則。先加工平面,再利用此面定位來加工其他表面。由于缸體的剛性較差,所以應(yīng)考慮在加工缸體各表面時將粗、精加工分開進行。如表1所示為缸體主要加工工序。
文章采用UG數(shù)控加工編程模塊來對零件進行編程。在Solidworks與UG間圖紙轉(zhuǎn)化時,需要將Solidworks圖紙以另存為的形式保存,文件類型為.step。否則UG無法進行讀取。
對缸體的表面進行加工仿真。單擊工具欄中的插入按鈕,點擊菜單中的創(chuàng)建幾何體選項,彈出“創(chuàng)建幾何體對話框”,在類型中選擇mill_contour,通過創(chuàng)建幾何體的對話框可以設(shè)置機床坐標系、部件幾何體、毛坯幾何體以及切削區(qū)域。
單機工具欄中插入按鈕,選擇菜單中刀具選項,彈出創(chuàng)建刀具對話框,在刀具子類型中選擇Mill圖標,點擊應(yīng)用。彈出銑刀-5參數(shù)設(shè)置對話框。其中,主要的設(shè)置參數(shù)為直徑18,下半徑為0,長度30,刀刃長度15。在刀柄一欄中,對刀柄進行如下設(shè)置:直徑50,長度60,拔模角0,角半徑為20。
接下來創(chuàng)建工序,類型選擇,F(xiàn)IXED_CONTOUR 即固定軸面輪廓銑,通過刀具刀軸可以任意選用所創(chuàng)建的刀具及設(shè)置要加工的軸向。在刀軌設(shè)置中可以設(shè)置加工參數(shù)。設(shè)置好之后單擊生成按鈕,便可獲取走刀軌跡。如圖3所示為缸體上表面粗加工刀軌。
3 Unity3D在虛擬仿真系統(tǒng)中的應(yīng)用
Unity 3D軟件是由Unity Technologies開發(fā)的用來制作如三維視頻游戲、建筑可視化、實時三維動畫等類型互動內(nèi)容的多平臺的綜合型游戲開發(fā)工具,是一個全面整合的專業(yè)游戲引擎,同時也是一個場景編輯器,也可以用它創(chuàng)造3D場景,并能使用腳本語言。Unity3D是一款類似于Vortools的開發(fā)環(huán)境軟件,其編譯器運行在Windows和Mac OSX下,可發(fā)布游戲至Windows、Mac,Wii或iPhone平臺,也可以利用Unity web player插件發(fā)布網(wǎng)頁游戲,支持Mac和Windows的網(wǎng)頁瀏覽[3]。
發(fā)動機典型零件仿真加工系統(tǒng)需要借助Unity3D的游戲引擎開發(fā),通過Marker識別、利用Unity3D強大的功能來實現(xiàn)虛擬環(huán)境與現(xiàn)實結(jié)合以及虛擬仿真加工實驗的交互。虛擬加工的環(huán)境可以先利用紋理、貼圖、反射、高光和凹凸來進行材質(zhì)屬性的設(shè)置,然后在場景中添加燈光效果及背景。再將一些機床、刀具及UG制作出的發(fā)動機典型零件以動畫的形式導(dǎo)入Unity3D中作為貼圖,這樣的場景可以達到虛擬加工環(huán)境的效果。再編寫相應(yīng)的程序來完成發(fā)動機典型零件加工過程的效果。
在使用者與虛擬仿真系統(tǒng)交互時,通過菜單來選擇不同的機床、刀具。所以實驗?zāi)K包括機床、刀具選擇菜單。本系統(tǒng)的機床、刀具菜單可以用Unity3D中的GUI對象來實現(xiàn),導(dǎo)入不同種類的機床、刀具圖片作為貼圖。使用者在進入系統(tǒng)后選擇發(fā)動機典型零件加工模塊,系統(tǒng)自動加載資源中的場景模型。使用者通過鼠標即可完成交互。
4 虛擬仿真系統(tǒng)的構(gòu)建
設(shè)計的虛擬仿真系統(tǒng)需要依靠性能好的軟硬件設(shè)備來實施,即可用于互聯(lián)網(wǎng),又能適用于局域網(wǎng),在客戶端方面:操作系統(tǒng)可用于WindowsXp/win7/win8/win10. 網(wǎng)絡(luò)協(xié)議:TCP/IP 瀏覽器:Internet Explorer8.0版本。數(shù)據(jù)庫:Microsoft SQL2005以上版本均可用。服務(wù)器方面操作系統(tǒng)、網(wǎng)絡(luò)協(xié)議以及數(shù)據(jù)庫與客戶端相同,WEB服務(wù)器則選用tomcat6.0以上均可。硬件環(huán)境中,服務(wù)器和客戶機最低要求配置內(nèi)存均在1G以上。
通常情況下,B/S結(jié)構(gòu)形式包括以下三個部分,他們分別是數(shù)據(jù)庫結(jié)構(gòu)層、服務(wù)器應(yīng)用層和用戶瀏覽器表示[4]。采用這種三層式的B/S結(jié)構(gòu),將會使得系統(tǒng)的每一個功能單元獨立完整運行[5]。三層B/S結(jié)構(gòu)組成如圖4所示。[4]
在開發(fā)客戶端時文章采用HTML、JavaScript進行開發(fā)。HTML用來制作網(wǎng)頁標記語言,描述網(wǎng)頁的格式設(shè)計以及在互聯(lián)網(wǎng)上與其他網(wǎng)頁的連接信息。通過瀏覽器執(zhí)行即可,然而HTML并不具備互動性,若想讓學(xué)生對于發(fā)動機典型零件工藝更好的學(xué)習(xí)和互動,還需JavaScript技術(shù)的支持,將JavaScript腳本嵌入在HTML的源碼中,用來給HTML網(wǎng)頁增加動態(tài)功能。達到讓學(xué)生與其交互的效果。Web數(shù)據(jù)傳遞可以采用XML。HTML的文件利用XML進行提取,利用XML可以對HTML網(wǎng)頁進行技術(shù)支持與完善。
通過Microsoft SQL2005創(chuàng)建命名為“QCFDJSXXT”數(shù)據(jù)庫,在“QCFDJSXXT”數(shù)據(jù)庫下建立以下表:管理員信息表、教師用戶表、學(xué)生用戶表、管理員可以通過后臺對數(shù)據(jù)庫進行增加和刪減。服務(wù)器端可以使用JSP進行開發(fā)。目前JSP支持的腳本只有Java,根據(jù)前文的介紹對于數(shù)據(jù)庫的連接需要使用JDBC來實現(xiàn),而利用JSP使用JDBC便可實現(xiàn)對數(shù)據(jù)庫的訪問,通過JDBC和JSP便可以實現(xiàn)SQL語句的執(zhí)行。用戶通過瀏覽器發(fā)出指令時,服務(wù)器會分析相應(yīng)的Java語言程序。然后經(jīng)過處理的信息以HTML的格式傳送到客戶端的WEB上,而JSP技術(shù)包含了Java程序段和HTML形式的文件。在虛擬實訓(xùn)系統(tǒng)開發(fā)中通過JSP以及Java技術(shù)來進行設(shè)計,相比較其他開發(fā)語言更具備優(yōu)勢。
服務(wù)器開發(fā)完成后,利用Unity3D的引擎,開發(fā)一個接口,讓典型零件加工工藝模塊與Unity3D制作出來的三維模擬加工仿真場景框架進行對接,當(dāng)使用者進入該模塊時,會獲取相對應(yīng)的場景模型文件路徑,并將其傳達給Unity3D三維模擬加工仿真場景框架。這樣模擬加工仿真場景框架會加載模型文件,并與使用者完成交互。通過上述結(jié)構(gòu),學(xué)生若要完成學(xué)習(xí)與交互,絕大部分內(nèi)容在服務(wù)器上完成,通過瀏覽器,學(xué)生可以隨時完成學(xué)習(xí)與操作,并不需要安裝相應(yīng)程序。
5 結(jié)束語
文章介紹了關(guān)于虛擬仿真加工系統(tǒng)的開發(fā)與在汽車發(fā)動機典型零件加工實訓(xùn)中的應(yīng)用。在與傳統(tǒng)的授課中,利用虛擬仿真系統(tǒng)教學(xué)能起到形象直觀得教學(xué)效果,學(xué)生潛在的工程能力也會得到挖掘、對零部件的工藝、加工原理等更容易掌握。豐富教師的教學(xué)手段也不再受設(shè)備的限制,既降低實訓(xùn)的成本又開闊學(xué)生的視野。
參考文獻
[1]周云成.汽車發(fā)動機構(gòu)造虛擬仿真實訓(xùn)系統(tǒng)開發(fā)研究[D].吉林:交通學(xué)院,2012.
[2]房長興,羅和平,高志永,等.發(fā)動機缸體加工工藝研究[J].機械設(shè)計與制造,2013(3):262-264.
[3]朱柱.基于Unity3D的虛擬實驗系統(tǒng)設(shè)計與應(yīng)用研究[D].華中師范大學(xué),2014.
[4]李敏.基于BS模式的網(wǎng)絡(luò)閱卷系統(tǒng)的設(shè)計與實現(xiàn)[D].吉林:吉林大學(xué),2014.
[5]D.McDuff,R.E1 Kaliouby,and R.Picard,“Crowdsourced Dete Collection of Facial Responses,”Rroc.13th Int'1 Conf.Multimodal Interaction,2011.