王 宣
(阜陽職業(yè)技術(shù)學(xué)院工程科技學(xué)院, 安徽 阜陽 236031)
基于SolidWorks的機(jī)械基礎(chǔ)課程教學(xué)資源庫開發(fā)
王 宣
(阜陽職業(yè)技術(shù)學(xué)院工程科技學(xué)院, 安徽 阜陽 236031)
針對高職院校機(jī)械基礎(chǔ)課程內(nèi)容抽象及教學(xué)資源庫內(nèi)容系統(tǒng)化、使用便捷性不足的問題,以SolidWorks軟件為開發(fā)平臺,運(yùn)用VC++6.0語言進(jìn)行機(jī)械基礎(chǔ)教學(xué)資源庫二次開發(fā)。以鉸鏈四桿機(jī)構(gòu)為例詳細(xì)介紹開發(fā)思路,給出主要程序代碼, 創(chuàng)建了完備、易用的插件系統(tǒng)。
機(jī)械基礎(chǔ); 教學(xué)資源庫; 二次開發(fā); 人機(jī)交互界面; SolidWorks
機(jī)械基礎(chǔ)(機(jī)械設(shè)計基礎(chǔ))課程是高職院校機(jī)械類專業(yè)的重要基礎(chǔ)課程,主要包括機(jī)械原理與機(jī)械零件兩部分內(nèi)容。課程教學(xué)的目標(biāo)是,使學(xué)生了解機(jī)械原理,掌握常用機(jī)構(gòu)、典型零件的結(jié)構(gòu)及運(yùn)動特性,培養(yǎng)工程意識。對于無工程實踐經(jīng)驗而又知識基礎(chǔ)薄、理解能力弱、空間想象力差的學(xué)生來說,這是一門抽象難學(xué)的課程[1]。目前普遍采用模型、網(wǎng)絡(luò)視頻資源等輔助教學(xué)手段增強(qiáng)教學(xué)的直觀性,在一定程度上提高了教學(xué)效果,但缺乏教學(xué)資源內(nèi)容系統(tǒng)化和使用便捷化的管理,不便于學(xué)生進(jìn)行自主學(xué)習(xí)和交互學(xué)習(xí)。
SolidWorks是美國SolidWorks公司開發(fā)的一款基于 Windows 平臺的三維機(jī)械CAD軟件,具有功能強(qiáng)大、易學(xué)易用和技術(shù)創(chuàng)新性強(qiáng)的特點,可實現(xiàn)復(fù)雜零部件三維建模、虛擬裝配、運(yùn)動仿真等功能,是目前三維CAD主流軟件之一。該軟件還提供了兼容性強(qiáng)的二次開發(fā)接口,有利于二次開發(fā)技術(shù)的實現(xiàn),便于用戶在已有軟件功能的基礎(chǔ)上開發(fā)新的功能模塊,以插件形式加入SolidWorks 的菜單欄里,形成統(tǒng)一的界面[2]。
經(jīng)過多年的SolidWorks課程教學(xué)實踐,學(xué)院已培養(yǎng)了一支集教學(xué)與科研為一體的教研團(tuán)隊。團(tuán)隊具有一定的SolidWorks二次開發(fā)經(jīng)驗,而機(jī)械專業(yè)學(xué)生通過SolidWorks課程的學(xué)習(xí),也能夠在SolidWorks軟件環(huán)境中熟練地使用其二次開發(fā)系統(tǒng),完成機(jī)械基礎(chǔ)課程的自主、交互學(xué)習(xí)。基于SolidWorks二次開發(fā)機(jī)械基礎(chǔ)教學(xué)資源庫的研究實踐是計算機(jī)技術(shù)推動課程建設(shè)的一項有益探索[1],具有較強(qiáng)的現(xiàn)實意義。
1.1 教學(xué)資源庫的內(nèi)容
機(jī)械基礎(chǔ)課程教學(xué)資源庫包括機(jī)構(gòu)、零件模型庫、動畫視頻素材庫、電子教材及教案、PPT課件、習(xí)題試題庫、工程案例教學(xué)素材庫等。課題項目組主要采用2種途徑充實資源庫內(nèi)容:一種是優(yōu)化選用自制的教學(xué)資源,如利用SolidWorks建立機(jī)構(gòu)、零件模型庫;另一種是查閱精品課程、數(shù)字化圖書館等教學(xué)網(wǎng)站收集選取優(yōu)質(zhì)數(shù)字化資源,如優(yōu)質(zhì)動畫視頻素材的選用。通過兩種途徑結(jié)合建立了體系完備、內(nèi)容豐富、形式多樣的課程資源[3]。
1.2 教學(xué)資源庫的管理
以課程章節(jié)的知識點為單元制作、收集、整理相關(guān)教學(xué)資源[4]。在SolidWorks軟件環(huán)境中,利用二次開發(fā)的交互界面對資源庫內(nèi)容進(jìn)行系統(tǒng)化管理和使用操作,滿足資源使用的便捷性和交互性要求。
1.3 教學(xué)資源庫開發(fā)框架
如圖1所示,以SolidWorks為開發(fā)平臺,使用VC++語言編程,開發(fā)教學(xué)資源庫人機(jī)交互界面,通過界面操作,提取資源庫資源,包括訪問數(shù)據(jù)庫調(diào)用機(jī)構(gòu)或零件模型,播放動畫視頻,瀏覽教案、課件,完成習(xí)題測試。
以機(jī)械基礎(chǔ)課程的章節(jié)知識點 —— 鉸鏈四桿機(jī)構(gòu)為例,介紹開發(fā)過程。
圖1 機(jī)械基礎(chǔ)課程資源庫開發(fā)框架圖
2.1 建立資源庫文件夾
將鉸鏈四桿機(jī)構(gòu)的模型、動畫視頻、教案、課件等教學(xué)資源,分別保存在“機(jī)械基礎(chǔ)課程教學(xué)資源庫”總文件夾下的“模型”、“動畫視頻”、“教案”、“課件”等子文件夾里,以便快速調(diào)用。
2.2 創(chuàng)建數(shù)據(jù)庫
在Access中,創(chuàng)建機(jī)械基礎(chǔ)課程教學(xué)資源數(shù)據(jù)庫,添加鉸鏈四桿機(jī)構(gòu)數(shù)據(jù)表,如圖2所示。
圖2 鉸鏈四桿機(jī)構(gòu)數(shù)據(jù)表
2.3 二次開發(fā)編程
在VC++6.0環(huán)境中,使用ATL COM AppWizard對象向?qū)ЫLL工程,在工程中添加新的ATL對象建立程序框架,通過添加代碼實現(xiàn)功能開發(fā)[5]。
2.3.1 創(chuàng)建人機(jī)交互界面
在工程資源的String Table(字串表)中定制系統(tǒng)菜單資源,用對話框資源編輯器分別創(chuàng)建資源庫總界面和資源庫知識單元界面的對話框模板資源,利用類向?qū)lass Wizard添加相應(yīng)對話框類,并向?qū)υ捒蝾愔刑砑酉⑻幚砗瘮?shù)、成員變量等,最后聲明對話框類的對象以便激活打開對話框,在對話框類的執(zhí)行文件和頭文件中,分別添加如下主要代碼[5]:
this->m_iSldWorks_dlg = Sw; //連接對話框與SldWorks對象
CComPtr
創(chuàng)建完成的資源庫系統(tǒng)菜單及總界面如圖3所示,鉸鏈四桿機(jī)構(gòu)知識單元界面如圖4所示。
圖3 資源庫系統(tǒng)菜單及總界面圖
圖4 鉸鏈四桿機(jī)構(gòu)界面圖
2.3.2 訪問數(shù)據(jù)庫調(diào)用模型
(1) 使用UDL文件連接數(shù)據(jù)庫獲取數(shù)據(jù)表。在鉸鏈四桿機(jī)構(gòu)對話框類的頭文件和執(zhí)行文件中添加的主要代碼是:
_ConnectionPtr m_pConnection; ∥添加數(shù)據(jù)庫連接對象變量
_RecordsetPtr m_pRecordset; ∥添加數(shù)據(jù)庫記錄集變量
m_pConnection->ConnectionString=“File Name=E: 機(jī)械基礎(chǔ)教學(xué)資源庫數(shù)據(jù)庫 TSH.UDL”;∥連接機(jī)械基礎(chǔ)教學(xué)資源庫的數(shù)據(jù)庫
m_pRecordset->Open(“SELECT * FROM JLSG”,∥獲取鉸鏈四桿機(jī)構(gòu)數(shù)據(jù)表
(2) 參數(shù)尺寸驅(qū)動模型改變,生成不同類型的鉸鏈四桿機(jī)構(gòu)。如圖4所示,將鉸鏈四桿機(jī)構(gòu)界面列表框內(nèi)的一行數(shù)據(jù),賦值給編輯框,獲得尺寸參數(shù)。主要代碼是:
void second::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) 添加點擊列表框響應(yīng)事件函數(shù)
ListView_SetExtendedListViewStyleEx(m_List1.m_hWnd,LVS_EX_FULLROWSELECT,0xFFFFFFFF);∥選擇某行
if(nItem>=0 && nItem CString str =m_List1.GetItemText(nItem,subItem);∥得到某行某列的值 點擊鉸鏈四桿機(jī)構(gòu)界面上的“模型”按鈕,參數(shù)尺寸驅(qū)動,生成不同類型的鉸鏈四桿機(jī)構(gòu)。主要代碼是: CComBSTR fileName(_T(“E:機(jī)械基礎(chǔ)教學(xué)資源庫模型鉸鏈四桿機(jī)構(gòu)模型鉸鏈四桿機(jī)構(gòu).SLDASM”));定義文件名 …………………………………………… status=m_iSldWorks_dlg->GetOpenDocument (fileName, &m_iModelDoc);∥得到打開的文檔,并且輸出的ModelDoc指向該文檔 …………………………………………… hres = m_iModelDoc->QueryInterface(IID_IAssemblyDoc, (LPVOID *)&m_iAssemblyDoc);∥得到指向當(dāng)前零件文檔的接口指針 …………………………………………… hres = m_iModelDoc->IParameter(L“L1@草圖1@連架桿1.Part”,&retvalDimen);獲得零件1的尺寸 hres = retvalDimen->ISetSystemValue3(m_L11000, swSetValue_InThisConfiguration, 1, 0, &retv); retvalDimen.Release(); hres = m_iModelDoc->IParameter(L“L4@草圖1@連桿.Part”,&retvalDimen); 獲得零件2的尺寸 …………………………………………… m_iModelDoc->EditRebuild3(&retval);∥重新建模 2.3.3 播放視頻等教學(xué)資源 點擊鉸鏈四桿機(jī)構(gòu)界面的“動畫視頻”按鈕,打開不同類型鉸鏈四桿機(jī)構(gòu)的動畫視頻資源,分別點擊“教案”、“課件”、“習(xí)題、試題”按鈕,打開鉸鏈四桿機(jī)構(gòu)這一知識單元的相關(guān)資源。 主要代碼如下: char buf[1024*13]=“E:機(jī)械基礎(chǔ)教學(xué)資源庫動畫、視頻曲柄搖桿機(jī)構(gòu).avi”;∥打開視頻 char buf[1024*13]=“E:機(jī)械基礎(chǔ)教學(xué)資源庫教案鉸鏈四桿機(jī)構(gòu)教案. swf ”;∥打開教案 char buf[1024*13]=“E:機(jī)械基礎(chǔ)教學(xué)資源庫課件鉸鏈四桿機(jī)構(gòu).ppt”;∥打開課件 char buf[1024*13]=“E:機(jī)械基礎(chǔ)教學(xué)資源庫習(xí)題、試題鉸鏈四桿機(jī)構(gòu)習(xí)題、試題.doc”;∥打開習(xí)題、試題文檔 2.4 應(yīng)用實例 編譯程序生成.dll文件,在SolidWorks中加載插件。打開軟件菜單欄里“教學(xué)資源庫”下拉菜單,點擊“機(jī)械基礎(chǔ)資源庫”打開資源庫總界面,如圖3所示。雙擊總界面樹形圖中“鉸鏈四桿機(jī)構(gòu)”選項,打開“鉸鏈四桿機(jī)構(gòu)”界面,如圖4所示。點擊列表框中 “曲柄搖桿機(jī)構(gòu)”的一行數(shù)據(jù),賦值于編輯框,也可手動輸入尺寸參數(shù),然后單擊“模型”按鈕,生成曲柄搖桿機(jī)構(gòu)模型,如圖5所示。點擊“曲柄搖桿機(jī)構(gòu)”下方“動畫視頻”按鈕,打開曲柄搖桿機(jī)構(gòu)視頻,如圖6所示。分別點擊“教案”、“課件”、“習(xí)題、試題”按鈕,可打開相關(guān)教學(xué)資源 。 圖5 曲柄搖桿機(jī)構(gòu)模型圖 圖6 曲柄搖桿機(jī)構(gòu)視頻圖 [1] 劉文偉.信息化條件下基于生源特點的機(jī)械設(shè)計基礎(chǔ)教學(xué)實施方案[J].中國管理信息化,2015,18(12):25. [2] 董玉德,趙韓.CAD二次開發(fā)理論與技術(shù)[M].合肥:合肥工業(yè)大學(xué)出版社,2009:7-11. [3] 張翼飛,許寶,才蘇珊.“機(jī)械制造基礎(chǔ)”課程教學(xué)資源庫的建設(shè)及研究[J].中國電力教育,2012(18):63-64. [4] 范建蓓,單巖,蔡娥,等.CADCAMCAE軟件教學(xué)立體詞典系統(tǒng)的開發(fā)[J].現(xiàn)代教育技術(shù),2010(9):95-96. [5] 王文波,涂海寧,熊君星.SolidWorks2008二次開發(fā)基礎(chǔ)與實例(VC++)[M].北京:清華大學(xué)出版社,2009:142-148. Research on the Development of Teaching Resource Database for the Mechanical Basic Courses Based on SolidWorks WANGXuan (School of Engineering and Technology, Fuyang Vocational and Technical College, Fuyang Anhui 236031, China) Mechanical basic courses in higher vocational colleges are too abstract, and the content of teaching resource database is not systematic and convenient. Therefore, this paper proposes the research practice of secondary development for the teaching resource database based on VC++ language, taking SolidWorks as a development platform. Meanwhile, the paper describes the developing process in details, taking the case of hinge four-bar linkage. The primary code is also given, and a complete and easy-to-use plug-in system is created. mechanical foundation; teaching resource database; secondary development; man-machine interface; SolidWorks 2017-04-29 安徽省自然科學(xué)項目“基于 SolidWorks 的機(jī)械設(shè)計基礎(chǔ)課程教學(xué)資源二次開發(fā)的研究”(KJ2015B001) 王宣 (1971 — ),女,回族,山西山陰人,碩士,副教授,高級工程師,研究方向為機(jī)械設(shè)計、計算機(jī)技術(shù)。 TP391 A 1673-1980(2017)04-0100-04