1.3資源的管理
為避免用戶化的SolidWorks應(yīng)用程序的資源與平臺本身和其它第三方開發(fā)的SolidWorks應(yīng)用程序的資源發(fā)生沖突,必須對應(yīng)用程序的資源進行管理。解決資源沖突的方法是調(diào)用AfxGet Resource Handle和AfxSet Resource Handle這兩個函數(shù)。在使用新的資源前調(diào)用AfxGet Resource Handle函數(shù)保存當前的資源,然后調(diào)用AfxSet Resource Handle函數(shù)把當前資源設(shè)置成新的資源,使用完后再調(diào)用AfxSet Resource Handle函數(shù)恢復(fù)先前已保存的資源。以對話框的管理為例來說明上述過程。
HINSTANCE save Resource=∶∶AfxGetResourceHandle();//保存當前資源句柄
∶∶AfxSetResourceHandle(∶∶AfxGetInstanceHandle());//把當前資源設(shè)置成新的資源句柄定制菜單。在CexampleApp∶∶docCreateMenu函數(shù)中加入如下代碼:
hres=pFrame->AddMenu(auT"(PartExample"),swMenuPosition,&bres);
hres=pFrame->AddMenuItem (auT"(PartExample"),auT"(Bearing"),
swLastPosition,auT(SwPartlib @ MenuItemCBBearing,
Example Property Manager Pageitem"),&bres);
然后用MFC向?qū)lassWizard創(chuàng)建資源,加入所需的控件;最后再恢復(fù)先前保存的資源句柄::AfxSetResourceHandle(saveResource)。
1.4導(dǎo)出函數(shù)的管理
DLL包含一個導(dǎo)出函數(shù)表,可以通過函數(shù)的符號化的名字和稱為序號的整數(shù)識別這些函數(shù)。函數(shù)表也包含了函數(shù)在DLL內(nèi)的地址。DLL函數(shù)導(dǎo)出有兩種方法:用關(guān)鍵字聲明和在模塊定義文件(3.def)中聲明。
(1)聲明顯式包含dllexport關(guān)鍵字
(2)模塊定義文件方法
LIBRARY"SwPartlib"; MenuItemCBBearing@4
EXPORTS; MenuItemCBFlange@5
…… ……
2開發(fā)系統(tǒng)的結(jié)構(gòu)框架及功能
SolidWorks是典型的三維特征造型系統(tǒng),完全基于Windows的操作,具有強大的實體造型功能,并且可以進行較為復(fù)雜的曲面生成,除此之外是經(jīng)濟性好,可以作為人手一套的機械工程師設(shè)計軟件,其中重要的一條是它提供了較為方便的二次開發(fā)接口,本系統(tǒng)選用SolidWorks為圖形平臺,采用VC++為主控程序及編程語言,采用Access2000進行數(shù)據(jù)庫管理及數(shù)據(jù)操作,利用MFC對SolidWorks進行二次開發(fā),從而實現(xiàn)了由參數(shù)驅(qū)動的友好的SolidWorks 的專業(yè)化開發(fā), 本系統(tǒng)是一個開放的系統(tǒng), 用戶可以根據(jù)自己的需求, 在系統(tǒng)支持庫中隨意加入自己的模塊。
系統(tǒng)由以下幾部分組成:數(shù)據(jù)輸入部分、數(shù)據(jù)模型建立部分及圖形輸入部分,具體的系統(tǒng)功能由以下幾個部分,如圖2所示:
輸入功能:主要是輸入零件幾何信息(幾何形狀、尺寸等)、加工信息(精度、材料、熱處理等)。軟件功能:通過人機對話方式選取零件型號,將工藝信息、設(shè)計資料信息附加到具體的參數(shù)所對應(yīng)的零件上。輸出功能:生成具體的參數(shù)驅(qū)動的零件三維模型,將模型對應(yīng)的加工和其他信息存儲到數(shù)據(jù)庫中,將模型轉(zhuǎn)換數(shù)據(jù)標準STEP對應(yīng)的數(shù)據(jù)字典文件,存入數(shù)據(jù)庫中。
3 系統(tǒng)數(shù)據(jù)庫的實現(xiàn)
3.1 數(shù)據(jù)庫管理系統(tǒng)
為了能夠生成統(tǒng)一類型不同規(guī)格的零件,必須將標準件的數(shù)據(jù)存儲在數(shù)據(jù)庫中,目前可供選擇的數(shù)據(jù)庫系統(tǒng)很多,其中Access簡單易學(xué),操作方便,可以完成諸如查詢、排序、增刪記錄等對數(shù)據(jù)的操作功能,完全滿足開發(fā)零件庫對數(shù)據(jù)管理的要求,因此選用Access作為管理數(shù)據(jù)的工具。
3.2訪問數(shù)據(jù)庫
應(yīng)為當用戶輸入主導(dǎo)參數(shù)后,程序訪問數(shù)據(jù)庫,獲得與主導(dǎo)參數(shù)相匹配的其它參數(shù),所以必然在開發(fā)中涉及到對數(shù)據(jù)庫的操作。常用的數(shù)據(jù)庫接口包括ODBC、DAO、ADO等,其中DAO是一種廣泛使用的數(shù)據(jù)庫接口技術(shù),可使用Vc++的標準函數(shù)調(diào)用公用接口訪問數(shù)據(jù)庫的內(nèi)容。相關(guān)的代碼如下:
3.3 MFC開發(fā)SolidWorks的具體應(yīng)用
在前面所述工作的基礎(chǔ)上加入了所需的導(dǎo)出函數(shù)并確定了連接方式就可以編寫系統(tǒng)的具體實現(xiàn)代碼了,為了使程序規(guī)范化,所有零件系統(tǒng)生成函數(shù)都采用了函數(shù)調(diào)用的方法,即將所有的函數(shù)聲明放在一個頭文件*.h中,函數(shù)的實現(xiàn)放在*.cpp文件,這樣主程序就可以通過參數(shù)傳遞實現(xiàn)對函數(shù)的調(diào)用了.
4 結(jié)語
上述基于MFC的SolidWorks二次開發(fā)的關(guān)鍵技術(shù)是對SolidWorks二次開發(fā)技術(shù)的初步探索,我們開發(fā)的基于SolidWorks的零件信息庫系統(tǒng)已經(jīng)通過省科技廳的項目鑒定,這對CAD/CAM軟件的應(yīng)用、推廣,為推動甘肅制造業(yè)信息化,都將起到重要作用。
相關(guān)文章
- 2021-09-08BIM技術(shù)叢書Revit軟件應(yīng)用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業(yè)技術(shù)人員計算機應(yīng)用能力考試用書 AutoCAD2004
- 2021-09-08EXCEL在工作中的應(yīng)用 制表、數(shù)據(jù)處理及宏應(yīng)用PDF下載
- 2021-08-30從零開始AutoCAD 2014中文版機械制圖基礎(chǔ)培訓(xùn)教程 [李
- 2021-08-30從零開始AutoCAD 2014中文版建筑制圖基礎(chǔ)培訓(xùn)教程 [朱
- 2021-08-30電氣CAD實例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風(fēng)暴2:Maya影像實拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術(shù)設(shè)計案例教程中文版AutoCAD 建筑設(shè)計案例
- 2021-08-29環(huán)境藝術(shù)制圖AutoCAD [徐幼光 編著] 2013年P(guān)DF下載
- 2021-08-29機械A(chǔ)utoCAD 項目教程 第3版 [繆希偉 主編] 2012年P(guān)DF