SolidWorks液壓閥塊特征設(shè)計(jì)(四)
2013-07-25 by:廣州Solidworks培訓(xùn)中心 來(lái)源:仿真在線
SolidWorks液壓閥塊特征設(shè)計(jì)(四)
3.5 SolidWorks系統(tǒng)插件菜單的開(kāi)發(fā)
3.5.1插件菜單功能
SolidWorks本身自帶有程序編輯器VBA,通過(guò)宏錄制可以實(shí)現(xiàn)SolidWorks的驅(qū)動(dòng),應(yīng)用程序在SolidWorks環(huán)境下直接執(zhí)行,編程時(shí)不需要考慮SolidWorks的庫(kù)文件,而直接調(diào)用SolidWorksAPI所有函數(shù)及對(duì)象,隨時(shí)編輯應(yīng)用程序,環(huán)境支持如單步調(diào)試、逐過(guò)程調(diào)試等多種調(diào)試手段,調(diào)試的同時(shí)可進(jìn)行修改。但VBA的功能較弱,所提供的控件數(shù)目較少,對(duì)象的屬性、事件以及方法等不完全,用VBA二次開(kāi)發(fā)SolidWorks將頗周折,所以論文研究中,選用DLL動(dòng)態(tài)連接庫(kù)技術(shù)從外部操作SolidWorks DLL動(dòng)態(tài)鏈接庫(kù)(DynamicL Link Librabry)是運(yùn)行時(shí)連接的可執(zhí)行代碼和數(shù)據(jù)模塊,用它能節(jié)省內(nèi)存、方便地進(jìn)行應(yīng)用程序中的參數(shù)傳遞和通信、實(shí)現(xiàn)代碼共享、升級(jí)方便、且獨(dú)立于編程語(yǔ)言。
本系統(tǒng)是以插件的形式集成到Solidworks主菜單當(dāng)中去的,即整個(gè)系統(tǒng)是在SolidWorks基礎(chǔ)上建立起來(lái)的,目的就是利用SolidWorks己有的強(qiáng)大功能實(shí)現(xiàn)特定的功能要求。與所有其它菜單條一樣,系統(tǒng)以Windows風(fēng)格的菜單形勢(shì)插入到SolidWorks當(dāng)中去。
加入SolidWorks可以有兩種形式,一種是臨時(shí)加入的方法,即調(diào)入*dll文件法,這種方法是將系統(tǒng)編譯生成動(dòng)態(tài)連接文件(*d11)的臨時(shí)插入到SolidWorks當(dāng)中去,當(dāng)SolidWorks關(guān)閉時(shí)它也就隨之釋放出內(nèi)存,因此當(dāng)再次啟動(dòng)SolidWorks時(shí)插件并不存在于菜單中;另一種形式是通過(guò)修改注冊(cè)表的形式將系統(tǒng)插到SolidWorks菜單。SolidWorks允許用戶建立獨(dú)立的可執(zhí)行文件(EXE)、應(yīng)用型動(dòng)態(tài)鏈接庫(kù)文件(UserDLL)及擴(kuò)展型動(dòng)態(tài)鏈接庫(kù)文件(Extension DLL)。DLL是基于windows程序設(shè)計(jì)的一個(gè)非常重要的組成部分。在建立應(yīng)用程序的可執(zhí)行文件時(shí),不必將DLL鏈接到程序中,而是在運(yùn)行時(shí)動(dòng)態(tài)裝載DLL,裝載時(shí)DLL被映射到進(jìn)程的地址空間中。在每次運(yùn)行SolidWbrks時(shí),DLL文件自動(dòng)裝載,操作方便。
SolidWorks的SolidWorks對(duì)象,為VB對(duì)SolidWorks工作環(huán)境進(jìn)行訪問(wèn)處理提供了接口。通過(guò)此對(duì)象可以對(duì)SolidWorks工作環(huán)境添加菜單、刪除菜單、添加工具條、打開(kāi)文件、新建文件、退出SolidWorks系統(tǒng)等功能,這里主要是通過(guò)使用SolidWorks對(duì)象的Add lnenu和Add menuitem方法來(lái)在SolidWorks工作環(huán)境中添加菜單和下拉子菜單及功能模塊的調(diào)用;通過(guò)使用SldWorks對(duì)象的Addtoolbar和AddToolbarCommand方法來(lái)完成在SolidWorks工作環(huán)境中添加工具條和完成對(duì)應(yīng)標(biāo)準(zhǔn)件功能模塊的調(diào)用。
3.5.2實(shí)現(xiàn)方法
本次的DLL與EXE程序功能上基本沒(méi)有區(qū)別,但是DLL與EXE確實(shí)有實(shí)質(zhì)上的區(qū)別。DLL,作用在于為應(yīng)用程序提供擴(kuò)展功能。應(yīng)用程序想要調(diào)用DLL文件,需要跟其進(jìn)行“動(dòng)態(tài)鏈接”;從編程的角度,應(yīng)用程序需要知道DLL文件導(dǎo)出的API函數(shù)方可調(diào)用。由此可見(jiàn),DLL文件本身并不可以運(yùn)行,需要應(yīng)用程序調(diào)用。正因?yàn)镈LL文件運(yùn)行時(shí)必須插入到應(yīng)用程序的內(nèi)存模塊當(dāng)中,所以要運(yùn)行DLL就必須要用SolidWorks來(lái)加載DLL。具體方法就是象打開(kāi)文件一樣用SolidWorks“打開(kāi)”DLL,只是在加載DLL時(shí)要選擇Add.Ins文件類(lèi)型。
菜單的具體實(shí)現(xiàn)方法如下:在VB中新建ActiveDLL工程。
把標(biāo)準(zhǔn)EXE程序的窗體文件和其他模塊等添加到Active DLL工程,然后為工程添加一個(gè)類(lèi)模塊,內(nèi)容如下:
為Active DLL程引用swpublished.tlb庫(kù)文件,即“SolidWorks exposedtype LibrariesForadd-inUse”(SolidWorks插件庫(kù)文件)、“SolidWorks2007typeLibraries”(SolidWorks庫(kù)文件)、SoildWorks Constant type Libraries(“SolidWorks常數(shù)庫(kù)文件”)。
最后,將Active DLL工程編譯為一個(gè)DLL文件,就可以使用本小節(jié)前面的方法,在SolidWorks中加載并運(yùn)行了,同一個(gè)DLL文件只需要加載一次就可以了。需要卸載或是重新加載,可以在SolidWorks工具欄的插件里進(jìn)行。
相關(guān)標(biāo)簽搜索:SolidWorks液壓閥塊特征設(shè)計(jì)(四) SolidWorks有限元培訓(xùn) 武漢插件開(kāi)發(fā) SolidWorks培訓(xùn)課程 SolidWorks設(shè)計(jì)教程 SolidWorks視頻教程 SolidWorks軟件下載 SolidWorks在建筑室內(nèi)設(shè)計(jì)工業(yè)設(shè)計(jì)的應(yīng)用 SolidWorks基礎(chǔ)知識(shí) SolidWorks代做 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn)