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