久久国产色av_国产人妻777人伦精品hd_欧美 国产 日本_好吊色欧美一区二区三区

您的位置:網站首頁 > Solidworks

Visual C++對SolidWorks的二次開發方法

時間:2010-06-02 08:00:00 來源:
副標題#e#

   1前言
   
    為了縮短產品開發周期、提高市場競爭能力 ,各企業在產品設計中大多要對通用 CAD 軟件進行二次開發 ,建立適合自己的專用模塊。但目前所開發的 CAD 系統 ,一般是對二維繪圖軟件如 AutoCAD 進行二次開發 ,實現機械零件參數化設計。由于二維繪圖軟件本身無法實現參數化驅動 ,所以對其進行二次開發的周期長、工作量大、不易實現 CAX系統的集成。而三維繪圖軟件如 SolidWorks ,采用特征建模、參數化驅動可方便地設計出三維實體模型。利用三維實體模型可以自動生成二維工程圖;可以在生產之前動態模擬裝配過程、進行干涉檢查;可以對重要零部件進行有限元分析與優化設計(CAE) ;可以模擬數控加工(CAM) ;可以生成零件的工藝規程(CAPP) ,這樣就易于實現 CAX系統的集成。所以基于三維繪圖軟件的二次開發必將成為今后 CAD 技術發展的主流。
   
    本文將討論在 Visual C++6. 0 的集成開發環境下 ,對 SolidWorks 進行二次開發實現機械零件參數化設計的方法 ,并結合實例說明二次開發的具體實現過程。
   
    1 SolidWorks 二次開發的原理
   
    1. 1 SolidWorks 的 API 接口

   
    SolidWorks 通過 OLE(Object Linking and Embedding ,對象的鏈接和嵌入) 技術為用戶提供了強大的二次開發接口 API(Application Programming Interface ,應用程序界面) ,API 中包含了數百個可以在 Visual Basic、VBA(Excel 、Access 等) 、C、C++ 或 SolidWorks 宏文件調用的函數。SolidWorks API 接口采用面向對象的方法 ,所有的函數都是有關對象的方法或屬性。用戶通過對這些對象屬性的設置和方法的調用 ,就可以在用戶自己開發的程序中對 SolidWorks 進行各種操作控制 ,完成零件草圖的繪制和修改;零件各種特征的建立和修改;零件的特征信息、裝配信息及工程圖紙信息的提取等。
   
    1. 2 SolidWorks 二次開發的方法

   
    SolidWorks 的API 接口分為兩種:一種是基于 OLE Automation 的 IDispatch 技術 ;另一種開發方式是基于 Windows 基礎的 COM(Object Model ,組件對象模型) 。
   
    基于 OLE Automation 的 IDispatch 技術作為快速開發的手段 ,一般常用于 VB、Delphi 編程語言的接口 ,通過 IDispatch 接口暴露對象的屬性和方法 ,以便在客戶程序中使用這些屬性并調用它所支持的方法。此種技術只能開發 EXE形式的程序 ,所開發的 CAD 系統不能直接加掛在 SolidWorks 系統界面下 ,無法實現與 SolidWorks 系統的集成。
   
    COM 是一種組件開發技術 ,是 Microsoft 公司提出的并被大多數公司支持的一種標準協議 ,它建立了一個軟件模塊同另一個軟件模塊的連接 ,當這種連接建立之后 ,兩個模塊之間就可以通過接口來進行通訊。COM接口更為簡潔高效 ,這種技術可以使用最多的 SolidWorks API函數。實際上 SolidWorks 系統本身是用 VC++編寫的 ,所以使用 VC++語言通過 COM 接口開發 ,可以實現對 SolidWorks 底層的開發并且代碼的執行效率高。
   
    通過 VC編寫基于 COM的動態連接庫 DLL(Dynamic Link Library)文件 ,能直接在 SolidWorks 的界面下添加菜單、工具條等 ,如圖 1 所示。在注冊表中注冊成功即可成為 SolidWorks 的插件 ,實現了與 SolidWorks 的無縫集成 ,是眾多二次開發方法中的首選 ,以下結合參數化設計銅合金軸承保持架擠壓模墊套的實例 ,介紹 DLL 程序的開發方法。
   
    2 DLL 程序的具體實現過程
   
    2. 1 DLL 的創建

   
    SolidWorks 公司提供了制作 DLL 文件的向導 ,利用向導模板可方便快捷地生成 DLL 文件。具體步驟是:首先從 SolidWorks 公司的網站下載制作動態連接庫的向導文件"SWizard. awx",將其拷貝至 VC++安裝目錄下的 Common MSDev98 Template 文件夾 ,這時 VC 新建工程項中會出現"SolidWorks Add InAppWizard"向導。選擇此向導輸入項目名 3DCAD 后單擊 Next ,在 Step 1 of 2 選擇 SolidWorks 的安裝路徑 ,除了 Overload WNDPROC of ModelView復選框 ,選中其他所有復選框 ,然后單擊 Next 進入 Step 2 of 2 ,選中 Create Sample Feature Manager 和 ViewRegister Add - In at compile time 復選框后單擊 Finish 即可完成DLL 工程的創建。
   
    2. 2 DLL 中添加資源的方法

   
    在動態鏈接庫中 ,當用戶需要添加自己的資源如對話框時 ,應明確指出在什么時候使用自己的資源 ,否則 SolidWorks 系統分不清那些是由系統控制的資源 ,那些是由用戶控制的資源 ,會發生沖突導致程序運行錯誤。避免資源沖突的方法是在使用自己資源前調用 Afx Get Resource Handle 函數保存當前的資源 ,然后調用 Afx Set Resource Handle 函數把當前資源設置成新的資源 ,當使用完自己的資源后 ,再調用Afx Set Resource Handle 函數恢復先前已保存的資源。創建本程序的運行界面時 ,首先用對話框編輯器創建對話框模板資源 ,如圖 2 所示加入所需控件 ,再用 Class wizard 為對話框生成 CTestDlg類(基類為 CDialog) ,并加入所需的成員變量 ,相關代碼如下:
   
    / / 保存當前系統資源
    HINSTANCE saver = AfxGetResourceHandle() ;
    / / 把當前資源設置成新的資源
    AfxSetResourceHandle(AfxGetResourceHandle() ) ;
    CDlg1 dlg ; / / 聲明一個對話框類
    If (int n = dlg. DoModal () = = IDOK) ; / / 按下繪圖按鈕后繪圖


    {
    drawdt( ) ; / / 參數化繪制墊套三維圖的自定義函數
    }
    / / 恢復先前已保存的系統資源的句柄
    AfxSetResourceHandle(saver) ;


久久国产色av_国产人妻777人伦精品hd_欧美 国产 日本_好吊色欧美一区二区三区
久久成人国产精品| 久久99国产精品99久久| 国产免费一区二区三区视频 | 久久久综合亚洲91久久98| 国产成人精品午夜| 亚洲天堂av免费在线观看| 黄色a级片免费| 久久99国产精品一区| 中文字幕一区二区三区最新| 日韩欧美一级在线| 国产精品第157页| 制服诱惑一区| 亚洲中文字幕无码一区二区三区| 亚洲一区精品电影| 国产美女永久无遮挡| 国产精品嫩草视频| 色就是色欧美| 91精品视频免费看| 亚洲一区二区在线看| 国产精品一区二区久久| 久久国产精品电影| 国产一区二区三区四区五区在线| 精品国产一区二区三区四区在线观看 | 国产精品久久久久9999爆乳| 欧美有码在线观看视频| 久久99影院| 秋霞久久久久久一区二区| 色婷婷久久av| 激情久久av| 精品免费日产一区一区三区免费| 国产日韩欧美在线视频观看| 欧美成人一二三| 国产精品伊人日日| 欧美激情综合色| 国产精品亚洲a| 欧美精品久久久久久久久| av电影一区二区三区| 亚洲v欧美v另类v综合v日韩v| 久久综合九色99| 人妻有码中文字幕| 久久久国产视频91| 国产一区二区网| 亚洲伊人成综合成人网| 久久婷婷国产综合尤物精品| 人妻夜夜添夜夜无码av| 国产精品美女www爽爽爽视频| 欧美 日韩 国产在线观看| 久久艳片www.17c.com| 国产精品专区h在线观看| 亚洲 日韩 国产第一| 久久久免费精品| 欧美理论一区二区| 久久这里有精品视频| 97久久国产亚洲精品超碰热| 日韩欧美精品在线不卡| 久久在精品线影院精品国产| 超碰免费在线公开| 日本高清久久天堂| 国产精品高潮粉嫩av| 91国产视频在线播放| 欧美高清性xxxxhd| 亚洲一区二区在线免费观看| 国产精品无码av在线播放| 苍井空浴缸大战猛男120分钟| 日本aa在线观看| 久久福利视频导航| 97人人干人人| 国内精品视频一区二区三区| 亚洲欧洲日夜超级视频| 久久久999成人| av 日韩 人妻 黑人 综合 无码| 午夜精品久久久久久99热软件| 日韩有码片在线观看| 国产精品亚洲激情| 欧美一级视频一区二区| 欧美成人性色生活仑片| 久久av一区二区| 国产精品又粗又长| 欧美极品视频一区二区三区| 亚洲一区亚洲二区| 日韩一区二区在线视频| www.日本少妇| 精品一区2区三区| 日本午夜激情视频| 在线观看福利一区| 国产精品久久久久福利| 国产成人一区二| 成人一区二区av| 国精产品一区一区三区有限在线| 欧美一级免费在线观看| 中文一区一区三区免费| 国产精品美女在线播放| 日韩在线www| 国产对白在线播放| www.av中文字幕| 国产一区视频免费观看| 人妻久久久一区二区三区| 亚洲精蜜桃久在线| 欧美激情视频一区二区三区不卡| 国产精品日韩久久久久| 日韩亚洲综合在线| 国产www精品| 久久久一本二本三本| av一区观看| 国产精品影片在线观看| 国产女教师bbwbbwbbw| 狠狠色伊人亚洲综合网站色| 青青青国产在线观看| 日韩中文字幕在线不卡| 亚洲 中文字幕 日韩 无码| 欧美精品久久久久| 欧美另类99xxxxx| 国产精品成熟老女人| 国产精品久久久久免费| 久久久精品一区二区| 久久精品成人一区二区三区| 久久久久久久久久久免费精品| 91久久精品国产| 91精品久久久久久久久青青 | 久久99精品久久久久久秒播放器| 91精品久久久久久久久久入口| 成人国产精品日本在线| 风间由美久久久| www.日本在线视频| 成人免费福利在线| 不卡一区二区三区四区五区| 成人久久久久久久久| av日韩中文字幕| 91.com在线| 久操网在线观看| 久久99九九| 久久精品成人欧美大片古装| 国产精品丝袜白浆摸在线| 国产精品旅馆在线| 精品毛片久久久久久| 美女视频久久黄| 亚洲在线观看一区| 性一交一乱一伧国产女士spa| 日产精品久久久一区二区福利 | 亚洲综合最新在线| 亚洲免费av网| 亚洲www在线观看| 日本高清久久天堂| 欧美二区在线| 国产又大又硬又粗| 成人免费在线小视频| 国产精品69久久久久| 日韩在线中文字| 国产精品露出视频| 欧美人成在线视频| 天堂av在线中文| 日本不卡高字幕在线2019| 欧美不卡福利| 国产九色porny| 久久综合九色99| 国产精品免费一区二区三区 | 热re99久久精品国产99热| 欧美精品一区二区三区免费播放| 国产中文字幕在线免费观看| 国产乱码精品一区二区三区日韩精品| 国产美女搞久久| 国产精品88久久久久久妇女| 精品国产一区av| 欧美激情精品久久久久久变态| 亚洲va国产va天堂va久久 | 91精品啪在线观看麻豆免费| 按摩亚洲人久久| 国产99视频精品免视看7| 午夜精品一区二区三区在线观看 | 国产精品久久久久一区二区| 自拍日韩亚洲一区在线| 日韩欧美黄色大片| 国产精品一区二区久久国产 | 国产精品永久入口久久久| 国产www精品| 欧美日本精品在线| 日韩欧美一区二区视频在线播放| 国产一区视频免费观看| 久草免费福利在线| 中文字幕人妻熟女人妻洋洋| 热久久这里只有| 成人福利网站在线观看11| 久久精品二区| 中文字幕在线乱| 欧美日韩一级在线| 国产精品av免费在线观看| 国产精品老女人精品视频| 色综合666| 高清视频一区二区三区| 久久天天躁狠狠躁老女人| 亚洲 欧美 日韩 国产综合 在线| 国产在线视频欧美一区二区三区| 国产成年人在线观看| 久久久久国产视频| 狠狠97人人婷婷五月| 国产成人精品免费看在线播放| 精品国产一区二区三区日日嗨 | 国产成人免费av| 天天综合中文字幕| 国产日韩在线免费|