韓素蘭,劉 勛
(華北水利水電大學(xué),河南 鄭州 450045)
基于SolidWorks的帶式輸送機中間架參數(shù)化設(shè)計系統(tǒng)開發(fā)
韓素蘭,劉 勛
(華北水利水電大學(xué),河南 鄭州 450045)
針對DTII(K)型帶式輸送機機架部分不同形式、種類的中間架,以Visual Basic 6.0為開發(fā)平臺,對SolidWorks軟件進行二次開發(fā)。在分析不同形式、種類中間架的基礎(chǔ)上,運用尺寸驅(qū)動的設(shè)計方法,實現(xiàn)中間架的參數(shù)化設(shè)計;運用SolidWorks提供的API函數(shù),通過遍歷特征的設(shè)計方法,完成中間架的自動裝配。該系統(tǒng)顯著提高了設(shè)計效率,降低了設(shè)計人員的勞動強度。
中間架;SolidWorks;Visual Basic;參數(shù)化設(shè)計;自動裝配
帶式輸送機是一種摩擦驅(qū)動以連續(xù)方式輸送物料的機械,生產(chǎn)效率高、工作平穩(wěn)、結(jié)構(gòu)簡單,廣泛應(yīng)用于冶金、港口、礦山等行業(yè)。DTII(K)型帶式輸送機是通用型系列產(chǎn)品,中間架作為帶式輸送機機架部分的主要部件,按部件系列進行設(shè)計,越來越成為帶式輸送機設(shè)計的一個重要部分。根據(jù)不同的地形和輸送距離,中間架有直型、凸弧型、凹弧型三種形式,種類有標(biāo)準(zhǔn)尺寸和非標(biāo)準(zhǔn)尺寸兩種[1]。目前,常用的設(shè)計方法是在CAD平臺上進行人工設(shè)計,不僅設(shè)計工作量大、設(shè)計周期長,而且過程不直觀。
隨著三維模型技術(shù)和計算機技術(shù)的發(fā)展,在產(chǎn)品的設(shè)計過程中,三維模型表達逐步取代二維圖形表達,參數(shù)化設(shè)計也逐漸取代人工設(shè)計。因此,為彌補二維設(shè)計不足,滿足現(xiàn)代化設(shè)計需求,基于Solid-Works軟件,開發(fā)一套中間架參數(shù)化設(shè)計系統(tǒng),實現(xiàn)設(shè)計參數(shù)化及裝配自動化,提高設(shè)計效率,減輕設(shè)計人員的勞動強度。
中間架是機架的主要部件,主要用來支撐滾筒及承受輸送帶張力。它主要由槽鋼組成,頂面和底面設(shè)計有托輥底座安裝孔,側(cè)面設(shè)計有支腿安裝孔和聯(lián)板安裝孔,結(jié)構(gòu)如圖1所示。
圖1 中間架模型結(jié)構(gòu)
中間架雖然結(jié)構(gòu)簡單,但設(shè)計參數(shù)繁多,主要參數(shù)有帶寬B、槽鋼中心線距離A、寬度A1、支腿安裝孔到頂面的距離h1、支腿安裝孔圓心距h2、上下托輥安裝孔距離Q1、Q2及托輥間距離Q0等。根據(jù)中間架的結(jié)構(gòu),將參數(shù)劃分成輪廓參數(shù)、托輥安裝孔參數(shù)以及支腿安裝孔參數(shù)等三大類。在設(shè)計時,根據(jù)載貨密度、輸送距離以及工作環(huán)境的不同,選用不用的槽鋼型號,并設(shè)計不同數(shù)量和間隔的托輥安裝孔及不同類型的支腿安裝孔,這就需要分別對輪廓參數(shù)、托輥安裝孔參數(shù)以及支腿安裝孔參數(shù)進行重新設(shè)計。
2.1 功能設(shè)計
本設(shè)計系統(tǒng)針對帶式輸送機中間架,利用Solid-Works良好的開放性,運用VB高級開發(fā)語言對SolidWorks進行二次開發(fā),并將其作為插件與Solid-Works無縫銜接[2]。根據(jù)中間架的形式和種類,通過可視化交互界面確定帶寬,輸入相關(guān)參數(shù)并從數(shù)據(jù)庫中調(diào)用既定參數(shù)后,直接生成相應(yīng)的中間架模型,實現(xiàn)參數(shù)化設(shè)計[1]。中間架設(shè)計完成后,根據(jù)用戶需求,打開裝配對話框并進入裝配體界面,在數(shù)據(jù)庫中調(diào)用相關(guān)的裝配信息,載入裝配零部件及輔助零部件后,自動完成中間架的裝配。
2.2 結(jié)構(gòu)設(shè)計
根據(jù)設(shè)計系統(tǒng)的功能,劃分為4個模塊,系統(tǒng)交互界面模塊、參數(shù)化設(shè)計模塊、自動裝配模塊以及數(shù)據(jù)管理模塊[3]。
交互界面模塊為設(shè)計系統(tǒng)入口,通過該模塊選擇既定參數(shù)、輸入相關(guān)參數(shù);參數(shù)化設(shè)計模塊是系統(tǒng)主模塊,根據(jù)獲取的參數(shù)信息,生成滿足需求的中間架模型;自動裝配模塊主要根據(jù)設(shè)計中間架的形式、種類,自動裝配托輥、支腿等零件;數(shù)據(jù)管理模塊主要用來存儲中間架零件參數(shù)及裝配信息,可單獨查看、修改。
3.1 設(shè)計方法
該系統(tǒng)采用尺寸驅(qū)動法,在分析不同形式、種類中間架的基礎(chǔ)上,繪制相應(yīng)的模板,通過系統(tǒng)交互界面獲取參數(shù),賦值給尺寸變量并驅(qū)動模型重建,實現(xiàn)整體的參數(shù)化設(shè)計;對于部分特征參數(shù),如支腿數(shù)量、類型等,采用編程法,利用SolidWorks自帶的宏錄制工具,獲取并修改操作碼后,直接放入程序中,從而完成整個設(shè)計。
3.2 設(shè)計流程
針對SolidWorks二次開發(fā),首先在程序中創(chuàng)建SldWorks對象并與SolidWorks連接,然后通過程序調(diào)用SolidWorks提供的API函數(shù),按照預(yù)定設(shè)計打開文檔,最后更新模型,關(guān)閉創(chuàng)建的SldWorks及其他對象,結(jié)束整個設(shè)計[4],設(shè)計流程如圖2所示。
圖2 設(shè)計流程圖
利用尺寸驅(qū)動法進行參數(shù)化設(shè)計,與系列零件設(shè)計的方法相同,通過修改模型相應(yīng)特征參數(shù),驅(qū)動模型特征重建,從而生成與模板模型結(jié)構(gòu)相同而尺寸不同的模型。在設(shè)計中,采用數(shù)據(jù)庫存儲中間架的設(shè)計參數(shù),通過程序打開模板模型,從數(shù)據(jù)庫中讀取相應(yīng)的設(shè)計參數(shù),然后遍歷所有特征參數(shù),并逐一進行修改;重建模型,完成參數(shù)化設(shè)計。
4.1 建立參數(shù)數(shù)據(jù)庫
中間架設(shè)計參數(shù)繁多,主要包括帶寬B、寬度A1及兩槽鋼孔中心線距離A、上、下托輥安裝孔間距Q1、Q2以及材料型號等[5]。實際應(yīng)用中,不同帶寬系列的中間架,對應(yīng)不同系列的設(shè)計參數(shù)。為方便程序調(diào)用參數(shù),運用Access建立參數(shù)數(shù)據(jù)庫。
4.2 建立零件模型
中間架有直型、凸型、凹型三種類型,種類有標(biāo)準(zhǔn)型和非標(biāo)準(zhǔn)型兩種。非標(biāo)準(zhǔn)型中間架與標(biāo)準(zhǔn)型中間架相比,結(jié)構(gòu)相似,主要尺寸相同,設(shè)計時可共用模型。分析直型、凸型、凹型三種類型的結(jié)構(gòu),確定各個特征及其相對關(guān)系,選取某一帶寬的設(shè)計參數(shù),在SolidWorks中建立相應(yīng)的三維模型,并將其保存為模型。以帶寬B為1 000 mm為例,直型中間架模板模型如圖3所示。
圖3 直型中間架模板模型
4.3 程序設(shè)計及關(guān)鍵技術(shù)
(1)Sldworks對象是SolidWorks API中最高級對象,它提供了SolidWorks API中所有對象的直接或間接接口,通過它可控制SolidWorks的基本操作[5]。在程序設(shè)計之前,首先利用CreatObject方法來獲得Sldworks對象,打開文件并激活。以直型中間架設(shè)計程序為例,其代碼如下
SetswApp=CreateObject(“Sldworks.Application”)
Set Part=swApp.OpenDoc4(strFileName,1,0,"",longstatus)
Set Part=swApp.ActivateDoc(“直型中間架”)
(2)為方便從數(shù)據(jù)庫中調(diào)用設(shè)計參數(shù),利用ODBC提供的API函數(shù),在VB的支持下與Access相連。在程序中,主要通過ADO控件實現(xiàn)程序和數(shù)據(jù)庫的鏈接,主要程序代碼如下:
cn.open"Driver={MicrosoftAccess Driver(*.mdb)};DBQ="&App.Path&"中間架.mdb"
rs.Open" 設(shè)計參數(shù)",cn,adOpenKeyset,adLock-Optimistic
(3)采用尺寸驅(qū)動的設(shè)計方法,在獲取參數(shù)后,利用Parameter對象鏈接模板中的尺寸變量,通過SystemValues屬性為其重新賦值。以上托輥安裝孔為例,主要代碼如下:
Part.Parameter("D1@陣列(線性)1"&strFile-Name).SystemValue=n1
Part.Parameter("D3@陣列(線性)1"&strFile-Name).SystemValue=ln1/1000
(4)為提高程序的運行效率,利用SwAddin對象創(chuàng)建插件并嵌入SolidWorks.通過SwAddin對象的ConnectToSW方法加載插件,并利用AddMenu、AddMenuItem2方法建立下拉式菜單,如圖4所示。主要代碼如下:
iSwApp.SetAddinCallbackInfo(0,Me,addinID)
Dim Title As String="中間架設(shè)計"
cmdIndex0=cmdGroup.AddCommandItem2("參數(shù)化設(shè)計",-1,"中間架設(shè)計","中間架設(shè)計",0,"PD","",mainItemID1,menuToolbarOption)
圖4 菜單加載效果圖
5.1 自動裝配設(shè)計方法
針對自動裝配,目前有以下3種常用的方法:(1)將頻繁用于配合的零部件保存成一個普通命名的配合參考,在裝配時可自動配合到多個實體中;(2)利用API函數(shù)操作零部件的平移、旋轉(zhuǎn)及定位,完成自動裝配;(3)利用API函數(shù)遍歷零部件所有的點、線、面,選擇參與配合的裝配特征并修改其特征屬性,通過添加配合關(guān)系實現(xiàn)自動裝配[7]。該方法與前兩種方法相比,適用范圍廣,靈活性強,本系統(tǒng)使用該方法進行中間架的自動裝配。
5.2 自動裝配流程
中間架的自動裝配,首先通過Sldworks對象創(chuàng)建裝配體文檔,利用ActiveDoc方法激活該文檔。運用OpenDoc6函數(shù)打開插入的零件并存入內(nèi)存,通過AddComponent函數(shù)將其添加到裝配體中,最后利用AddMate4函數(shù)添加配合,完成自動裝配流程[8]。
5.3 程序設(shè)計及關(guān)鍵技術(shù)
(1)SolidWorks裝配體是通過參考鏈接表達裝配關(guān)系,首先將裝配零部件載入內(nèi)存。程序設(shè)計時,運用OpenDoc6函數(shù)加載零部件信息,利用AddComponent函數(shù)將其加載到裝配文檔中。主要代碼如下:
Set Part=swApp.OpenDoc6("App.Path+""+"直型中間架.SLDPRT",1,0,"",longstatus,longwarnings)
boolstatus=swModel.AddComponent("App.Path+""+"直型中間架.SLDPRT",0,0,0)
(2)選定配合零件以及裝配特征。通過Select-ByID函數(shù)選擇裝配的零部件,順序為中間架→支腿→托輥→聯(lián)板;運用SelectFaceProperties函數(shù)遍歷所有面并命名,利用SelectComponentFaceByName函數(shù)根據(jù)命名選定配合面[8]。主要代碼如下:
boolstatus=swModel.SelectByID("中間架"+"@"+AssemblyName,"COMPONENT",0,0,0)
Call SelectComponentFaceByName("中間架"+"@"+AssemblyName,"surface11")
(3)SolidWorks中定義了20多種裝配關(guān)系,如何正確為零件添加裝配關(guān)系是設(shè)計的關(guān)鍵。在選定需添加配合的特征后,運用AddMate4函數(shù)依據(jù)預(yù)定設(shè)計添加配合關(guān)系。以中間架和支腿裝配為例,主要代碼如下:
Dim myMate As Object
Set myMate=Part.AddMate4(1,1,F(xiàn)alse,1,0,0, 0.001, 0.001, 1.5, 0.5, 0.5, False, False,longstatus)
為使系統(tǒng)便于操作,滿足人性化需要,利用Visual Basic 6.0提供的圖形對象建立人機交互界面,包括參數(shù)化設(shè)計界面和自動裝配界面,如圖5所示。參數(shù)化設(shè)計界面不僅可以方便的選擇、輸入?yún)?shù),還能直觀的查看參數(shù);通過自動裝配界面可以打開裝配文檔,根據(jù)用戶設(shè)計,選擇需要裝配零件的數(shù)量和類型。以B=1 000 mm的標(biāo)準(zhǔn)直型中間架為例,參數(shù)化生成中間架模型并安裝相應(yīng)的支腿,如圖6所示。
圖5 參數(shù)化設(shè)計界面
圖6 B=1 000mm應(yīng)用實例
基于SolidWorks的帶式輸送機中間架參數(shù)化設(shè)計系統(tǒng),不僅實現(xiàn)了帶式輸送機中間架的三維參數(shù)化設(shè)計,還可以根據(jù)用戶的需要實現(xiàn)相關(guān)零件的自動裝配。在實際應(yīng)用中,根據(jù)輸入的相關(guān)參數(shù),直接生成三維模型,準(zhǔn)確的反映出模型特征屬性,避免了大量的重復(fù)性建模工作,大大提高了設(shè)計效率。通過裝配可以反映出模型的干涉,提高了設(shè)計可靠性,降低了設(shè)計成本,這對帶式輸送設(shè)計技術(shù)的發(fā)展具有重大意義,成為未來發(fā)展的主要趨勢。
[1]韓素蘭,郭術(shù)義,趙俊龍,等.基于AutoLISP的帶式輸送機中間架生產(chǎn)圖圖庫的開發(fā)技術(shù)研究[J].華北水利水電大學(xué)學(xué)報(自然科學(xué)版),2015,36(5):89-92.
[2]邰金華,上官同英,孔垂雨.基于SolidWorks的帶式輸送機標(biāo)準(zhǔn)件庫二次開發(fā)[J].煤礦機械,2012,33(2):211-213.
[3]陳 毅.基于SolidWorks二次開發(fā)的齒輪參數(shù)化系統(tǒng)設(shè)計[J].機械制造與自動化,2009,38(1):26-28.
[4]王宗彥,曲昀卿.SolidWorks機械產(chǎn)品高級開發(fā)技術(shù)[M].北京:北京理工大學(xué)出版社,2012.
[5]張世化,韋 鐵.DTII(K)型帶式輸送機設(shè)計選型手冊(下冊)[M].焦作:焦作市科瑞森機械制造有限公司,2013:48-56.
[6]陳超群,胡其登.Solidworks高級裝配教程[M].北京:機械工業(yè)出版社,2014.
[7]田 源,王 欣,許 濱,等.基于SolidWorks二次開發(fā)的自動裝配技術(shù)研究與應(yīng)用[J].機械科學(xué)與技術(shù),2012,31(5):703-707.
[8]易炳剛,汪 雪.基于VB的SolidWorks自動裝配技術(shù)研究[J].機械工程與自動化,2013(1):94-96.
Parametric System Design of Belt Conveyor Middle Frame Based on SolidWorks
HAN Su-lan,LIU Xun
(North China University of Water Resources and Electric Power,Zhengzhou 450045,China)
For different forms and types of middle frame of the DTII(K)type belt conveyor,using Visual Basic 6.0 as development platform to secondary development the SolidWorks software.On the basis of analyzing the different type and variety of middle frame,use parameters driven design method to realize the parametric design of the middle frame.Using the API function provided by SolidWorks,through traversal features for parts to accomplish the automatic assembly of the middle frame.This system significantly improves the design efficiency and reduces the labor intensity of designer.
middle frame;SolidWorks;Visual Basic;parametric design;automatic assembly
TP319
A
1672-545X(2017)09-0200-04
2017-06-10
“帶式輸送機機架三維設(shè)計系統(tǒng)開發(fā)與應(yīng)用”橫向項目
韓素蘭(1965-),女,河南輝縣人,副教授,碩士,主要從事工程圖學(xué)與CAD/CAM方面的教學(xué)及研究。