李夢如, 陳茂林, 陳 哲, 于睿坤, 奚 鷹
(同濟大學 機械與能源工程學院, 上海 201804)
隨著科學技術的發展,虛擬仿真實驗教學成為了一種新興的教與學互動教學模式,憑借其較高的擬實性和交互性、較高的資源利用率和開放性等優點,正迅速地發展起來,并得到越來越廣泛的應用[1-3]。虛擬仿真實驗的構建對于高校實驗教學具有非常重大意義和應用價值。它將完全顛覆傳統實驗教學的時空觀念,對傳統實驗教學模式產生重大的變革。通過虛擬仿真實驗,就學生而言,體驗和熟悉實驗環境,操作虛擬實驗設備,了解實驗原理。在學習過程中或以后實際動手的實驗過程中,學生就能夠更好地提高學習效率和發揮自主創新能力[4];就學校而言,可減少了教育資源需求量和成本,實現教學資源的遠程共享,應對教育資源相對匱乏這一現象[5]。現今,我國各大高等院校已經開始大力建設虛擬仿真實驗項目,并著重推廣和發展,將其納入到教學改革與實踐中來[6]。
目前我校機械實驗教學中心的虛擬仿真實驗項目僅涉及一些能夠動態演示實驗過程的計算機輔助教學(Computer Assisted Instruction,CAI)類型實驗,只能實現實驗過程的演示,缺少交互性的虛擬仿真實驗[7]。學生往往只能被動地觀察實驗過程,而無法自主地進行學習,影響了學習和教學效果。由此可見,構建虛擬仿真實驗已迫在眉睫。
漸開線齒輪范成原理實驗[8-9]儀為漸開線齒輪范成儀,其主要由機架、圓盤及壓板、齒條型刀具、溜板、手柄、變位滾花等組成。機架起支承作用。轉動手柄,可通過絲杠結構調節圓盤相對于齒條型刀具的徑向距離。溜板可帶著刀具左右移動。調節圓盤至一定位置時,溜板也可帶著圓盤轉動。變位滾花可微調圓盤相對于齒條型刀具的徑向距離。漸開線齒輪范成儀實物圖如圖1所示。
目前我校所擁有的漸開線齒輪范成儀年代久遠,儀器老舊,損壞率高,維護及更換成本較高。不僅如此,在2學時內,要求教師完成相關實驗目的、內容、原理和步驟講解;要求學生完成加工17齒標準齒輪、9齒標準齒輪和9齒變位齒輪,通過觀察漸開線齒廓的形成過程,掌握用范成法切制漸開線齒輪的基本原理,了解漸開線齒廓產生根切的原因和避免產生根切的方法,并比較標準齒輪和變位齒輪的異同點。往往2個學時的時間是不夠的,需要占用額外的實驗室資源,來完成相關實驗。此外,機械基礎實驗課程主要面向我校機械設計制造及其自動化、車輛工程、工業工程、軌道交通等機類專業學生,人數眾多,實驗室資源有限,難以協調,以滿足學生和教師的需求。
開設漸開線齒輪范成原理虛擬實驗,逼真地模擬該實驗過程,供學生做預習和復習之用,豐富實驗室資源,是非常有必要的且具有意義的。
實現漸開線齒輪范成原理虛擬實驗的技術路線如圖2所示。
漸開線齒輪范成原理虛擬實驗的模型制作軟件采用的是面向產品開發的三維CAD軟件:Autodesk Inventor Professional (AIP)。運用軟件中草圖、拉伸、倒角、圓角、投影幾何圖元、抽殼、放樣、掃掠、陣列等命令,結合基本的機械繪圖知識,將模型制作出來[10](在此不贅述)。
采用基于個人計算機系統的三維動畫渲染和制作軟件3Ds Max對漸開線齒輪范成原理虛擬實驗的模型賦予材質。該軟件與Inventor具有極佳的適配性[11]。
在實際操作過程中,采用3Ds Max的材質編輯器為各零件賦予材質,渲染,之后導入Unity 3D過程中材質會部分失去,例如顏色無法一起導出,因此需要在Unity 3D中再做修改。但在3Ds Max中賦予材質的工作不能省略,因為只有具備不同外觀的零件賦予不同的材質球之后,在Unity 3D中才可以分別賦予材質,否則Unity 3D會認為所用零件是一個材質,不能加以區分。
漸開線齒輪范成原理虛擬實驗的交互設計采用Unity 3D軟件。Unity 3D[12-14]是一個集三維游戲視頻、建筑可視化、實時三維動畫、腳本后臺編輯綁定等多種類型于一體的多平臺綜合型游戲開發工具。Unity支持3種腳本語言:JavaScript、C#和Boo[15]。本虛擬實驗采用C#。需要注意的是,C#中類名被隱式的設置為腳本的文件名(不包含文件擴展名),且類名必須手工編寫。如果類名與文件名不符,軟件會報錯。實驗界面與交互場景的搭建主要涉及以下幾個方面:
(1) 主要函數應用。在漸開線齒輪范成原理虛擬實驗的界面與交互場景的搭建過程中,涉及到一些主要函數的應用,例如初始化設置函數(Start)、循環函數(Update)、事件會在鼠標停留在指定對象上時發生的函數(OnMouseOver)、事件會在鼠標進入物體碰撞器范圍時發生的函數(OnMouseEnter)、事件會在鼠標離開物體碰撞器范圍時發生的函數(OnMouseExit)、事件會在鼠標按下時發生的函數(OnMouseDown)、事件會在鼠標釋放時發生的函數(OnMouseUp)、事件會在按住鼠標時發生的函數(OnMouseDrag)、進入碰撞時被調用函數(OnCollisionEnter)、退出碰撞時被調用函數(OnCollisionExit)、逗留碰撞時被調用函數(OnCollisionStay)、激活物體對象及其腳本函數(gameObject.SetActive)等。
(2) 攝像機的應用。在本虛擬實驗中,實驗者通過攝像機來觀察虛擬場景并發出操作指令。
(3) 場景的切換。只用一個虛擬實驗場景展示本實驗,非常不便于實現所有操作控制,需要搭建其他實驗場景。
運用C#切換虛擬實驗場景時,需要在C#腳本文件中增加一個“using UnityEngine.SceneManagement”的頭文件;并且用腳本寫下“SceneManager.LoadScene(場景編號);”或者“SceneManager.LoadScene(“場景名字”);”,以加載新的場景,如圖3所示;或者,用腳本寫下“SceneManager.UnloadScene(場景編號);”或者“SceneManager.UnloadScene(“場景名字”);”,加載新場景,具體加載場景腳本如下。
using UnityEngine:
using System.Collections;
using UnityEngine.SceneManagement;
public class test2:MonoBehaviour{
void Start(){
SceneManager.LoadScene(1);
}
void Update(){
}
}
或者,用腳本寫下“SceneManager.Unlead Scene(“場景名字”);”來卸載當前場景。

圖3 漸開線齒輪范成原理虛擬實驗
(4) 按鈕(Button)的創建與連接。在菜單里創建好按鈕(Button)后,需要為按鈕(Button)創建并鏈接腳本,當按鈕(Button)被按下時,調用腳本內容控制虛擬實驗。
using UnityEngine;
using System.Collections;
public class NewBehaviourScript:MonoBehaviour{
void Start(){
}
1)選用抗倒伏品種。利用小麥品種本身的抗倒伏能力,是防止和減輕小麥倒伏最經濟有效的技術途徑[9,10]。建議科研和技術推廣部門開展品種抗倒性試驗,篩選出適合當地的抗倒伏品種。
void Updage(){
}
Public void test3(){
}
}
完成腳本后,將其掛載在按鈕(Button)上,此時腳本還不能使用。點擊選擇按鈕(Button),在其檢視面板上,點擊“On Click()”下面的“+”號,在“None”一欄里選擇剛才腳本掛載的物體對象“Button”,在“No Function”一欄里選擇所需腳本的名字以及函數的名字。
(5) 剛體及碰撞器的使用。剛體——在虛擬實驗中,要使實驗儀器、實驗對象等呈現物理效果,需為其添加剛體(Rigidbody)屬性。具體方法:在選擇物體的情況下,點擊檢視面板中的“Add Component”|“Physics”|“Rigidbody”。碰撞檢查方式——默認模式為離散模式(Discrete)。但是當物體運動速度很快時,可能會出現前一幀仍在另一物體的前面,而后一幀已經在另一物體的后面的情況。在這種情況下不會觸發碰撞事件。所以,要檢測該情況,必須使用下面兩種檢測方式:連續方式(可以與靜態網絡碰撞,并對實驗對象進行碰撞檢測)和連續動態方式(可以對設置了連續或連續動態方式的物體對象進行碰撞檢測)。碰撞器——Unity 3D中碰撞器分成3種類型:靜態碰撞器、剛體碰撞器和運動學剛體碰撞器。在選擇物體的情況下,點擊檢視面板中的“Add Component”|“Physics”|“Box Collider”。碰撞檢測——Unity 3D中有內置的兩種方法來實現物體之間的碰撞檢測:剛體碰撞方法和使用射線方法。若在虛擬實驗中想要通過鼠標點擊某物體對象觸發某事件時,必須先為該物體對象添加碰撞器,否則不能觸發點擊事件。
Unity 3D的編輯器運行在Windows 和Mac OS X下,可發布虛擬實驗至Windows、Mac、Wii、iPhone、WebGL(需要HTML5)、Windows phone 8和Android平臺。也可以利用Unity web player插件發布網頁版虛擬實驗,支持Mac和Windows的網頁瀏覽。它的網頁播放器也被Mac widgets所支持[16]。
漸開線齒輪范成原理虛擬實驗設計在一個虛擬的實驗教室中,齒輪范成儀、兩種規格的紙片、實驗原理書以及實驗步驟說明書擺放在實驗桌上(見圖3)。
點擊桌上的的兩本書,可進入實驗原理界面以及實驗步驟界面。按下Esc鍵,調出菜單,可選擇查看實驗原理、實驗步驟以及軟件操作說明,同時限制對實驗臺上物品的點擊觸發事件。點擊菜單上的按鈕,觸發相應事件,并隱藏菜單。再次按下Esc鍵,轉回到原來實驗狀態。實驗結構如圖4所示。

圖4 漸開線齒輪范成原理虛擬實驗結構示意圖
在實驗操作過程中,當鼠標移動到需要操作的部件上時,該部件呈綠色,表明可以對該部件進行相應操作。
實驗者的視角通過控制攝像機的平移和轉動來實現,即鍵盤上的W、S、A、D、V、Space、Q、E、R、F、Z、X鍵來控制。為了能逼真地反映實驗環境,在一般位置,其移動速度較快;到達特殊位置,例如實驗儀器的極限位置、墻壁的極限位置等,其相應方向上的移動速度為零,表示不可移動,但其他方向的移動速度正常。鼠標中鍵按下后,可增大攝像機的移動速度,方便實驗者的視角快速地到達指定位置,進行實驗。鼠標經過所有可操作對象上方時,該對象顏色變成綠色,鼠標離開后變回原來顏色。
按下Tab鍵,可調出副攝像機,以便觀察在紙上的畫圖情況。裝上繪圖紙后按下回車鍵,才可在繪圖紙上繪圖。本虛擬實驗采用在圓盤上的繪圖紙上實例化子級來實現這個真實的繪圖效果。
具體實驗步驟如下:
步驟1鼠標左擊齒輪范成儀機蓋,機蓋放置到實驗桌右上角,準備開始實驗。
步驟2鼠標左擊壓板,拆下壓板。
步驟3鼠標左擊齒條刀具,翻開刀具。
步驟4若選擇加工17齒標準齒輪,轉動圓盤的大扇面與溜板壓緊;若選擇加工9齒標準齒輪和9齒變位齒輪,轉動圓盤的小半圓面與溜板壓緊。鼠標左擊圓盤,可實現圓盤的轉動。
步驟5若選擇加工17齒標準齒輪,選擇大紙片進行操作;若選擇加工9齒標準齒輪和9齒變位齒輪,選擇小紙片進行操作。鼠標移動到紙片上,紙片呈綠色,鼠標左擊,紙片自動安裝到范成儀上。若未執行步驟2和步驟3,紙片無法安裝到范成儀上,系統也將提示“請先點擊壓板與刀具。”。
步驟6鼠標左擊壓板,裝上壓板;鼠標左擊齒條刀具,合上刀具。
步驟7鼠標左擊手柄,粗調圓盤相對于溜板的徑向位置,使圓盤與溜板壓緊。手柄設置了一定的旋轉范圍。
步驟8鼠標左擊變位滾花,微調圓盤相對于溜板的徑向位置,使齒條刀具的分度線與齒坯的分度圓相切。若加工變位齒輪,調節變位滾花,使齒條刀具的分度線與齒坯的分度圓相距一定的變位量。變位滾花設置了一定的旋轉范圍。
步驟9點擊鼠標右鍵,并按住A或者D鍵,可實現溜板的左右移動。移動齒條刀具至范成儀一端,每移動2~3mm,按下回車鍵,可在紙上畫下刀具廓線,此即為每次切削形成的加工面。
步驟10實驗完成之后,鼠標左擊壓板和齒條刀具,拆下壓板,翻開刀具,隨后左擊繪圖紙,繪圖紙回到桌面原來位置,如圖5所示。

圖5 實驗結果展示
漸開線齒輪范成原理虛擬實驗仿真,結合“課內”與“課外”的實驗教學方法,培養學生學習的自主性及實踐動手能力,滿足了學校師生對課程的需求,并豐富了實驗室資源。不僅如此,漸開線齒輪范成原理虛擬實驗的技術路線可運用到其他虛擬實驗的建立。