盧笑宇
(長(zhǎng)安大學(xué)工程機(jī)械學(xué)院,陜西 西安710064)
在農(nóng)業(yè)生產(chǎn)過(guò)程中,農(nóng)用機(jī)械液壓油缸的運(yùn)用非常廣泛。在農(nóng)機(jī)生產(chǎn)企業(yè)的實(shí)際生產(chǎn)流程中,設(shè)計(jì)環(huán)節(jié)往往是至關(guān)重要的一環(huán)。它占用的時(shí)間長(zhǎng),研究成本高。研究人員需要花費(fèi)大量的時(shí)間查找各種資料,并且每次設(shè)計(jì)都需要反復(fù)查找,耗時(shí)費(fèi)力。采用計(jì)算機(jī)輔助設(shè)計(jì)技術(shù),能夠提高設(shè)計(jì)效率,提高產(chǎn)品設(shè)計(jì)質(zhì)量,進(jìn)一步降低農(nóng)業(yè)生產(chǎn)成本,有利于我國(guó)機(jī)械化農(nóng)業(yè)生產(chǎn)的發(fā)展。
液壓缸是一種標(biāo)準(zhǔn)化較高的部件,在設(shè)計(jì)過(guò)程中一般只需要對(duì)已經(jīng)存在的標(biāo)準(zhǔn)液壓缸進(jìn)行一些調(diào)整與修改。液壓缸的這一特性正好適應(yīng)自動(dòng)化設(shè)計(jì)技術(shù),可以以標(biāo)準(zhǔn)液壓缸為基礎(chǔ),設(shè)計(jì)開(kāi)發(fā)一個(gè)系統(tǒng),提前將各種設(shè)計(jì)準(zhǔn)則添加到計(jì)算機(jī)輔助設(shè)計(jì)系統(tǒng)中。筆者以VB6.0為系統(tǒng)開(kāi)發(fā)平臺(tái)設(shè)計(jì)操作界面,利用API接口將SolidWorks連接起來(lái)進(jìn)行二次開(kāi)發(fā),實(shí)現(xiàn)液壓缸的自動(dòng)化設(shè)計(jì)、裝配[1]。
常用的SolidWorks開(kāi)發(fā)工具主要分為兩大類(lèi):一類(lèi)是SolidWorks內(nèi)部自帶的宏,另一類(lèi)是各種編程語(yǔ)言(VB、C#、C++等等)[2]。筆者使用VB作為開(kāi)發(fā)語(yǔ)言,采用的是人機(jī)交互的形式。通過(guò)VB程序訪問(wèn)數(shù)據(jù)庫(kù),再將查詢(xún)值賦給模型相應(yīng)的尺寸實(shí)現(xiàn)模型的更新。在做開(kāi)發(fā)前首先要將VB與SolidWorks連接起來(lái)。這一步需要在VB程序中添加引用。一般常用CreateObject的方法來(lái)獲取Sldworks對(duì)象,通過(guò)Activedoc來(lái)獲取當(dāng)前SolidWorks打開(kāi)的文件對(duì)象[3]。
筆者選用Access作為液壓油缸的數(shù)據(jù)庫(kù)管理系統(tǒng),用來(lái)儲(chǔ)存油缸各零件的尺寸信息。如圖1所示,液壓缸零件尺寸信息存儲(chǔ)于數(shù)據(jù)庫(kù)中。VB6.0訪問(wèn)數(shù)據(jù)庫(kù)常見(jiàn)的有三種接口:RDO遠(yuǎn)程數(shù)據(jù)對(duì)象、DAO數(shù)據(jù)訪問(wèn)對(duì)象、ADO數(shù)據(jù)對(duì)象[4]。筆者采用的就是ADO對(duì)象技術(shù)。在Visual Basic中使用ADO之前,需要將ADODB類(lèi)型庫(kù)添加到程序中去。在VB界面選擇菜單欄中的工程選項(xiàng),再單擊引用,找到Microsoft ActiveX Data Objects 2.8 Library并選中。具體操作如圖2所示。添加完成后,編程時(shí)直接用代碼進(jìn)行調(diào)用即可[5]。
圖1 Access液壓缸數(shù)據(jù)庫(kù)
圖2 添加ADO對(duì)象引用
第一步,在SolidWorks平臺(tái)的基礎(chǔ)上,完成對(duì)某一特定型號(hào)或系列液壓缸的建模。第二步,基于Access軟件平臺(tái)建立標(biāo)準(zhǔn)化液壓缸零件的數(shù)據(jù)庫(kù)。將每個(gè)零件的尺寸值輸入數(shù)據(jù)庫(kù)中儲(chǔ)存起來(lái)。第三步,進(jìn)入Visual Basic 6.0系統(tǒng)利用VB語(yǔ)言進(jìn)行編程,調(diào)用API函數(shù)進(jìn)行二次開(kāi)發(fā)。第四步,打開(kāi)標(biāo)準(zhǔn)液壓缸的裝配體,將原來(lái)的零件替換為重新建模的零件,更新裝配體即可完成液壓缸的參數(shù)化設(shè)計(jì)[6]。
零件參數(shù)化建模要經(jīng)過(guò)幾何約束、尺寸約束、尺寸確定和模型的生產(chǎn)等幾個(gè)過(guò)程。人為設(shè)置好幾何約束的前提下,用戶(hù)輸入驅(qū)動(dòng)尺寸信息,計(jì)算機(jī)便會(huì)自動(dòng)生成模型。首先需要建立液壓缸各個(gè)零件的模型庫(kù),主要的零件有缸筒、活塞、活塞桿、內(nèi)卡鍵、端蓋、桿頭、擋圈、油口、前導(dǎo)套等。
以前導(dǎo)套為例,具體說(shuō)明前導(dǎo)套的參數(shù)化過(guò)程,其余零件建模過(guò)程不再贅述。本參數(shù)設(shè)計(jì)使用的是尺寸驅(qū)動(dòng)的方式。前導(dǎo)套的數(shù)據(jù)表如圖3所示,表中的缸徑、速比為索引字段,查詢(xún)時(shí)就是以這兩個(gè)信息為根據(jù),提取其他的尺寸信息[7]。圖4為前導(dǎo)套草圖,將所有的尺寸進(jìn)行定義。在參數(shù)化設(shè)計(jì)過(guò)程中,通過(guò)代碼查詢(xún)數(shù)據(jù)庫(kù)中的尺寸信息,將查詢(xún)到的值賦給SolidWorks中的零件,就能得到如圖5所示的前導(dǎo)套實(shí)體圖。實(shí)際設(shè)計(jì)過(guò)程中,需要分別將各個(gè)零件參數(shù)化建模并裝配,完成前期預(yù)備工作。
圖3 前導(dǎo)套尺寸信息
圖4 前導(dǎo)套草圖
圖5 前導(dǎo)套實(shí)體圖
使用VB進(jìn)行操作界面設(shè)計(jì),設(shè)計(jì)界面如圖6所示。輸入理論輸出力的大小計(jì)算理論缸徑和桿徑。將缸徑圓整至第一優(yōu)先系列數(shù)值,手動(dòng)輸入下面的設(shè)計(jì)框內(nèi),選擇合適的安裝方式。單擊全部零件生成即可打開(kāi)SolidWorks,完成所有零件的自動(dòng)建模。點(diǎn)擊自動(dòng)裝配,系統(tǒng)便會(huì)通過(guò)VB打開(kāi)液壓油缸的裝配圖并完成裝配圖更新。如圖7所示為自動(dòng)生成的裝配圖。
圖6 設(shè)計(jì)界面
圖7 自動(dòng)生成裝配圖
筆者以VB編程語(yǔ)言、Access數(shù)據(jù)庫(kù)和SolidWorks三維設(shè)計(jì)軟件為平臺(tái),設(shè)計(jì)了一套液壓油缸自動(dòng)化設(shè)計(jì)系統(tǒng)。該系統(tǒng)主要應(yīng)用了數(shù)據(jù)庫(kù)技術(shù)、零件參數(shù)化建模技術(shù),以API函數(shù)作為數(shù)據(jù)接口對(duì)SolidWorks進(jìn)行了二次開(kāi)發(fā),利用尺寸驅(qū)動(dòng)法完成零件的建模,并且能夠自動(dòng)生成裝配圖,基本滿(mǎn)足了對(duì)于液壓油缸自動(dòng)化設(shè)計(jì)的需求。實(shí)踐證明,該系統(tǒng)可以廣泛應(yīng)用于農(nóng)用機(jī)械的設(shè)計(jì),對(duì)農(nóng)業(yè)生產(chǎn)的機(jī)械化有一定的幫助[8-9]。