吉根云
摘要:現(xiàn)在高校機(jī)械教師多使用3D虛擬模型庫(kù),利用可存儲(chǔ)性和網(wǎng)絡(luò)化,教師的輔導(dǎo)難度和工作量都減輕了,但是前提是一定要求安裝eDrawing,否則無法打開應(yīng)用三維模型文件。并且安裝過程繁瑣龐大漫長(zhǎng),SolidWorks2011要約3GB空間。
該文正是因此首先用VC++對(duì)SolidWorks eDrawings 2011二次開發(fā)了“3D模型庫(kù)”課件,并且更深一步完成機(jī)械制圖模型庫(kù)的虛擬化構(gòu)建。最后成功不用安裝任何eDrawings 2011環(huán)境,任何機(jī)上拷貝單個(gè)文件即可運(yùn)行,真是機(jī)械教師一大福音!
關(guān)鍵詞:3D模型庫(kù);SolidWorks;二次開發(fā);VC++ ;虛擬化技術(shù)
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)25-0142-03
傳統(tǒng)機(jī)械制圖模型為木制、鋁合金和塑料模型,在教學(xué)過程中正逐漸下降,利用3D技術(shù)建立虛擬教學(xué)模型是一種新的教學(xué)手段。利用虛擬模型輔助教學(xué),增加學(xué)生感性認(rèn)識(shí),達(dá)到化難為易的效果,對(duì)培養(yǎng)學(xué)生空間形象思維能力起到很好的輔助作用。
1 3D模型庫(kù)的特點(diǎn)
教學(xué)內(nèi)容不斷改進(jìn),題庫(kù)和例題不斷豐富,教師用軟件創(chuàng)建的機(jī)械三維和二維模型庫(kù)文件在移動(dòng)硬盤、手機(jī)存儲(chǔ)卡、網(wǎng)絡(luò)硬盤等介質(zhì)上,也可以做成學(xué)習(xí)網(wǎng)站,方便師生隨時(shí)調(diào)用,沒有了傳統(tǒng)實(shí)物模型重量和體積問題困擾。當(dāng)教學(xué)中把三維模型投影于屏幕上時(shí),整個(gè)教學(xué)班級(jí)都可以清晰地看到,提高教學(xué)效果。
2 3D模型庫(kù)的制作
SolidWorks還提供了功能強(qiáng)大的API接口程序模塊,使得用戶可以根據(jù)自身的條件和需求編寫加掛與該軟件環(huán)境下的應(yīng)用程序。本次設(shè)計(jì)是SolidWorks的API toolbox 二次開發(fā)。利用SolidWorks強(qiáng)大的應(yīng)用程序接口,以Visual C++6.0作為開發(fā)工具。在SolidWorks軟件下加掛菜單,添加用戶的應(yīng)用軟件。
1)在VC環(huán)境下,利用事件驅(qū)動(dòng)的編程機(jī)制、新穎易用的可視化設(shè)計(jì)工具,使用Windows內(nèi)部的廣泛應(yīng)用程序接口(API)函數(shù),動(dòng)態(tài)鏈接庫(kù)(DLL)、對(duì)象的鏈接與嵌入(OLE)、開放式數(shù)據(jù)連接(ODBC)等技術(shù),可以高效、快速地開發(fā)Windows環(huán)境下功能強(qiáng)大、圖形界面豐富的應(yīng)用軟件系統(tǒng)。
2)設(shè)計(jì)流程及結(jié)構(gòu)
設(shè)計(jì)流程與數(shù)據(jù)庫(kù)的連接部分程序流程如下:(限于篇幅代碼略)
3)設(shè)計(jì)結(jié)構(gòu)
本設(shè)計(jì)的結(jié)構(gòu)主要由以下部分組成:讀取數(shù)據(jù)庫(kù),零件的選擇,零件的預(yù)覽,零件的打開。讀取數(shù)據(jù)庫(kù)部分是運(yùn)用VC的MFC中的DAO進(jìn)行編程的。利用其指針,讀取數(shù)據(jù)庫(kù)里面的數(shù)據(jù),運(yùn)用SQL語句進(jìn)行查詢等操作。
零件的預(yù)覽是先讀取數(shù)據(jù)庫(kù)里的有關(guān)零件的位置。然后將零件在預(yù)覽框中顯示。以利于選擇的直觀性,且不易出錯(cuò)。零件的打開是為了實(shí)現(xiàn)對(duì)所選零件的一些修改,零件的尺寸都是相關(guān)聯(lián)的,修改簡(jiǎn)便。
4) 3D模型庫(kù)課件的特點(diǎn)
本課件應(yīng)用SolidWorks2011創(chuàng)建機(jī)械零部件虛擬模型庫(kù) ,生成文件只有一個(gè),可以上傳到網(wǎng)上,在使用中可以取代實(shí)物模型,本課件沒有存盤功能,從而保證了虛擬模型庫(kù)不被任意提取與復(fù)制,保護(hù)了知識(shí)產(chǎn)權(quán)!
3 3D模型庫(kù)的虛擬化
機(jī)械類3D課程有個(gè)“瓶頸”,一直以來沒有安裝eDrawing軟件的計(jì)算機(jī),無法打開體驗(yàn)應(yīng)用三維模型文件。并且安裝過程繁瑣龐大,SolidWorks2011要約3GB空間,單裝一個(gè)瀏覽器eDrawings V2011多要先eDrawings原版的,再安裝SDK包,最后安裝破解文件EModelAddIn.dll覆蓋,N步費(fèi)時(shí)費(fèi)力。合計(jì)2550個(gè)文件,85個(gè)文件夾,完全安裝環(huán)境運(yùn)行打開時(shí)間至少35分鐘)
1)為此,我們針對(duì)安裝問題開發(fā)了“基于虛擬化技術(shù)的虛擬模型素材庫(kù)課件”eDrawings V2011版本單文件插件軟件包150MB,只要點(diǎn)一下運(yùn)行包,在XP/WIN7下多能快速省時(shí)省力,即刻就能運(yùn)行虛擬3D模具庫(kù)*.SLDPRT文件。模型素材庫(kù)文件*.EPRT文件為SolidWorks eDrawings 2011版,主文件就一個(gè)。能將復(fù)雜形體的內(nèi)腔隨意剖切開來展示,對(duì)于裝配體中零件之間的連接、裝配關(guān)系也可充分地展示出來,并能進(jìn)行裝拆動(dòng)畫演示。
2)虛擬化過程
程序虛擬化軟件很多,如Cameyo,Citrix,Virtuozzo/OpenVZ等,本文應(yīng)用VMware的thinapp,可以將復(fù)雜的應(yīng)用程序安裝過程和設(shè)置通過一次虛擬化就搞定了,然后虛擬化軟件打包好后分發(fā)到電腦或移動(dòng)存儲(chǔ)設(shè)備(U盤、移動(dòng)硬盤、SD卡等),虛擬化應(yīng)用軟件后不需要安裝和軟件設(shè)置,單擊就可以使用,所以說是比綠色軟件更綠色。
消除安裝沖突
可將整個(gè)應(yīng)用程序及其設(shè)置打包到一個(gè)可部署到許多 Windows 操作環(huán)境的可執(zhí)行文件中。這些虛擬應(yīng)用程序用沙箱隔離模式,程序相互隔離,并與操作系統(tǒng)隔離。打包的應(yīng)用程序可以彼此識(shí)別但都獨(dú)立執(zhí)行,而且對(duì)底層操作系統(tǒng)沒有任何修改,從而消除應(yīng)用程序之間以及應(yīng)用程序與操作系統(tǒng)之間的沖突。
一次打包,隨處部署
在用戶模式下部署虛擬化應(yīng)用程序,無需管理權(quán)限。無需安裝任何驅(qū)動(dòng)程序,無需更改任何注冊(cè)表信息,因?yàn)檎麄€(gè)應(yīng)用程序及其虛擬操作系統(tǒng)都以單個(gè)EXE文件的形式提供。
具體操作如下:(限于篇幅圖略)
請(qǐng)到官方網(wǎng)站下載thinapp https://www.vmware.com
準(zhǔn)備運(yùn)行環(huán)境:在一個(gè)系統(tǒng)只安裝winxp就可,如果你想使用現(xiàn)有的window系統(tǒng)也可以,你需要安裝vmware workstation7以上版本并安裝windowxp虛擬機(jī)。
安裝thinapp軟件后
(1) 單擊開始雙擊Thinapp setup capture,擊Next開始預(yù)掃描注冊(cè)表文件。
(2)安裝捕獲,描完成如圖3,提示開始安裝應(yīng)用軟件。你可以把此窗口縮小到任務(wù)欄。安裝SolidWorks eDrawings 2011版與開發(fā)的模型庫(kù)安裝程序并設(shè)置完成后出現(xiàn),提示是否要安裝捕獲,按OK再單擊postscan。
(4)建立項(xiàng)目,這里默認(rèn)被選擇單擊Next。
(5) 出現(xiàn)軟件包授權(quán)選項(xiàng),按默認(rèn)即可單擊Next。
(6)文件系統(tǒng)隔離模式,選Full write access 單擊Next。
(7)沙箱位置,選默認(rèn)User profile保存在用戶配置文件下單擊Next。
(8)選不發(fā)送。
(9)項(xiàng)目設(shè)置,按默認(rèn)即可單擊Next。
(10)出現(xiàn)打包設(shè)置,請(qǐng)選中enerate MSI Package單擊save。
(11) 程序打包,單擊Build。
(12)打包完成,單擊Finish。
(13)在輸出文件目錄Bin中可以看到虛擬化后的應(yīng)用程序如圖。
虛擬包中程序圖
虛擬化技術(shù)合成了eDrawings 2011的287個(gè)文件,39個(gè)文件夾125MB大?。ㄟ€不算注冊(cè)表文件),真正地實(shí)現(xiàn)了不用安裝eDrawings 2011,不向硬盤寫任何注冊(cè)表,臨時(shí)文件等.為國(guó)內(nèi)少見的。
4)成功后的虛擬程序單EXE文件圖如下
拷貝出來就能自動(dòng)運(yùn)行,沒有傳統(tǒng)的安裝過程,普通程序一樣使用,這對(duì)系統(tǒng)管理員部署軟件相當(dāng)給力了。生成文件只有一個(gè),可以上傳到網(wǎng)上,在使用中可以取代實(shí)物模型,本課件沒有存盤功能,從而保證了虛擬模型庫(kù)不被任意提取與復(fù)制,保護(hù)了知識(shí)產(chǎn)權(quán)!
虛擬原理則是利用沙盒Sandbox的虛擬化技術(shù),先把所有的動(dòng)作與所有相關(guān)的文件如exe、dll、ocx、注冊(cè)表項(xiàng)等封裝到一個(gè)單一的EXE文件中,都記錄起來并打包成單個(gè)文件,當(dāng)執(zhí)行這個(gè)軟件時(shí),它會(huì)臨時(shí)產(chǎn)生一個(gè)虛擬環(huán)境來執(zhí)行,類似影子系統(tǒng)一樣,一切涉及的操作都是在這個(gè)虛擬環(huán)境中完成,并不會(huì)去寫原系統(tǒng)注冊(cè)表,不會(huì)對(duì)原系統(tǒng)產(chǎn)生臨時(shí)文件等。
小結(jié):本課件運(yùn)行穩(wěn)定可行,基于虛擬技術(shù)機(jī)技術(shù)開發(fā),與系統(tǒng)關(guān)系不大,不僅可以同時(shí)運(yùn)行在WINXP與WIN7下,并且實(shí)現(xiàn)了V2007/2011等幾個(gè)版本同時(shí)運(yùn)行在一臺(tái)機(jī)上不出錯(cuò),在教學(xué)上本課件大大簡(jiǎn)化了教師教學(xué)和學(xué)生自學(xué)過程中安裝之繁瑣,能很好地做到對(duì)知識(shí)的擴(kuò)展,增加學(xué)生對(duì)知識(shí)的攝取量,在趣味性上還有待加強(qiáng)。
最后成功參加2014教育部組織的全國(guó)多媒體課件大賽得全國(guó)二等獎(jiǎng),得到了評(píng)委專家的一致好評(píng)?。ㄎㄒ蝗秉c(diǎn)是個(gè)別殺毒軟件誤報(bào)認(rèn)為病毒,請(qǐng)加一次信任放行)
參考文獻(xiàn):
[1] 熊歆斌.VisualC++程序設(shè)計(jì)培訓(xùn)教程[M].北京:清華大學(xué)出版社, 2002.
[2] 潘月秋. 虛擬現(xiàn)實(shí)技術(shù)在機(jī)械工程中的應(yīng)用[J].林業(yè)機(jī)械與木工設(shè)備, 2004.
[3] 謝永其, 王蘇平. SolidWorks 2005 中文版基礎(chǔ)教程[M].北京:清華大學(xué)出版社, 2005.
[4] 陸利鋒, 江洪, 伍錦輝. SolidWorks工程師高級(jí)教程[M].北京:化學(xué)工業(yè)出版社, 2007.
[5] 汪興倩.VRML虛擬造型實(shí)戰(zhàn)演習(xí)[M]. 北京:中國(guó)水利水電出版社, 2002.