我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網站首頁 > Solidworks

基于SolidWorks 采用VisualC++開發(fā)模具標準件庫

時間:2010-06-02 08:00:00 來源:

    (2) 若使用程序驅動法 , 如果開發(fā)者本身對于 SolidWorks API函數(shù)不是很了解 ,可以用宏錄制標準件生成的過程并保存為*.swp 文件 ,再用菜單里工具/ 宏操作/ 編輯打開 VB 界面 ,只需把這里的代碼改為 Visual C++的代碼就可以了。而且 VB 與Visual C++ 的函數(shù)名基本相同 ,只是參數(shù)有所不同。
   
    (3) 調試的時候可以設置斷點跟蹤 ,也可以在有可能出錯的地方放置如 AfxMessageBox(- T("提取參數(shù) ") ,MB-OK,0) 的語句 ,以便在程序調試運行時確定問題所在。
   
    4 系統(tǒng)組成
   
    4. 1 界面的設計

   
    系統(tǒng)界面的設計應遵循用戶界面友好的原則。一個用戶界面的友好屬性應包括:使用方便、界面熟悉、有靈活的提示幫助信息、良好的交互方式、良好的出錯處理等。按照模具國家標準 ,系統(tǒng)中設計的系統(tǒng)菜單如圖 1 所示。

    
    4. 2 系統(tǒng)的使用
   
    單擊上述菜單將會出現(xiàn)如圖 2 所示的標準件導入對話框。對話框界面由幾個屬性頁組成 ,選擇尺寸規(guī)格后按查詢按鈕 ,系統(tǒng)會根據(jù)數(shù)據(jù)輸入控件里的數(shù)據(jù)(如 4.00 ×20 的圓柱頭卸料螺釘) 去查詢標準件的數(shù)據(jù)庫文件 ,查詢所得的數(shù)據(jù)將出現(xiàn)在標準件屬性表里 ,點擊確定 ,零件將被導入。如果用戶需要調整尺寸 r 和 r1 可以點擊相應的按鈕進行微調。

    
    4. 3 系統(tǒng)數(shù)據(jù)庫的使用
   
    如果需要瀏覽當前零件所有的數(shù)據(jù) ,只需要點擊圖 2 中的瀏覽按鈕。例如用戶當前界面是"帶柄圓形上模座",點擊瀏覽 ,則出現(xiàn)如圖 3 所示的數(shù)據(jù)庫管理對話框 ,在此可以瀏覽帶柄圓形上模座的所有數(shù)據(jù) ,并為有權限的用戶提供可以添加、刪除或修改數(shù)據(jù)的功能選項。

    
    5 一個實現(xiàn)程序驅動法的例子
   
    (1) 用 SolidWorks Add - In AppWizard 向導創(chuàng)建 Example1 例子
    (2) 添加對話框資源 ,屬性設置如下 :IDD-DIALO G1 CAPTION 為"立方體例子",添加控件調整如圖 4。


    (3) 添加對話框類 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"頭文件 ,并完成程序驅動法繪圖代碼如下:
   
    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"頭文件 ,并在菜單響應函數(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 打開文件 ,選擇加載 Example1. dll 文件。在左下角 X 和右下角 Y中輸入位置坐標 ,邊長 L 中輸入 20 ,點擊確定 ,運行情況如圖 5 所示。