朱 斌, 吳亞東, 靳淇超
(長安大學公路養(yǎng)護裝備國家工程實驗室,西安 710064)
CAD/CAM技術是機械設計制造技術與信息技術交叉融合、相互滲透發(fā)展起來的一項綜合性應用技術,在工業(yè)制造領域具有廣泛的應用,也是我國高等教育中機械、汽車、建筑、電子等很多工科專業(yè)的必修課程之一[1-2]。該課程的基礎理論主要涉及機械制圖、機械設計基礎、機械制造技術基礎、計算機圖形學、矩陣運算、計算機程序設計等課程,具有知識點多、理論性強、內容分散、相關算法多、內容枯燥、不易理解等特點,采用傳統(tǒng)的教學模式,學生被動灌輸知識,往往會感覺內容抽象、理解困難,難以激發(fā)學生的學習興趣,直接影響了學習效果。
在國家積極提倡將現(xiàn)代信息技術和互聯(lián)網技術應用于教育的時代背景下,為適應信息化條件下知識獲取方式和傳授方式、教和學關系等發(fā)生革命性變化的要求[3],深化信息技術與教育教學深度融合,教育部于2017年和2018年先后發(fā)布了《關于2017—2020年開展示范性虛擬仿真實驗教學項目建設的通知》[4]和《關于開展國家虛擬仿真實驗教學項目建設工作的通知》[5],明確了虛擬仿真實驗教學是教育信息化和實驗教學示范中心建設的重要內容[6],因此得到了眾多專家學者的重視和關注[7-10],并在很多課程教學中得到了成功應用[11-14]。
為此,本文將虛擬仿真技術引入機械CAD/CAM課程的基礎理論教學中,設計并開發(fā)了機械CAD/CAM基礎理論虛擬仿真實驗教學系統(tǒng),旨在幫助學生理解隱藏在CAD/CAM系統(tǒng)背后的相關理論和算法,打造CAD/CAM虛擬仿真實驗教學“金課”,改變傳統(tǒng)教學模式,實現(xiàn)沉浸感教學,拓展理論教學和實驗的廣度與深度,為開展CAD/CAM課程虛擬仿真實驗教學提供了一種新的在線教學資源。
通過本課程的理論學習和上機實踐,雖然大部分同學能夠掌握某些CAD/CAM軟件的使用方法和應用技巧,甚至能熟練操作,但是對于軟件內部的基礎理論和實現(xiàn)算法卻知之甚少,學生在學習過程中往往只知其然而不知其所以然,做不到學以致用、用以促學、學用相長。
(2)教學模式單一,主要以課堂PPT講授和板書為主,內容枯燥。在傳統(tǒng)的教學模式下,教學方式以“教”為中心,學生被動灌輸知識,而且機械CAD/CAM課程中所涉及基礎理論內容枯燥,難以激發(fā)學生學習興趣。另外,課堂PPT素材陳舊,教學手段落后,缺乏互動,不利于學生獨立思考和創(chuàng)新能力的培養(yǎng)。
(3)缺乏針對性的實驗教學平臺,無法實現(xiàn)可視化教學。在當前的教學模式下,缺乏界面友好、形象直觀、互動性強的虛擬實驗教學平臺將隱藏在CAD/CAM系統(tǒng)背后的基礎理論呈現(xiàn)在課堂教學中,激發(fā)學習興趣,增強對基礎知識的理解。
(1)理論性強,內容枯燥。CAD/CAM課程融合了計算機科學與工程科學等多方面的知識,涵蓋大量的數(shù)學運算、圖形學、程序設計等方面的知識,理論性強。學生在學習時候往往感覺內容枯燥、乏味,不能激起學生的學習興趣。
(2)知識碎片化,缺乏系統(tǒng)性。CAD/CAM基礎理論涉及的內容寬泛,在教材的組織上,往往把一個完整的CAD/CAM系統(tǒng)所涉及的相關理論分解為若干個知識點,再由教師按部就班的以知識點的形式呈現(xiàn)給學生,這種碎片化的教學方式使學生缺乏對CAD/CAM系統(tǒng)整體的認識,學生在學習的過程中往往只見樹木不見森林,不易理解。
(3)實踐性強,與工程應用結合緊密。CAD/CAM技術是以計算機為輔助工具,應用工程技術人員自身的知識和經驗,進行產品設計和制造等相關活動的總稱,具有很強的實踐性。學習CAD/CAM基礎理論知識要堅持實踐與理論相結合,讓學生掌握相關的理論知識與方法,并在實踐中掌握動手的能力并逐步提高創(chuàng)新與解決問題的能力,達到學以致用的目的。
(4)學科跨度大,先修課程多。CAD/CAM是一門具有綜合性、實踐性和學科交叉性的課程,課程內容涉及工程數(shù)據處理、計算機圖形學、幾何建模、工程分析與優(yōu)化、計算機輔助工藝規(guī)劃、計算機輔助數(shù)控加工等,要求學生在學習本課程時,應該已經掌握機械、數(shù)學、計算機等學科的基礎知識。
(1)只知其然而不知其所以然,做不到學用相長。
(1)以學生為中心。充分考慮學生需求,利用虛擬仿真交互形式調動學生的積極性和主動性,形成學生在課堂教學中的主體地位;培養(yǎng)學生自主學習和探究式學習的能力,注重學生能力的提升及對相關知識點的理解與掌握。
(2)以興趣為導向。針對CAD/CAM基礎理論內容寬泛、理論性強的特點,開展課堂虛擬仿真實驗,增加課堂的趣味性,將繁瑣的理論知識與可視化的課堂實驗緊密結合,便于學生對理論知識與相關算法的理解,激發(fā)學生學習興趣,幫助學生構建完整的知識體系,培養(yǎng)學生的學習能力。
(3)以提升能力為出發(fā)點。利用虛擬仿真實驗教學系統(tǒng),通過輔助教學幫助學生理解CAD/CAM基礎理論;通過自主實驗和拓展練習培養(yǎng)學生提出問題、分析問題和解決問題的能力。
(4)支持多元化教學方法。利用虛擬仿真實驗教學系統(tǒng),豐富教學形式,支持虛實結合、互動體驗、探究式學習等不同教學方法,全方位提升學生的學習興趣和解決問題的能力。
CAD/CAM虛擬仿真實驗教學系統(tǒng)以機械CAD/CAM課程基礎理論為主要內容,課題組采用C#語言,設計并開發(fā)一個支持可視化輔助教學、學生自主實驗和拓展練習的實驗教學系統(tǒng)。該系統(tǒng)分為CAD和CAM兩個模塊,總體結構如圖1所示。由于涉及內容眾多,只對圖形變換和插補運算進行介紹。
圖1 機械CAD/CAM虛擬仿真實驗教學系統(tǒng)總體結構
CAD系統(tǒng)可分為二維CAD系統(tǒng)和三維CAD系統(tǒng),其中二維CAD系統(tǒng)是實踐操作的基礎,也是CAD/CAM課程教學的重點。下面僅以二維CAD系統(tǒng)中的圖形變換為例說明仿真實驗系統(tǒng)的設計與開發(fā)過程。
圖形變換是將幾何圖形以某種規(guī)則變換為另一種圖形的過程,其核心算法是圖形頂點坐標集矩陣與變換矩陣的乘積,具體表達式為[15]:
式中:x、y分別為變換前圖形頂點橫、縱坐標;x′、y′分別為變換后圖形的頂點坐標;T為變換矩陣。二維圖形變換包含基本變換與復合變換兩種類型,表1所示列舉了部分基本變換矩陣,復合變換的變換矩陣T則是由若干個不同的基本變換矩陣組合得到。
表1 部分二維圖形基本變換矩陣
采用C#語言將組成任意多邊形的點集矩陣與變換矩陣的乘積封裝為程序的內部函數(shù),根據用戶選擇的不同變換類型,系統(tǒng)自動調用相應的函數(shù)。以任意多邊形的變換為例,變換流程如圖2所示。
圖2 圖形變換設計流程圖
插補運算是數(shù)控機床中的重要功能之一[16]。插補就是根據零件輪廓的幾何形狀、尺寸、加工精度和工藝要求,在加工輪廓的起點和終點之間插入一系列中間點的過程,即數(shù)據點的密化,從而形成加工的輪廓軌跡。插補算法的性能直接影響到數(shù)控機床的優(yōu)劣。插補算法有很多種,其中逐點比較法使用最為廣泛,也是CAM教學的主要內容。下面就以逐點比較法直線插補為例介紹數(shù)控加工虛擬仿真系統(tǒng)的設計。
逐點比較法的基本原理為:刀具每走一步都要和規(guī)定的軌跡比較一次,并計算一次偏差值,根據比較結果來決定刀具下一步的進給方向和進給量。每個插補循環(huán)由偏差判別、坐標進給、偏差計算和終點判別4個步驟組成[17]。插補過程可用如下的偽代碼描述,其中Xe為橫坐標終點、Ye為縱坐標終點、N為總步數(shù)、Fm為偏差判別函數(shù)、Oxy為象限值。
本文開發(fā)的機械CAD/CAM基礎理論虛擬仿真實驗教學系統(tǒng)支持輔助教學、自主實驗和拓展練習3種教學模式。教師在講授CAD/CAM基礎理論相應知識點的同時,借助該系統(tǒng),可以開展可視化輔助教學,直觀展示教學內容,加深對知識點的理解,培養(yǎng)學生的學習興趣;學生也可以進行自主實驗,通過修改不同的參數(shù)獲取不同的實驗結果,在探究中理解知識內涵,并獲取知識;另外,學生還可以利用該實驗教學系統(tǒng)進行各種拓展練習,有利于拓寬學生知識面,培養(yǎng)學生的創(chuàng)造性思維。
下面分別以圖形變換和插補運算為例從輔助教學、自主實驗和拓展練習3個方面介紹系統(tǒng)的具體應用。
(1)輔助教學。圖形變換是CAD/CAM圖形處理的主要內容之一,其數(shù)學基礎是矩陣運算。教師在講授該知識點時,通常是講解矩陣的各種變換,內容枯燥乏味,難以激發(fā)學生的學習興趣。借助本文開發(fā)的實驗教學系統(tǒng),在講授矩陣變換的同時,可以形象直觀地展示圖形變換的過程,幫助學生理解其中的實現(xiàn)原理。圖3所示為二維圖形變換的應用實例。
圖3 二維圖形變換應用實例(繞任意直線對稱)
教師在使用時,首先通過鍵盤或鼠標輸入原始圖形的點集坐標,再選擇變換類型,之后系統(tǒng)會將變換后的結果以圖形化的形式輸出,同時,輸出變換后圖形的點集坐標和變換矩陣,以幫助學生學習。
(2)自主實驗。學生可以自主修改任意參數(shù)進行探究式學習,系統(tǒng)自動輸出不同變換結果,并顯示變換矩陣,幫助學生理解各參數(shù)的實際意義。如修改變換矩陣[a,b,p;c,d,q;k,m,s]中的k值,運行結果如圖4所示。由圖可見,增大k值后圖形將向右平移,由此可知,參數(shù)k是用來控制圖形的平移變換。
圖4 改變k值的實驗
(3)拓展練習。除此之外,學生可使用該系統(tǒng)進行拓展練習,如通過手工計算變換矩陣和變換后圖形的點集坐標,然后使用該系統(tǒng)驗證計算結果是否正確。以某四邊形繞原點旋轉任意角度為例,設四邊形點集坐標矩陣為:[107,125,1;47,28,1;179,48,1;104,66,1],由表1可知,繞原點旋轉任意角度的變換矩陣為:[cos θ,sin θ,0;-sin θ,cos θ,0;0,0,1],其中θ為旋轉角度,設θ=90°,則變換矩陣為:[0,1,0;-1,0,0;0,0,1],變換后圖形的點集坐標為:[-125,107,1;-28,47,1;-48,179,1;-66,104,1]。將上述數(shù)據輸入到該實驗系統(tǒng)可以驗證計算結果的正確性。
(1)輔助教學。插補運算的任務是在給定的加工軌跡的起點和終點間進行“數(shù)據點的密化”處理,該知識點的重點是講授插補算法的原理和實現(xiàn)過程。本系統(tǒng)可以以可視化的方式動態(tài)模擬插補過程,學生可以直觀地觀看插補的全過程,加深學生對插補原理的理解。如圖5是圓弧插補的應用實例。
圖5 圓弧插補應用實例
(2)自主實驗。學生使用該實驗系統(tǒng)進行插補實驗時可自主修改插補參數(shù),觀察不同參數(shù)下的運行結果,幫助學生理解不同插補參數(shù)的意義。圖6所示為選取不同步長的圓弧插補結果。
圖6 不同步長的圓弧插補結果
由實驗可知,當步長減小時,插補的軌跡更接近于實際的圓,所以減小插補的步長有利于提高加工精度。
(3)拓展練習。學生還可以使用該實驗系統(tǒng)進行各種拓展練習,如可以分別繪制位于第一、二象限的任意直線,觀察其插補過程,幫助學生理解插補原理。圖7所示為第一、二象限直線的插補。由實驗可知,當Fm≥0,直線在第一象限時,向+X方向步進;直線在第二象限時,向-X方向步進。當Fm<0直線在第一、二象限時,向+Y方向步進。
圖7 第一、二象限直線的插補結果
學生由此可以舉一反三,學習第三、四象限直線的插補,以加強對插補算法的理解。
為探索信息技術與教育教學深度融合的方法,課題組在多年的教學實踐中,針對CAD/CAM課程基礎理論在教學中存在的問題,采用C#編程語言,設計并開發(fā)了一套虛擬實驗教學軟件系統(tǒng)。應用結果表明,該系統(tǒng)能有效解決課程教學中存在的知識點抽象、教學模式單一、缺乏實踐、無法實現(xiàn)可視化教學等問題,有助于學生理解CAD/CAM基礎理論知識,激發(fā)學習興趣。此外,學生在實踐中,還可以結合課程內容,進一步學習軟件的設計與開發(fā)知識,領會信息技術的重要性,提高學生的實踐能力和創(chuàng)新能力。