久久国产色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_欧美 国产 日本_好吊色欧美一区二区三区
色老头一区二区三区| 久久在线免费观看视频| 欧美精品久久| 黄频视频在线观看| 国产综合久久久久久| 国产一区二区三区av在线| 国产日韩亚洲精品| 成人国产在线看| 69av视频在线播放| 国产传媒久久久| 日韩视频免费在线| 国产精品国模在线| 在线精品亚洲一区二区| 亚洲综合自拍一区| 日韩中文字幕亚洲精品欧美| 青青草视频国产| 欧美亚洲成人网| 国产亚洲精品网站| 97国产一区二区精品久久呦| 国产成+人+综合+亚洲欧洲| 久久久久久久久久久av| 国产精品久久久久999| 久久99久久久久久久噜噜| 亚洲中文字幕无码不卡电影| 日本欧美精品在线| 男人添女人下部视频免费| 国产日产欧美a一级在线| 99精品一区二区三区的区别| 丝袜一区二区三区| 久久97久久97精品免视看| 欧美一区二区视频在线| 欧美中文字幕在线播放| 蜜桃免费区二区三区| www.亚洲一区二区| 色偷偷88888欧美精品久久久| 国产精品国产亚洲伊人久久| 亚洲国产欧美一区二区三区不卡| 奇米888一区二区三区| 国产日韩在线看片| 国产成人精品免费久久久久| 国产精品久久久久久av福利软件| 午夜精品在线视频| 精品少妇人妻av一区二区| 99热在线这里只有精品| 国产成人精品网站| 亚洲av首页在线| 黄色一级片av| 国产盗摄xxxx视频xxx69| 久久综合五月天| 日本新janpanese乱熟| 国产欧美一区二区三区另类精品 | 欧洲日韩成人av| 国产精品一区二区不卡视频| 精品国偷自产在线| 日韩在线电影一区| av色综合网| 麻豆国产精品va在线观看不卡 | 国产精品日本一区二区| 色综合久久久久无码专区| 国产日韩欧美精品| 精品国产一区二区三区在线观看| 亚洲欧洲三级| 国产免费一区二区三区视频| 久久韩国免费视频| 日本一区二区三区视频在线观看 | 亚洲va久久久噜噜噜久久狠狠| 国模视频一区二区三区| 久久精品日韩| 无码人妻aⅴ一区二区三区日本| 国产毛片视频网站| 欧美成人免费一级人片100| 人人爽久久涩噜噜噜网站| 久久免费国产视频| 日韩一区二区高清视频| www.av毛片| 久久6精品影院| 蜜桃传媒视频麻豆第一区免费观看| 久久久久久久久久久福利| 欧美一级片一区| wwwwww欧美| 综合一区中文字幕| 国产伦精品一区二区三区四区免费| 国产精品久久久久久久久久ktv | 欧美有码在线观看| 久久精品日产第一区二区三区乱码| 亚洲国产另类久久久精品极度| 成人毛片网站| 亚洲精品中文字幕无码蜜桃| 99精品国产一区二区| 亚洲va码欧洲m码| 91免费精品国偷自产在线| 一本久道中文无码字幕av| 啊啊啊一区二区| 亚洲aaa激情| 久久人人爽人人爽人人片av高请| 午夜精品一区二区三区在线视频 | 国产99久久精品一区二区| 国产免费一区二区三区四在线播放| 欧美另类在线播放| 国产美女久久久| 亚洲熟妇av日韩熟妇在线| 91久久偷偷做嫩草影院| 亚洲欧美精品| 国产不卡视频在线| 欧美精品123| 久久99精品久久久久久青青91 | 国产精品国产对白熟妇| 国产一区二区三区高清视频| 久久99久久久久久久噜噜| 99亚洲国产精品| 日本一欧美一欧美一亚洲视频| 色偷偷av亚洲男人的天堂| 韩国国内大量揄拍精品视频| 欧美日韩高清在线观看| 68精品国产免费久久久久久婷婷| 岛国一区二区三区高清视频| 色老头一区二区三区| 国产专区精品视频| 亚洲黄色一区二区三区| www.99久久热国产日韩欧美.com| 免费久久久一本精品久久区| 亚洲欧洲日产国码无码久久99| 日韩在线观看网址| 国产小视频免费| 日本中文字幕亚洲| 国产精品高清免费在线观看| 97精品国产97久久久久久| 欧美重口乱码一区二区| 一区二区三区四区免费视频| 日韩在线视频播放| 免费看又黄又无码的网站| 在线观看日本一区| 深夜福利91大全| 草b视频在线观看| 日韩精品一区二区三区不卡 | 国产精品看片资源| 91精品国产免费久久久久久| 欧美精品一区二区三区三州 | 日本精品性网站在线观看| 国产精品二区在线| 九色91视频| 97国产在线视频| 欧美不卡在线一区二区三区| 亚洲国产一区二区精品视频| 国产精品久久久久77777| 国产精品91久久| 国产视频九色蝌蚪| 欧美性资源免费| 天天夜碰日日摸日日澡性色av| 不卡av在线网站| 久久久久久国产三级电影| 99久久99| 国产尤物91| 欧美亚洲在线观看| 午夜精品一区二区三区在线视 | 久久国产乱子伦免费精品| 国产欧美日韩丝袜精品一区| 人人爽久久涩噜噜噜网站| 亚洲精品国产suv一区88| 色综合久久悠悠| 国产精品你懂得| 久久久久久久久久婷婷| 国产精品av免费在线观看| 国产美女精品视频| 国内精品**久久毛片app| 日韩免费黄色av| 日韩av高清在线看片| 亚洲综合色av| 亚洲资源在线看| 欧美激情精品在线| 欧美精品在线免费播放| 国产精品乱子乱xxxx| 国产精品十八以下禁看| 国产精品天天狠天天看| 日韩在线视频一区| 国产a级全部精品| 久久久国内精品| 久久观看最新视频| 久久精品日产第一区二区三区乱码| 91传媒视频免费| 分分操这里只有精品| 国产欧美精品xxxx另类| 国产在线观看91精品一区| 国产综合av在线| 国产欧美精品在线播放| 国产日本在线播放| 国产日韩欧美精品| 国产一级片黄色| 国产欧美精品xxxx另类| 成人羞羞国产免费网站| 91精品国产一区二区三区动漫| 91精品国产99久久久久久| 91精品免费视频| 国产激情999| 啊v视频在线一区二区三区| 日韩最新av在线| 国产精品久久一区二区三区| 欧美成人免费在线观看| 中文字幕在线中文| 视频在线99|