湯海霞
摘 要:齒輪油泵是液壓傳動(dòng)系統(tǒng)的動(dòng)力元件,應(yīng)用非常廣泛。為了縮短產(chǎn)品的開發(fā)周期,提高設(shè)計(jì)人員的工作效率,對(duì)產(chǎn)品進(jìn)行二次開發(fā),文章研究了VB 6.0環(huán)境下solidworks 2016二次開發(fā)的方法,使用solidworks提供的API進(jìn)行編程,完成solidworks參數(shù)化建模工作,并開發(fā)齒輪油泵專用模塊化系統(tǒng)。
關(guān)鍵詞:solidworks;二次開發(fā);參數(shù)化設(shè)計(jì);API
為了使工作人員從大量重復(fù)的計(jì)算和建模工作中解脫出來(lái),我們可以通過(guò)軟件的二次開發(fā)建立一個(gè)專門用來(lái)設(shè)計(jì)齒輪泵的參數(shù)化系統(tǒng)。在設(shè)計(jì)時(shí)工作人員只要輸入全部參數(shù),系統(tǒng)就可以根據(jù)輸入值將設(shè)計(jì)模型繪制出來(lái),若變動(dòng)其中一個(gè)或多個(gè)數(shù)據(jù),系統(tǒng)就會(huì)根據(jù)變化來(lái)變動(dòng)其他與之關(guān)聯(lián)的尺寸,重新建模,這樣就給設(shè)計(jì)帶來(lái)很大的方便,很好地實(shí)現(xiàn)了人機(jī)交互建模功能,這是參數(shù)化設(shè)計(jì)最大的特點(diǎn)。
1 二次開發(fā)的關(guān)鍵技術(shù)和方法
solidworks二次開發(fā)應(yīng)用程序接口(Application Program Interface,API)有著良好的開發(fā)性和兼容性,solidworks本身的大部分功能都可以通過(guò)調(diào)用solidworks API命令實(shí)現(xiàn)[1]。當(dāng)然,通過(guò)調(diào)用solidworks API對(duì)象也可以建立用戶需要的、專用的模塊[1]。參數(shù)化設(shè)計(jì)一般有兩種方法,第一種是程序參數(shù)化建模法,完全通過(guò)編程實(shí)現(xiàn)三維模型的參數(shù)化設(shè)計(jì)[2];第二種是參數(shù)化系統(tǒng)建模法,即通過(guò)人機(jī)交互形式建模[2],對(duì)于結(jié)構(gòu)相同、而尺寸不同的零件比較適用于此方法。最后利用API的相關(guān)功能對(duì)添加的零件進(jìn)行自動(dòng)定位、配合、面遍歷等使裝配準(zhǔn)確,實(shí)現(xiàn)自動(dòng)組裝。
2 齒輪油泵二次開發(fā)流程
就齒輪油泵參數(shù)化設(shè)計(jì)為研究對(duì)象,主要研究solidworks產(chǎn)品模型參數(shù)化建模、solidworks開發(fā)技術(shù)、數(shù)據(jù)庫(kù)接口,以及二次開發(fā)的步驟,完成對(duì)齒輪泵的模塊化產(chǎn)品設(shè)計(jì)。分析產(chǎn)品的結(jié)構(gòu),對(duì)每一個(gè)零件建立數(shù)據(jù)庫(kù),實(shí)現(xiàn)VB程序?qū)ccess數(shù)據(jù)庫(kù)的調(diào)用。另外通過(guò)加載動(dòng)態(tài)鏈接庫(kù)(Dynamic Link Library,DLL)文件形成新的用戶菜單,獲得與solidworks風(fēng)格一致的用戶操作界面,并建立了主菜單、一級(jí)子菜單、二級(jí)子菜單及程序的調(diào)用。二次開發(fā)流程如圖1所示。
3 齒輪油泵二次開發(fā)技術(shù)研究
3.1 用戶操作界面的菜單制作
為了獲得和solidworks風(fēng)格一致的用戶操作界面,一般在進(jìn)行solidworks二次開發(fā)時(shí),會(huì)制作相應(yīng)的用戶菜單,使用戶可以從菜單調(diào)用開發(fā)的自定義系統(tǒng)。這樣就確保了開發(fā)系統(tǒng)和solidworks具備相同的界面風(fēng)格。
分析齒輪油泵系統(tǒng)可知,主菜單定義為“齒輪泵參數(shù)化設(shè)計(jì)”,在主菜單下面有兩個(gè)一級(jí)子菜單,分別為“零件參數(shù)化”和“自動(dòng)裝配”,同時(shí),一級(jí)菜單下面還有二級(jí)子目錄。
菜單的建立編程如下。
Private Sub AddMenus () 定義添加菜單函數(shù)
無(wú)文檔模式下的VB二次開發(fā)菜單
iSldWorks.AddMenu swDocNONE, "齒輪泵參數(shù)化設(shè)計(jì)”, -1定義主菜單
在一級(jí)菜單”零件參數(shù)化”下面建立二級(jí)子菜單”新建文檔”, 回調(diào)函數(shù)為”NEWDOC”
iSldWorks.AddMenuItem3 swDocNONE, iCookie, “新建@零件參數(shù)化@齒輪泵參數(shù)化設(shè)計(jì)”,-1,“NEWDOC”, “新建文檔”
在一級(jí)菜單”零件參數(shù)化”下面建立二級(jí)子菜單”齒輪”,回調(diào)函數(shù)為“CHILUN”
VB程序編制好后,經(jīng)過(guò)調(diào)試后,可以直接編譯生成DLL動(dòng)態(tài)鏈接庫(kù)文件,此文件打包了程序中使用的所有API包庫(kù),可以被solidworks識(shí)別、讀取,并運(yùn)行。生成MyAddin_VB.DLL動(dòng)態(tài)鏈接庫(kù)文件后,可以直接被solidworks系統(tǒng)所識(shí)別。在solidworks界面可以直接加載并存在于solidworks菜單欄中。加載此插件。點(diǎn)擊“打開”,solidworks加載菜單欄如圖2所示。
同時(shí),在工具-插件管理欄里,可以看到MyAddin_VB插件已經(jīng)加載到solidworks工作環(huán)境中。
3.2 齒輪油泵系統(tǒng)數(shù)據(jù)庫(kù)的建立
齒輪油泵系統(tǒng)包含很多零部件,每個(gè)零部件都必須建立各自的數(shù)據(jù)庫(kù)。下面以齒輪零件的數(shù)據(jù)庫(kù)為例,詳細(xì)介紹制作數(shù)據(jù)庫(kù)的方法和步驟。
漸開線直齒輪數(shù)據(jù)庫(kù)包含8個(gè)屬性(字段),即序號(hào)、軸徑d、齒數(shù)z、齒厚h、模數(shù)m、壓力角a、鍵槽深、鍵槽寬。首先新建數(shù)據(jù)庫(kù)文件,命名為DataBase,齒輪數(shù)據(jù)庫(kù)命名為齒輪.mdb。
切換到數(shù)據(jù)表視圖,可以向表格中添加數(shù)據(jù),圖3所示為添加完成后的齒輪數(shù)據(jù)庫(kù)。
數(shù)據(jù)庫(kù)制作好后,將數(shù)據(jù)庫(kù)文件DataBase.mdb復(fù)制到SWAddin_VB程序根目錄下,以便程序調(diào)用數(shù)據(jù)庫(kù)[3]。
3.3 數(shù)據(jù)庫(kù)的調(diào)用和響應(yīng)
VB程序?qū)ccess數(shù)據(jù)庫(kù)的調(diào)用有多種方法,本文選擇較為簡(jiǎn)單的一種調(diào)用方式。VB自帶有Data控件,此控件自動(dòng)定義了對(duì)數(shù)據(jù)庫(kù)的鏈接。以齒輪為例(見圖4—5),首先在界面上放置Data控件。
在齒輪窗體啟動(dòng)加載時(shí),必須指定數(shù)據(jù)庫(kù)的位置,以供程序讀取。在Form_Load() 程序段,定義如下路徑語(yǔ)句。
Private Sub Form_Load ()
設(shè)置數(shù)據(jù)控件的數(shù)據(jù)源的名稱和位置
Data1.DatabaseName = App.Path & “\DataBase.mdb”
Data1.RecordSource = “齒輪”
……
End Sub
4 參數(shù)化設(shè)計(jì)調(diào)試及實(shí)現(xiàn)—以主動(dòng)齒輪軸為例
主動(dòng)齒輪軸程序調(diào)試。
……
Private Sub Form_Load ()
Data1.DatabaseName = App.Path & “\DataBase.mdb” 設(shè)置數(shù)據(jù)控件的數(shù)據(jù)源的名稱和位置
5 結(jié)語(yǔ)
基于solidworks參數(shù)化建模技術(shù)、Access數(shù)據(jù)庫(kù)管理技術(shù)等,對(duì)齒輪油泵進(jìn)行參數(shù)化設(shè)計(jì)與自動(dòng)裝配。能夠滿足產(chǎn)品更新速度快、減少設(shè)計(jì)人員的開發(fā)時(shí)間,有助于實(shí)現(xiàn)企業(yè)的資源整合,通過(guò)對(duì)數(shù)據(jù)分析,歸納,對(duì)企業(yè)要求設(shè)計(jì)的對(duì)象建立交互繪圖系統(tǒng),使用時(shí)直接調(diào)用,實(shí)現(xiàn)資源的整合。文章通過(guò)參數(shù)化平臺(tái),為產(chǎn)品后續(xù)的動(dòng)態(tài)仿真模擬、2D圖紙的生成提供了前提條件。