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

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

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

時(shí)間:2010-06-02 08:00:00 來(lái)源:
副標(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 開(kāi)發(fā)語(yǔ)言,免費(fèi)提供二次開(kāi)發(fā)工具API,用戶二次開(kāi)發(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ì)與制造軟件來(lái)設(shè)計(jì)的,不是特別針對(duì)模具的,因此為了提高模具設(shè)計(jì)的效率,需要對(duì)其進(jìn)行二次開(kāi)發(fā)。
   
    1用VISUAL C++ 開(kāi)發(fā) SolidWorks 的原理

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

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