任小萍
(西安航空職業(yè)技術(shù)學(xué)院 陜西 西安 710089)
虛擬仿真是一種借助計(jì)算機(jī)對(duì)現(xiàn)實(shí)環(huán)境進(jìn)行模擬的智能技術(shù),能夠在計(jì)算機(jī)系統(tǒng)中創(chuàng)建出與現(xiàn)實(shí)世界大致相同的環(huán)境,是實(shí)現(xiàn)虛擬想象與現(xiàn)實(shí)世界連接的重要途徑[1]。在虛擬仿真環(huán)境中,用戶主要通過(guò)視覺(jué)、聽(tīng)覺(jué)以及感官等人體感知能力實(shí)現(xiàn)與虛擬世界之間的交互[2]。目前,在汽車(chē)發(fā)動(dòng)機(jī)構(gòu)造展示方面,主要采用PPT、Flash等傳統(tǒng)展示方法,無(wú)法將較為復(fù)雜的汽車(chē)發(fā)動(dòng)機(jī)典型零件加工工藝進(jìn)行清晰展示。從而導(dǎo)致教師在向?qū)W生傳授機(jī)械知識(shí)時(shí),對(duì)汽車(chē)發(fā)動(dòng)機(jī)典型零件加工工藝的描述太過(guò)復(fù)雜化,學(xué)生無(wú)法在教學(xué)過(guò)程中與教者之間進(jìn)行互動(dòng),學(xué)者難以從本次學(xué)習(xí)中獲取到真實(shí)有效的知識(shí)?;诖?,本文就將引入U(xiǎn)nity3D虛擬仿真技術(shù)對(duì)汽車(chē)發(fā)動(dòng)機(jī)典型零件加工工藝虛擬仿真系統(tǒng)進(jìn)行設(shè)計(jì)研究[3],以此期望為高校機(jī)械知識(shí)教學(xué)領(lǐng)域起到有效促進(jìn)作用。
本次系統(tǒng)設(shè)計(jì)的主要目的在于簡(jiǎn)化汽車(chē)發(fā)動(dòng)機(jī)典型零件加工工藝教學(xué),使教者能夠以簡(jiǎn)單明了的方式讓學(xué)生掌握整個(gè)加工過(guò)程的相關(guān)知識(shí),以此提高汽車(chē)發(fā)動(dòng)機(jī)典型零件加工工藝教學(xué)的有效性,促進(jìn)我國(guó)機(jī)械領(lǐng)域高速發(fā)展。對(duì)此,為實(shí)現(xiàn)上述的設(shè)計(jì)目標(biāo),本文將采用多個(gè)二維場(chǎng)景及三維場(chǎng)景組合的方式,對(duì)汽車(chē)發(fā)動(dòng)機(jī)典型零件加工工藝虛擬仿真系統(tǒng)進(jìn)行設(shè)計(jì)。其中,二維場(chǎng)景主要借助UGUI界面與C++語(yǔ)言結(jié)合的方式,實(shí)現(xiàn)對(duì)UI(User Interface)界面的設(shè)計(jì);三維場(chǎng)景主要通過(guò)3個(gè)步驟達(dá)到生動(dòng)逼真的場(chǎng)景效果設(shè)計(jì)[4-6]。首先,利用SolidWorks建模軟件建立起相應(yīng)的汽車(chē)發(fā)動(dòng)機(jī)典型零件模型,并通過(guò)3DSMAX將該模型轉(zhuǎn)化為FBX格式;其次,通過(guò)C++語(yǔ)言對(duì)該模型進(jìn)行控制設(shè)計(jì),以此形成三維場(chǎng)景交互模式;最后,利用Unity3D軟件自身所帶的各項(xiàng)先進(jìn)功能,如烘焙技術(shù)、渲染系統(tǒng)、Phys X物理引擎等,對(duì)三維場(chǎng)景進(jìn)行渲染,以此形成生動(dòng)逼真,演示效果真實(shí)的三維場(chǎng)景,為學(xué)生提供更為生動(dòng)、逼真的虛擬仿真學(xué)習(xí)環(huán)境。
根據(jù)上述的設(shè)計(jì)目的,在系統(tǒng)功能設(shè)計(jì)方面,本文將其劃分為理論知識(shí)模塊、加工仿真演示模塊以及考核模塊。其中,理論知識(shí)模塊主要是對(duì)汽車(chē)發(fā)動(dòng)機(jī)曲軸以及氣缸體兩大零部件相關(guān)知識(shí)進(jìn)行介紹,如零件介紹、工藝卡片以及零件圖等;加工仿真演示模塊是整個(gè)仿真系統(tǒng)的關(guān)鍵所在,該模塊主要是對(duì)汽車(chē)發(fā)動(dòng)機(jī)典型零件中的曲軸及氣缸體的加工工藝進(jìn)行仿真演示;考核模塊主要是對(duì)前兩部分功能所介紹及演示的知識(shí)進(jìn)行檢驗(yàn)。具體汽車(chē)發(fā)動(dòng)機(jī)典型零件加工工藝虛擬仿真系統(tǒng)功能模塊設(shè)計(jì)框圖如圖1所示。
圖1 系統(tǒng)功能模塊設(shè)計(jì)框圖
汽車(chē)發(fā)動(dòng)機(jī)典型零件曲軸及氣缸體在加工之前,必須在充分掌握相關(guān)零件圖紙及零件理論知識(shí)的基礎(chǔ)上,對(duì)零件加工工藝規(guī)章進(jìn)行制定。對(duì)此,為了使本文所設(shè)計(jì)的汽車(chē)發(fā)動(dòng)機(jī)典型零件加工工藝虛擬仿真系統(tǒng)具備一套完善的教學(xué)知識(shí)體系,理論知識(shí)功能模塊將包含發(fā)動(dòng)機(jī)零件加工之前需掌握的一切關(guān)鍵理論知識(shí)。理論知識(shí)功能模塊主要由零件介紹、工藝卡片、零件預(yù)覽、零件圖以及刀具介紹5部分組成,能夠讓學(xué)生全面地認(rèn)識(shí)到曲軸及氣缸體這兩大零件的相關(guān)理論知識(shí),為其在后續(xù)加工仿真演示模塊學(xué)習(xí)中打下基礎(chǔ),以此提高學(xué)生對(duì)發(fā)動(dòng)機(jī)典型零件構(gòu)造的熟悉程度。
加工仿真演示模塊主要是對(duì)曲軸及氣缸體兩大零件加工過(guò)程進(jìn)行動(dòng)態(tài)仿真演示。加工仿真演示模塊主要由零件的工藝路線演示,每道工序的工序卡片演示,工藝參數(shù)檢驗(yàn)以及加工過(guò)程動(dòng)態(tài)仿真效果展示組成。其中,零件工藝路線演示部分主要是對(duì)汽車(chē)發(fā)動(dòng)機(jī)典型零件曲軸及氣缸體生產(chǎn)工藝路線進(jìn)行仿真演示,使學(xué)生充分掌握該零件生產(chǎn)過(guò)程主要線路;每道工序的工序卡片部分主要為學(xué)生提供相應(yīng)的工序內(nèi)容,便于學(xué)生自行進(jìn)行參數(shù)計(jì)算與選??;工業(yè)參數(shù)檢驗(yàn)部門(mén)則是對(duì)學(xué)生計(jì)算與選擇完畢的參數(shù)進(jìn)行檢驗(yàn),確定該參數(shù)是否具備合理性;加工過(guò)程動(dòng)態(tài)仿真效果演示部分則是對(duì)曲軸及氣缸體加工過(guò)程進(jìn)行動(dòng)態(tài)演示。
設(shè)置該模塊的目的是對(duì)學(xué)生掌握基本的機(jī)械零部件加工工藝參數(shù),并根據(jù)學(xué)習(xí)的知識(shí),對(duì)發(fā)動(dòng)機(jī)典型零件曲軸及氣缸的知識(shí)進(jìn)行測(cè)試。對(duì)此,設(shè)計(jì)加工工序編制,加工工藝路線測(cè)試和試卷測(cè)試等部分。
用戶在借助鼠標(biāo)及相關(guān)硬件點(diǎn)擊UI界面按鈕功能后,引發(fā)的相關(guān)功能效果就是點(diǎn)擊觸發(fā)事件。在本文所設(shè)計(jì)的汽車(chē)發(fā)動(dòng)機(jī)典型零件加工工藝虛擬仿真系統(tǒng)中,想要將理論知識(shí)模塊以及加工仿真演示模塊得以清晰展示,都需借助點(diǎn)擊觸發(fā)事件得以實(shí)現(xiàn)。在點(diǎn)擊觸發(fā)事件設(shè)計(jì)方面,本文主要通過(guò)兩方面對(duì)其進(jìn)行實(shí)現(xiàn)。一方面,利用UGUI模塊對(duì)該系統(tǒng)功能界面按鍵外觀及文字進(jìn)行設(shè)計(jì);另一方面,在UGUI模塊完成按鍵設(shè)計(jì)后,采用Unity3D自帶組件庫(kù)對(duì)其進(jìn)行控制。其中,在按鍵外觀素材方面,主要采用Unity3D軟件具備的圖片素材,或者是開(kāi)發(fā)者所喜愛(ài)的圖片素材;按鍵文字設(shè)計(jì)方面,則采用Unity3D軟件中特有的文字編輯器Text文本,對(duì)按鍵文字進(jìn)行編輯。同時(shí),借助Inspector屬性面板對(duì)觸發(fā)按鍵字體、顏色、大小等進(jìn)行相應(yīng)的調(diào)整,使整個(gè)按鍵外觀達(dá)到新穎、鮮明、整潔等特點(diǎn)。在完成一系列按鍵設(shè)計(jì)之后,再利用Unity3D組件庫(kù)中Inspector屬性面板完成對(duì)按鍵添加Button組件的設(shè)計(jì),實(shí)現(xiàn)系統(tǒng)點(diǎn)擊觸發(fā)事件功能。具體Button組件賦予如圖2所示。
學(xué)生在完成汽車(chē)發(fā)動(dòng)機(jī)典型零件加工工藝?yán)碚撝R(shí)學(xué)習(xí)之后,可根據(jù)所學(xué)知識(shí)計(jì)算及選取相應(yīng)的加工工藝參數(shù)。而學(xué)生計(jì)算及選取后的數(shù)值是否正確,還需工藝參數(shù)檢驗(yàn)?zāi)0鍖?duì)其進(jìn)行檢驗(yàn)。通常情況下,在傳統(tǒng)式虛擬仿真系統(tǒng)的加工工藝參數(shù)檢驗(yàn)?zāi)0逯?,僅能對(duì)較少數(shù)量的參數(shù)進(jìn)行識(shí)別檢驗(yàn),采用的檢驗(yàn)方式也僅根據(jù)參數(shù)范圍最大值及最小值進(jìn)行識(shí)別檢驗(yàn),難以滿足汽車(chē)發(fā)動(dòng)機(jī)典型零件加工工藝這種較為復(fù)雜參數(shù)檢驗(yàn)要求。對(duì)此,本文將在汽車(chē)發(fā)動(dòng)機(jī)典型零件加工工藝虛擬仿真系統(tǒng)中引入數(shù)字段分割算法對(duì)學(xué)生計(jì)算與選取參數(shù)值進(jìn)行檢驗(yàn)。具體設(shè)計(jì)過(guò)程分為3個(gè)步驟:第一,將數(shù)字段分割為數(shù)字段max值以及數(shù)字段min值,并將此數(shù)值存儲(chǔ)至相應(yīng)的部位中;第二,對(duì)學(xué)生計(jì)算與選取的加工工藝參數(shù)進(jìn)行檢驗(yàn),若是該數(shù)值大于最小值小于最大值,就將該數(shù)值返回至true中,反之,則將其返回至false中;第三,使各加工工藝參數(shù)保持一致性。具體加工工藝參數(shù)檢驗(yàn)算法框圖如圖3所示。
圖2 Button組件賦予
圖3 加工工藝參數(shù)檢驗(yàn)算法框圖
虛擬動(dòng)態(tài)加工仿真通過(guò)觸發(fā)時(shí)間按鈕,從而完成開(kāi)始、暫停、繼續(xù)、結(jié)束等控制。要實(shí)現(xiàn)動(dòng)態(tài)演示加工效果,本文則采用Unity3D三維軟件。目前,在引入U(xiǎn)nity3D引擎的仿真系統(tǒng)領(lǐng)域中,主要采用兩種方法實(shí)現(xiàn)系統(tǒng)的仿真動(dòng)態(tài)演示功能。一種是以序列幀方式將制作的3D文件導(dǎo)出,然后以轉(zhuǎn)換為png格式,最后導(dǎo)入U(xiǎn)nity3D軟件中完成動(dòng)態(tài)演示。在這種模式下,將圖片通過(guò)Sprite(2D and UI)功能直接轉(zhuǎn)變?yōu)?D,然后借助Inspector屬性面板,對(duì)圖片進(jìn)行分別設(shè)置,以設(shè)定其播放的順序。最后將上述的畫(huà)面拖入到Hierarchy中開(kāi)始進(jìn)行動(dòng)態(tài)演示。但是這種方式通常會(huì)占用系統(tǒng)很大的內(nèi)存,導(dǎo)致播放速度變慢。因此,針對(duì)上述的問(wèn)題,本文采用第二種方式,那就是通過(guò)Game Object進(jìn)行加工演示。該方法的原理就是將程序直接掛載大搜場(chǎng)景對(duì)象當(dāng)中,然后通過(guò)Inspector屬性面板對(duì)其記性坐標(biāo)編輯,進(jìn)而作為動(dòng)態(tài)演示的屏幕。具體效果如圖4所示。
圖4 虛擬仿真加工演示界面
為驗(yàn)證上述方案的可行性,本文以某發(fā)動(dòng)機(jī)氣缸體加工過(guò)程動(dòng)態(tài)仿真作為實(shí)踐案例進(jìn)行仿真驗(yàn)證。在對(duì)氣缸體零件加工過(guò)程進(jìn)行動(dòng)態(tài)仿真時(shí),主要對(duì)該零件的面加工以及孔加工兩項(xiàng)工藝進(jìn)行仿真。其中,面加工工藝中工件表面變形這道工序是仿真技術(shù)所面臨的主要難點(diǎn);在對(duì)孔加工工藝進(jìn)行仿真時(shí),直徑變化工序是仿真技術(shù)面臨的主要難點(diǎn)?;诖耍疚囊韵聦⒁詺飧卓状昼M加工工藝為例,對(duì)氣缸體加工過(guò)程進(jìn)行動(dòng)態(tài)仿真。
在氣缸體各面的粗加工過(guò)程中,主要采用高速銑削技術(shù)開(kāi)展相關(guān)的加工工作。因此,在氣缸體加工過(guò)程的工藝參數(shù)檢驗(yàn)方面,本文將選用底面粗加工為例,對(duì)工藝參數(shù)選取與計(jì)算進(jìn)行檢驗(yàn)(如圖5所示)。
1)切削速度。將高速立式加工中心引入到氣缸體底面粗加工過(guò)程中,且選擇特質(zhì)優(yōu)質(zhì)刀具作為加工使用的主要刀具。通過(guò)對(duì)該刀具手冊(cè)的查閱,可將切削速度確定為vc=700m/min。
圖5 工藝參數(shù)檢驗(yàn)界面
2)主軸轉(zhuǎn)速。根據(jù)切削理論對(duì)主軸轉(zhuǎn)速進(jìn)行計(jì)算,具體計(jì)算公式為:
3)進(jìn)給量。以高速銑削技術(shù)加工特點(diǎn)作為基礎(chǔ),在進(jìn)行到高速銑削加工底面時(shí),采用較少的進(jìn)給量。
4)設(shè)置進(jìn)給速度,具體計(jì)算公式為:
以氣缸孔的實(shí)現(xiàn)為例,氣缸體的各個(gè)面孔加工是通過(guò)三維軟件來(lái)實(shí)現(xiàn),而對(duì)孔的分布則采用超級(jí)布爾分割。其具體的實(shí)現(xiàn)步驟為:
Step1:根據(jù)加工孔的大小創(chuàng)建圓柱體,然后采用超級(jí)布爾分割對(duì)孔的位置進(jìn)行一定的分割;
Step2:對(duì)坐標(biāo)進(jìn)行定義,將自定義的Y軸與整體坐標(biāo)系的Y軸的夾角設(shè)為30°。同時(shí)設(shè)定每一幀刀具的位移和每一幀的旋轉(zhuǎn)角度。
Step3:根據(jù)刀具的位移,在對(duì)應(yīng)的幀數(shù)下借助擠出功能,進(jìn)而實(shí)現(xiàn)粗精鏜孔加工。
具體實(shí)現(xiàn)效果如圖6所示。
圖6 實(shí)現(xiàn)效果
通過(guò)上述的設(shè)計(jì),借助Unity3D等三維軟件實(shí)現(xiàn)了一款可用于機(jī)械專業(yè)發(fā)動(dòng)機(jī)零部件加工的仿真學(xué)習(xí)系統(tǒng),并給出了部分動(dòng)態(tài)仿真演示界面。而在設(shè)計(jì)的過(guò)程中,針對(duì)開(kāi)發(fā)的難點(diǎn),首先對(duì)加工工藝參數(shù)設(shè)置的準(zhǔn)確性進(jìn)行檢驗(yàn),并給出了檢測(cè)算法;其次為實(shí)現(xiàn)動(dòng)態(tài)效果,引入U(xiǎn)nity3D軟件對(duì)動(dòng)態(tài)進(jìn)行仿真。而通過(guò)上述的設(shè)計(jì),為當(dāng)前汽車(chē)發(fā)動(dòng)機(jī)零部件的在線學(xué)習(xí)提供了一種新的借鑒參考。