(2) 若使用程序驅(qū)動(dòng)法 , 如果開(kāi)發(fā)者本身對(duì)于 SolidWorks API函數(shù)不是很了解 ,可以用宏錄制標(biāo)準(zhǔn)件生成的過(guò)程并保存為*.swp 文件 ,再用菜單里工具/ 宏操作/ 編輯打開(kāi) VB 界面 ,只需把這里的代碼改為 Visual C++的代碼就可以了。而且 VB 與Visual C++ 的函數(shù)名基本相同 ,只是參數(shù)有所不同。
(3) 調(diào)試的時(shí)候可以設(shè)置斷點(diǎn)跟蹤 ,也可以在有可能出錯(cuò)的地方放置如 AfxMessageBox(- T("提取參數(shù) ") ,MB-OK,0) 的語(yǔ)句 ,以便在程序調(diào)試運(yùn)行時(shí)確定問(wèn)題所在。
4 系統(tǒng)組成
4. 1 界面的設(shè)計(jì)
系統(tǒng)界面的設(shè)計(jì)應(yīng)遵循用戶界面友好的原則。一個(gè)用戶界面的友好屬性應(yīng)包括:使用方便、界面熟悉、有靈活的提示幫助信息、良好的交互方式、良好的出錯(cuò)處理等。按照模具國(guó)家標(biāo)準(zhǔn) ,系統(tǒng)中設(shè)計(jì)的系統(tǒng)菜單如圖 1 所示。
4. 2 系統(tǒng)的使用
單擊上述菜單將會(huì)出現(xiàn)如圖 2 所示的標(biāo)準(zhǔn)件導(dǎo)入對(duì)話框。對(duì)話框界面由幾個(gè)屬性頁(yè)組成 ,選擇尺寸規(guī)格后按查詢按鈕 ,系統(tǒng)會(huì)根據(jù)數(shù)據(jù)輸入控件里的數(shù)據(jù)(如 4.00 ×20 的圓柱頭卸料螺釘) 去查詢標(biāo)準(zhǔn)件的數(shù)據(jù)庫(kù)文件 ,查詢所得的數(shù)據(jù)將出現(xiàn)在標(biāo)準(zhǔn)件屬性表里 ,點(diǎn)擊確定 ,零件將被導(dǎo)入。如果用戶需要調(diào)整尺寸 r 和 r1 可以點(diǎn)擊相應(yīng)的按鈕進(jìn)行微調(diào)。
4. 3 系統(tǒng)數(shù)據(jù)庫(kù)的使用
如果需要瀏覽當(dāng)前零件所有的數(shù)據(jù) ,只需要點(diǎn)擊圖 2 中的瀏覽按鈕。例如用戶當(dāng)前界面是"帶柄圓形上模座",點(diǎn)擊瀏覽 ,則出現(xiàn)如圖 3 所示的數(shù)據(jù)庫(kù)管理對(duì)話框 ,在此可以瀏覽帶柄圓形上模座的所有數(shù)據(jù) ,并為有權(quán)限的用戶提供可以添加、刪除或修改數(shù)據(jù)的功能選項(xiàng)。
5 一個(gè)實(shí)現(xiàn)程序驅(qū)動(dòng)法的例子
(1) 用 SolidWorks Add - In AppWizard 向?qū)?chuàng)建 Example1 例子
(2) 添加對(duì)話框資源 ,屬性設(shè)置如下 :IDD-DIALO G1 CAPTION 為"立方體例子",添加控件調(diào)整如圖 4。
(3) 添加對(duì)話框類 CL IFAN GTI 和數(shù)據(jù)成員變量
IDC- EDIT1 double m-x
IDC- EDIT2 double m-y
IDC- EDIT3 double m-l
(4) 在工作區(qū) CLASSV IEW 中 ,添加 CExample1 的公有成員函數(shù)void lifangti (double ca , double cb ,double cl)
(5) 在 EXAMPL EAPP. APP 中添加 # include "Resource. h"頭文件 ,并完成程序驅(qū)動(dòng)法繪圖代碼如下:
void CExample1App : : lifangti (double ca , double cb , double cl)
{ L PMODELDOC pModDoc = NULL ;
LPPARTDOC ret ;
TheApplication - > m-pSldWorks - >INewPart ( &ret) ;
HRESUL T res = TheApplication - >GetSWApp () - > get- IActiveDoc( &pModDoc) ;
if (pModDoc = = NULL)
return FALSE;
LPPARTDOC pPartDoc = NULL ;
res = pModDoc - > QueryInterface (IID-IPartDoc ,(L PVOID 3 ) &pPartDoc) ;
ASSERT(res = = S-OK) ;
VARIANT-BOOL retval ;pModDoc - > SelectByID(auT ("前視") ,auT ("PLANE") ,0 ,0 ,0 , &retval) ;
pModDoc - > ShowNamedView2 (auT ("3 Normal To") ,0) ;
pModDoc - > GridOptions(0 ,0. 001 ,0 ,0 ,10 ,1 ,0 ,0 ,0. 1 ,1) ;
pModDoc - > InsertSketch() ;
pModDoc - > CreateLineVB ( - ca , cb , 0 , - ca+ cl , cb , 0) ;
pModDoc - > CreateLineVB ( - ca + cl , cb , 0 ,- ca + cl , cb - cl , 0) ;
pModDoc - > CreateLineVB ( - ca + cl , cb - cl ,0 , - ca , cb - cl , 0) ;
pModDoc - > CreateLineVB ( - ca , cb - cl , 0 ,- ca , cb , 0) ;
pModDoc - > ClearSelection() ;
pPartDoc - > FeatureExtrusion (1 , 0 , 0 , 0 , 0 ,cl , 0. 01 , 0 , 0 , 0 , 0 , 0. 01745329251994 ,0. 01745329251994 , 0 , 0) ;
pModDoc - > ShowNamedView2 (auT ("3 Iso2metric") ,7) ;
pModDoc - > ViewZoomtofit () ;
pModDoc - > Release() ;
pPartDoc - > Release() ;
return TRU E ;
}
在 Example1. cpp 中添加 # include "LIFAN GTI. h"頭文件 ,并在菜單響應(yīng)函數(shù) MenuItemCB (void) 里添加如下程序段
void MenuItemCB(void)
{ CL IFAN GTI dlg ;int n = dlg. DoModal () ; TheApplication - > lifangti (dlg. m-x ,dlg. m-y ,dlg. m-l) ;
return ;
}
(7) 編譯后用 SolidWorks 打開(kāi)文件 ,選擇加載 Example1. dll 文件。在左下角 X 和右下角 Y中輸入位置坐標(biāo) ,邊長(zhǎng) L 中輸入 20 ,點(diǎn)擊確定 ,運(yùn)行情況如圖 5 所示。
相關(guān)文章
- 2021-09-08BIM技術(shù)叢書(shū)Revit軟件應(yīng)用系列Autodesk Revit族詳解 [
- 2021-09-08全國(guó)專業(yè)技術(shù)人員計(jì)算機(jī)應(yīng)用能力考試用書(shū) AutoCAD2004
- 2021-09-08EXCEL在工作中的應(yīng)用 制表、數(shù)據(jù)處理及宏應(yīng)用PDF下載
- 2021-08-30從零開(kāi)始AutoCAD 2014中文版機(jī)械制圖基礎(chǔ)培訓(xùn)教程 [李
- 2021-08-30從零開(kāi)始AutoCAD 2014中文版建筑制圖基礎(chǔ)培訓(xùn)教程 [朱
- 2021-08-30電氣CAD實(shí)例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風(fēng)暴2:Maya影像實(shí)拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術(shù)設(shè)計(jì)案例教程中文版AutoCAD 建筑設(shè)計(jì)案例
- 2021-08-29環(huán)境藝術(shù)制圖AutoCAD [徐幼光 編著] 2013年P(guān)DF下載
- 2021-08-29機(jī)械A(chǔ)utoCAD 項(xiàng)目教程 第3版 [繆希偉 主編] 2012年P(guān)DF