久久国产色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伊人久久| 国产极品在线视频| 国内外免费激情视频| 97精品免费视频| 国产精品免费看久久久无码 | 久久久久久久久久久免费| 久久久精品久久| 亚洲综合av一区| 国产一区不卡在线观看| 久久久久资源| 午夜精品久久久久久久白皮肤| 亚洲伊人成综合成人网| 欧美精品亚洲| 久久精品美女| 视频一区二区视频| 91精品视频免费观看| 欧美日韩第一视频| 狠狠色噜噜狠狠色综合久| 久久99欧美| 日韩尤物视频| 91精品国产91久久久久久最新| 91精品国产沙发| 国产精品福利网| 欧美牲交a欧美牲交| 国产成人精品久久久| 亚洲精品影院| 99久热re在线精品996热视频| 99精品在线免费视频| 国产精品日韩在线| 日韩日韩日韩日韩日韩| 国产精品2018| 亚洲高清在线观看一区| 97人人模人人爽人人喊38tv| 在线不卡视频一区二区| 国产精品亚洲二区在线观看| 一区视频二区视频| 苍井空浴缸大战猛男120分钟| 久久亚洲午夜电影| 亚洲在线视频福利| av片在线免费| 午夜精品三级视频福利| 99在线视频首页| 亚洲综合激情五月| 99久久精品无码一区二区毛片 | 精品国产乱码久久久久久郑州公司| 国产精品高潮呻吟久久av无限| 一区二区三区日韩视频| 国产日韩欧美在线| 在线视频一二三区| 91精品国产沙发| 色狠狠久久av五月综合| 国产第一页视频| 日韩视频 中文字幕| 久久精品国产成人| 国产一区免费| 亚洲欧美日韩不卡| 国产成人黄色av| 欧美高清一区二区| 欧美精品第一页在线播放| 91黄在线观看| 日本欧美视频在线观看| 精品国产一区二区三区久久久狼| 欧美激情精品久久久久久久变态| 欧美一区二区三区图| 91高跟黑色丝袜呻吟在线观看| 国产精品久久久久久久久男| 欧美在线国产精品| 国产精品日韩在线播放| 国产麻豆日韩| 日本一区视频在线观看免费| 色婷婷综合久久久久| 国内免费精品永久在线视频 | 国产精品国色综合久久| 国产制服91一区二区三区制服| 精品国产一区二区三区久久| 国内揄拍国内精品| 亚洲国产精品一区二区第一页| 国产偷人视频免费| 日本一区二区三区四区高清视频| www.av中文字幕| 日本a在线免费观看| 久久福利视频导航| 久艹在线免费观看| 国产欧美在线一区二区| 日本欧美精品久久久| 欧美猛交ⅹxxx乱大交视频| 国产高清免费在线| 国产一区在线观| 午夜精品一区二区三区视频免费看| 国产日韩欧美中文| 中文字幕色呦呦| 国产成人综合精品| 午夜精品久久久久久久99黑人| 91精品久久久久久久久中文字幕| 久久天堂电影网| 美女黄毛**国产精品啪啪| 亚洲精品一区国产精品| 国产精品久久久久久久久久新婚| 日本公妇乱淫免费视频一区三区| www.欧美日本| 日韩色妇久久av| 国产精品激情自拍| 久久久午夜视频| 国产在线拍揄自揄视频不卡99| 久久成人18免费网站| 国产乱码精品一区二区三区日韩精品 | 人人妻人人澡人人爽精品欧美一区 | 国产人妻777人伦精品hd| 色中文字幕在线观看| 国产精品爽黄69天堂a| 97人人模人人爽视频一区二区| 美女啪啪无遮挡免费久久网站| 日本国产在线播放| 欧美精品手机在线| 久草热视频在线观看| 国产精品中文在线| 欧美激情www| 亚洲欧美丝袜| 亚洲综合在线播放| 国产精品久久久久久久久免费| 欧美一区免费视频| 伊人久久大香线蕉综合75| 国产成人无码av在线播放dvd| 日韩免费在线看| 国产aⅴ精品一区二区三区黄 | 日韩视频免费播放| 国产av国片精品| 另类色图亚洲色图| 久久精品国产视频| 久久久久久久一区二区| 久久这里只有精品18| 国产免费久久av| 欧美国产综合在线| 亚洲高清资源综合久久精品| 国产精品成人国产乱一区| 久久久久久亚洲精品不卡4k岛国 | 欧美精品自拍视频| 一本色道久久88亚洲精品综合| 成人精品久久av网站| 欧美精品欧美精品系列c| 少妇性饥渴无码a区免费| 一区二区三区电影| 久久久久久91| 精品国产免费av| 欧美精品性视频| 国产精品无码一本二本三本色| 日韩免费中文字幕| 在线观看成人av| 欧美精品激情在线| 欧美日韩国产91| 国产精品第157页| 久久久av网站| 日韩亚洲欧美中文在线| 久久大香伊蕉在人线观看热2| 黄色a级片免费看| 日本精品久久久| 亚洲精品欧美极品| 日韩av免费在线| 日本一区高清不卡| 婷婷五月色综合| 色播亚洲视频在线观看| 亚洲精品乱码视频| 无码人妻精品一区二区三区66| 久久精品亚洲一区| www亚洲欧美| 久久精品99无色码中文字幕| 国产精品7m视频| 久久精品99久久香蕉国产色戒| 福利视频久久| 国产日韩欧美自拍| 国产精品一区二区三区久久| av免费观看久久| 久久免费视频观看| 精品国产一区二区三区久久狼5月| 国产美女视频免费| 国产伦精品一区二区三区免费视频| 美女黄色丝袜一区| 国产精品国产精品国产专区不卡| 97久久超碰福利国产精品…| www..com日韩| 久久伊人一区| 深夜福利一区二区| 欧美成人精品影院| 伊人久久大香线蕉精品| 亚洲图片在线观看| 日本久久久久久久久久久| 热久久99这里有精品| 麻豆中文字幕在线观看| 91九色蝌蚪国产| 国产精品免费网站| 欧美精品久久久久| 日韩亚洲欧美精品| 国产一区二区三区乱码| 国产精品99久久久久久久久久久久 | 国产第一页视频| 久久综合伊人77777蜜臀| 国产精品久久久久一区二区| 精品国产拍在线观看| 国产99久久精品一区二区 夜夜躁日日躁 | 精品无码久久久久久久动漫|