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

您的位置:網(wǎng)站首頁 > Solidworks

基于SolidWorks 采用VisualC++開發(fā)模具標(biāo)準(zhǔn)件庫

時(shí)間:2010-06-02 08:00:00 來源:
副標(biāo)題#e#

    SolidWorks軟件是完全基于 Windows 的 CAD/CAE/ CAM/ PDM 桌面集成系統(tǒng) ,它的核心技術(shù)是在 Windows 環(huán)境下生成的 ,充分利用和發(fā)揮了Windows的強(qiáng)大威力和OLE技術(shù),具有用戶界面友好,上手快的優(yōu)點(diǎn)。該軟件支持 Visual Basic、Visual C++或其它 OLE 開發(fā)語言,免費(fèi)提供二次開發(fā)工具API,用戶二次開發(fā)的應(yīng)用程序,可直接掛在SolidWorks菜單下,形成統(tǒng)一的界面。然而SolidWorks 與許多商品化的 CAD/ CAM 系統(tǒng)如PRO/E、UG、AUTOCAD 等一樣 ,它們雖然在模具行業(yè)中得到了廣泛應(yīng)用 ,但由于這些 CAD/ CAM 系統(tǒng)都是作為通用機(jī)械設(shè)計(jì)與制造軟件來設(shè)計(jì)的,不是特別針對模具的,因此為了提高模具設(shè)計(jì)的效率,需要對其進(jìn)行二次開發(fā)。
   
    1用VISUAL C++ 開發(fā) SolidWorks 的原理

   
    SolidWorks 通過 OL E 技術(shù)為用戶提供強(qiáng)大的二次開發(fā)接口 API ,其中包括含有數(shù)以百計(jì)的功能函數(shù)。API 接口采用面向?qū)ο蟮姆椒?,所有的函數(shù)都是有關(guān)對象的方法或?qū)傩浴_@些對象涵蓋了所有 SolidWorks的數(shù)據(jù)模型 ,通過這些對象屬性的設(shè)置和方法的調(diào)用 ,用戶可以在自己開發(fā)的 DLL 中實(shí)現(xiàn)與 SolidWorks 相同的功能。
   
    這些 API 函數(shù)可被 Visual C++ 、Visual Basic、Delphi、VBA ( EXCEL 、ACCESS) C、C++ 或 SolidWorks 的宏文件調(diào)用 ,使得開發(fā)出的程序具有直接訪問 SolidWorks的能力。當(dāng)使用 Visual Basic 進(jìn)行開發(fā)時(shí) ,只能采用外掛的工作模式 ,即需要用戶的應(yīng)用程序和 SolidWorks之間進(jìn)行前臺后臺切換 ,所以降低了設(shè)計(jì)效率。而使用 Visual C++ 開發(fā)的應(yīng)用程序可以直接嵌入到 SolidWorks 內(nèi)部 ,加載成功后應(yīng)用程序菜單直接出現(xiàn)在 SolidWorks 的主菜單上 ,如同 SolidWorks的自帶功能一樣進(jìn)行工作 ,極大地提高了設(shè)計(jì)效率。
   
    2用VISUAL C++ 開發(fā) SolidWorks 的關(guān)鍵技術(shù)
   
    2. 1 組件對象模型(COM)
   
    開發(fā) *.DLL 需要了解 COM 技術(shù)。COM 是微軟公司、數(shù)字設(shè)備公司(DEC) 及其他一些公司所支持的一種軟件結(jié)構(gòu)的"工業(yè)標(biāo)準(zhǔn)"。SolidWorks 作為基于 Windows 的原創(chuàng)軟件 ,為便于用戶開發(fā)的程序與 SolidWorks通信 ,提供了采用 COM 技術(shù)開發(fā)應(yīng)用程序的方法。用戶開發(fā)的代碼可以作為獨(dú)立的EXE 文件或 DLL 文件存在 ,它們就是 COM 模塊。采用 COM 技術(shù)在 SolidWorks 平臺上作二次開發(fā)時(shí) ,通過直接訪問 SolidWorks 底層對象可以方便地?cái)U(kuò)充 SolidWorks的功能。
   
    2. 2 動態(tài)鏈接庫(DLL) 的建立
   
    獨(dú)立的 EXE 文件和 DLL 文件都可以作為COM 的組件 ,但是編寫 EXE 程序時(shí) ,必須每次在做原型改變時(shí)都重建并測試。與此不同 ,可以創(chuàng)建較小的 DLL 模塊 ,并單獨(dú)測試 ,客戶程序在運(yùn)行時(shí)很快裝載并連接用戶的 DLL。SolidWorks 提供了DLL 加載的接口 ,能夠?qū)⒂脩舻?DLL 通過加載嵌入到 SolidWorks內(nèi)部。
   
    2. 3 數(shù)據(jù)庫的創(chuàng)建
   
    系統(tǒng)采用 Access 作為管理數(shù)據(jù)庫的工具。使用DAO (Data Access Objects) 技術(shù)對數(shù)據(jù)庫操作。Visual C++ 開發(fā) DAO 數(shù)據(jù)庫應(yīng)用的方法和步驟與ODBC(Open Data Base Connectivity) 基本類似 ,但Visual C++ 的 MFC 包含的 DAO 類比 ODBC 類更加豐富 ,使得利用 DAO 實(shí)現(xiàn)某些數(shù)據(jù)庫操作(如數(shù)據(jù)庫查詢)更加簡單、方便。
   
    3 開發(fā)思路及技巧
   
    3. 1 開發(fā)思路

   
    SolidWorks 是基于參數(shù)化和特征造型技術(shù)的軟件 ,對其進(jìn)行二次開發(fā)應(yīng)遵循參數(shù)化 CAD 的原則。即對于企業(yè)中系列化、通用化和標(biāo)準(zhǔn)程度高的產(chǎn)品 ,其包含的拓?fù)湫畔⒒旧鲜且粯拥?,不同的僅是幾何信息。對于這類產(chǎn)品 ,可以將已知條件及其它隨著產(chǎn)品規(guī)格而變化的基本參數(shù)用相應(yīng)的變量代替 ,然后根據(jù)這些已知條件和基本參數(shù) ,由 SolidWorks查詢數(shù)據(jù)庫 ,或由 SolidWorks 計(jì)算出所需的全部數(shù)據(jù) ,自動完成設(shè)計(jì) ,并在屏幕上顯示出來。
   
    3. 2 開發(fā)方式的選擇
   
    采用參數(shù)化原則設(shè)計(jì)標(biāo)準(zhǔn)件庫大體分兩種:程序驅(qū)動法;尺寸參數(shù)驅(qū)動法。選用程序驅(qū)動法時(shí) ,可在用戶界面的對話框中輸入初始參數(shù)并對數(shù)據(jù)庫進(jìn)行查詢 ,然后用從數(shù)據(jù)庫中提取的參數(shù)進(jìn)行繪圖。其中繪圖部分代碼要靠程序員完成 ,程序驅(qū)動法可以借助SolidWorks 的宏記錄功能。SolidWorks 的宏可以記錄標(biāo)準(zhǔn)件模板生成的全部過程并生成 VBScript 程序代碼 ,然后由人工轉(zhuǎn)換為 Visual C++程序。
   
    選用尺寸參數(shù)驅(qū)動法時(shí) ,首先在 SolidWorks 中繪制標(biāo)準(zhǔn)件的模板零件并保存為*.sldprt 文件 ,同時(shí)對要進(jìn)行尺寸驅(qū)動的尺寸命名 ,如"L @草圖 1"。然后等用戶選擇完參數(shù)后 ,在內(nèi)存中打開已存的 *.sldprt 文件 ,并用從數(shù)據(jù)庫中提取的參數(shù)替換"L @草圖 1"尺寸 ,重新建模 ,生成新的零件。
   
    3. 3  開發(fā)步驟及技巧
   
    (1) 從 SolidWorks 公司網(wǎng)站下載向?qū)募WIZARD. awx ,將其添加到 MicrosoftVisualstudio/Common/ MSDev98/ Template 目錄下。然后 ,在 Visual C++ 中用該向?qū)?chuàng)建工程 ,添加相關(guān)代碼 ,編譯生成 *.DLL 文件。