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