999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于SolidWorks的二次開發應用

2014-02-26 06:06:16
鍛壓裝備與制造技術 2014年2期
關鍵詞:二次開發用戶工程

劉 穎

(中國民用航空華東地區空中交通管理局 山東分局,山東 濟南 250107)

0 引言

SolidWorks是基于特征的三維參數化造型軟件,對其二次開發可遵循參數化CAD的原則。與以往非參數化CAD系統相比,參數化技術很大程度上提高了二次開發效率。SolidWorks提供了完整的免費的二次開發工具API(Application Programming Interface,應用編程接口)。凡支持COM編程的開發工具,如VC++、VB、Delphi等均可直接調用這些API函數開發出用戶自己的程序模塊,提高設計的效率與正確率。

為方便用戶進行二次開發,SolidWorks提供了幾百個API接口。這些API接口分為兩種,即OLE Automation的IDispatch和作為Windows基礎的COM(Component Object Model組件對象模型)。作為系統開發,COM為更合適的選擇。使用VB進行開發時,只能采取外掛工作方式,即需在用戶應用程序和Solid-Works之間進行前后臺切換,降低了設計效率。而COM接口支持使用VC++編程工具開發DLL(Dynamic Link Library,動態鏈接庫)程序,使用VC++開發的DLL應用程序模塊可直接嵌入到SolidWorks內部。加載成功后用戶程序菜單直接出現在SolidWorks主菜單上,如同SolidWorks自帶功能一樣進行操作,極大提高了設計效率。因此,本文就基于VC++闡述SolidWorks的二次開發。

1 基于VC++的SolidWorks二次途徑

1.1 使用工程向導Swizard.awx進行二次開發

將編程向導文件SWizard.awx拷貝至Microsoft Visual StudioCommonMSDev98Template目錄下,把SolidWorkssamplesappcomm文件夾下所有文件拷貝至Microsoft Visual StudioVC98Include文件夾下。在VC中應用向導創建動態鏈接庫工程 (以下簡稱DLL),加入相關代碼,編譯生成動態鏈接庫(*.DLL)文件。用戶二次開發的應用程序,可直接掛在Solid-Works的菜單下,形成統一界面。一般而言,開發人員首先需要在SolidWorks的界面上添加自己的菜單項,以此作為激活用戶程序的接口,完成與用戶的數據交換。在上述過程中,用戶程序必須響應SolidWorks的一些消息通知,以保證各個操作的合法性,即要檢測文檔類型等。最后,連接DLL,將必要的用戶程序輸出。

1.2 使用ATL(C/C++)對象向導進行二次開發

根據向導安裝SolidWorks API SDK,在VC++中選擇ATL COM Wizard創建動態鏈接庫,加入相關代碼,編譯生成動態鏈接庫 (*.DLL)文件。此方式可在SolidWorks插件管理器中生成插件,并以菜單形式自動添加在新建或打開的零件視圖中,以完成特定功能。

1.3 用戶自定義向導和用現有的實例進行二次開發

啟動VC,選擇Custom AppWizard尋找現成的文件以生成新的工程。若不想用向導,直接修改現有實例也是一種方法。使用此法可在SolidWorks的菜單欄中出現新下拉菜單用以完成用戶新添加的功能。

2 二次開發應用

以某零件參數化建模二次開發為例,介紹Solid-Works二次開發過程。

(1)安裝VC++并配置開發環境。利用Solid-Works提供的二次開發模板創建工程。為確保包含必要的頭文件,完全按照第一種方法配置開發環境。

(2)繪制零件模板。模板零件的創建方法與一般三維模型的建模方式相同,但須注意以下幾點:①在對模板進行特征造型時,對二維截面輪廓,利用尺寸標注和施加相切、共線等關系實現對幾何圖形的全約束。②正確設置控制三維模型的設計參數。尺寸參數可分為兩種:一是與其他參數無關的獨立參數;另一種是與其他參數有關的非獨立參數。前者主要用來控制三維模型的幾何尺寸和拓撲關系,后者可以用獨立參數為自變量的關系式表示。③正確建立設計參數與三維模型尺寸變量之間的關聯。主要有兩種方法:一是在創建模型模板需要輸入數值時,直接輸入參數名。二是利用SolidWorks的關系式功能創建新的關系式,使系統自動創建的約束參數名與設計參數關聯。

(3)VC++編程步驟。①利用SolidWorks提供的開發模板創建工程SWSD為工程名稱。②在CLASSVIEW中分別為CSWSDAPP的成員函數doc-CreateMenu,docRemoveMenu添加代碼實現為系統添加菜單:

③點擊FILEVIEW在SWSD.def文件里聲明導出函數。DLL中包含一個導出函數表,可以通過函數的符號化的名字或序號(可選)識別這些函數。函數表也包含了函數在DLL內的地址。當SolidWorks首先加載DLL時,它并不知道將要調用函數的地址,但知道符號名和序號。動態連接過程后,在DLL中建立一張客戶調用與函數地址的表,把SolidWorks的調用與DLL中函數的地址連接起來。④在SWSD.h中對導出函數聲明。⑤在SWSD.cpp文件里添加導出函數的函數體,這個函數就是用戶開發的菜單所調用的執行函數,在這個導出函數里添加具體的代碼可以實現開發人員需要程序執行的功能。

(4)編譯。由于SolidWorks不再支持加載調試軟件版本,因此,用戶不能用"Win32 Debug"或"Win32 MBCS Debug"調試模式。為了調試代碼,用戶必須使用"Pseudo Debug"調試模式。此模式需要鏈接適當的MFC Release庫,否則SolidWorks運行時可能會和已加載的MFC庫發生資源沖突。

(5)應用程序的運行。如果應用程序是以DLL方式建立,則運行步驟如下:運行SolidWorks程序,選擇File-Open并改變打開文件類型到ADD-Ins(.DLL)。選取預定的DLL,則用戶應用程序加入到SolidWorks。

如果用戶想在VC調試模式下運行SolidWorks,這種方式適合進行代碼的調試:在用戶的VC開發環境中,選擇GO編譯。在彈出的對話框中鍵入Solid-Works.EXE及其路徑名。一旦SolidWorks運行,選擇File-Open并改變打開文件類型到ADD-Ins(.DLL),選擇要調試的DLL,則用戶應用程序加入到SolidWorks。

(6)注冊。有兩種方式可以把用戶開發的模塊添加到注冊表里面,使SolidWorks可以自動找到二次開發的模塊:①在VC++開發環境中,利用SolidWorks提供的二次開發模板創建工程時,VC++提示是否把該工程添加到注冊表里時,選擇“是”。②當更換系統或在其他計算機中安裝開發的新模塊的時候,可以在工程文件夾內找到*.reg的一個注冊表文件,雙擊就可以把這個模塊的信息寫入注冊表。

4 結束語

介紹了在VC++集成開發環境下通過動態鏈接庫DLL調用SolidWorks API函數進行二次開發實現機械零件參數化設計的方法。可以參考該方法對Solid-Works進行其他較為復雜的二次開發工作,建立適合用戶需要的、專用的SolidWorks功能模塊。通過實例表明,基于DLL的SolidWorks二次開發可以很好實現與SolidWorks系統的無縫集成,并且操作簡單,能滿足用戶開發三維CAD系統的需要。

[1] 殷國富,尹湘云,胡曉兵.SolidWorks二次開發實例精解.北京:機械工業出版社,2006.

[2] 劉 毅,辛選榮,劉 汀.基于實例的擠壓模具CAD系統的開發.鍛壓裝備與制造技術,2006,41(2):94-97.

猜你喜歡
二次開發用戶工程
淺談基于Revit平臺的二次開發
甘肅科技(2020年20期)2020-04-13 00:30:02
淺談Mastercam后處理器的二次開發
模具制造(2019年3期)2019-06-06 02:11:02
西門子Easy Screen對倒棱機床界面二次開發
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
子午工程
太空探索(2016年6期)2016-07-10 12:09:06
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
工程
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
工程
主站蜘蛛池模板: 日本高清有码人妻| 高清欧美性猛交XXXX黑人猛交 | 亚洲精品视频在线观看视频| 欧美午夜视频在线| 亚洲综合在线最大成人| 日本欧美视频在线观看| 国产人成在线视频| 精品国产毛片| 国产丝袜91| 欧美午夜小视频| 亚洲女人在线| 91精品日韩人妻无码久久| 成年网址网站在线观看| 亚洲精品视频免费看| 国产福利不卡视频| 国产在线一二三区| 美女被操黄色视频网站| 国产亚洲视频在线观看| 凹凸国产熟女精品视频| 69av在线| 99视频在线精品免费观看6| 免费毛片网站在线观看| 真人高潮娇喘嗯啊在线观看| 精品少妇人妻无码久久| 国产精品天干天干在线观看| 日韩第八页| 中文字幕永久视频| 人妻无码一区二区视频| 三区在线视频| 美美女高清毛片视频免费观看| 亚洲欧美日韩中文字幕在线一区| 亚洲Av综合日韩精品久久久| 亚洲精品在线影院| 欧美劲爆第一页| 国产一区二区免费播放| 视频一区亚洲| 国产打屁股免费区网站| 亚洲Va中文字幕久久一区| 国产精品久久自在自线观看| 亚洲欧美日韩中文字幕在线| 91久久国产综合精品| 亚洲综合第一页| 欧美精品v日韩精品v国产精品| 99在线国产| 特级精品毛片免费观看| 亚洲AV无码精品无码久久蜜桃| 亚洲国产成人自拍| 国产精品无码AV中文| 国产亚洲美日韩AV中文字幕无码成人 | 色屁屁一区二区三区视频国产| 日韩在线观看网站| 久久99热这里只有精品免费看| 黄色国产在线| 中文字幕va| 国产乱人激情H在线观看| 日韩欧美国产精品| 日韩高清在线观看不卡一区二区| 黄色国产在线| 精品国产自在在线在线观看| 国产午夜精品一区二区三| 日本在线视频免费| 精品人妻一区无码视频| 乱人伦中文视频在线观看免费| 99无码中文字幕视频| 久久公开视频| 亚洲中文字幕精品| 国产精品成人一区二区不卡| AV片亚洲国产男人的天堂| 国产一在线观看| 国产白浆一区二区三区视频在线| 青青青伊人色综合久久| 亚洲有码在线播放| 亚洲人成网站在线观看播放不卡| 18禁不卡免费网站| 国产青榴视频| 国产成人无码AV在线播放动漫| 五月天久久综合| 午夜在线不卡| 91精品啪在线观看国产91九色| 亚洲天堂高清| 欲色天天综合网| 国产免费怡红院视频|