基于Solidworks二次開(kāi)發(fā)的活塞壓縮機(jī)零件參數(shù)化設(shè)計(jì)
2013-05-07 by:廣州有限元分析、培訓(xùn)中心-1CAE.COM 來(lái)源:仿真在線
作者: 白亮亮*唐良寶 來(lái)源: 萬(wàn)方數(shù)據(jù)
利用visual basic6. 4來(lái)開(kāi)發(fā)Solidworks,建立一個(gè)活塞壓縮機(jī)零件的參數(shù)化建模體系,并通過(guò)實(shí)例說(shuō)明具體設(shè)計(jì)的方法,達(dá)到縮短活塞壓縮機(jī)設(shè)計(jì)周期的目的,比較基于proe二次開(kāi)發(fā)的參數(shù)化設(shè)計(jì)方法,利用visual basic6. 4來(lái)開(kāi)發(fā)Solidworks更容易操作。
0引言
活塞壓縮機(jī)是通用機(jī)械,在化工、制冷等領(lǐng)域有著廣泛的應(yīng)用。在對(duì)活塞壓縮機(jī)進(jìn)行系列設(shè)計(jì)過(guò)程中,經(jīng)常會(huì)重復(fù)用到結(jié)構(gòu)相同或相似而尺寸不同的一些零件,如活塞、連桿、連桿螺栓等。傳統(tǒng)的設(shè)計(jì)方法是將每個(gè)零件都單獨(dú)設(shè)計(jì),占用了設(shè)計(jì)人員大部分的時(shí)間和精力,嚴(yán)重影響了新產(chǎn)品的開(kāi)發(fā)周期,從而制約了企業(yè)的技術(shù)進(jìn)步和持續(xù)發(fā)展。隨著CAD技術(shù)在企業(yè)中應(yīng)用的不斷深人,各種CAD設(shè)計(jì)軟件得到了廣泛的應(yīng)用。Solidworks軟件是Solidworks公司推出的世界上第一個(gè)專門在windows環(huán)境下進(jìn)行機(jī)械設(shè)計(jì)的三維CAD軟件,Solidworks軟件提供完整的、免費(fèi)的開(kāi)發(fā)工具(API ),用戶可以用微軟的Visual Basic, Visual C++或其它支持OLE的編程語(yǔ)言建立自己的應(yīng)用方案,從而實(shí)現(xiàn)參數(shù)化設(shè)計(jì)的目的,有效縮短產(chǎn)品的設(shè)計(jì)周期。本文通過(guò)Solidworks的二次開(kāi)發(fā)技術(shù),研究分析了活塞壓縮機(jī)主要零件的參數(shù)化設(shè)計(jì)。
1 Solidworks二次開(kāi)發(fā)技術(shù)
SolidWorks軟件支持OLE標(biāo)準(zhǔn),可以通過(guò)軟件中提供的完整的、免費(fèi)的二次開(kāi)發(fā)工具一SolidWorksAPI應(yīng)用程序編程接口)完全實(shí)現(xiàn)OLE自動(dòng)化。
SolidWorks API是SolidWorks的OLE編程接口,為程序員提供了大量的OLE對(duì)象以及對(duì)其所擁有的方法、屬性和事件(如圖1)。程序員可以在通用的開(kāi)發(fā)平臺(tái),如Visual Basic,VBA,Visual C ++和Delphi中對(duì)這些OLE對(duì)象及其方法和屬性進(jìn)行操作,從而在自己開(kāi)發(fā)的應(yīng)用軟件中實(shí)現(xiàn)諸如生成直線、構(gòu)造實(shí)體、檢查曲面表面參數(shù)等幾乎所有SolidWorks軟件的現(xiàn)有功能。
其中最為常用的是ModelDoc2對(duì)象,此對(duì)象屬于模型層,是SolidWorks的子對(duì)象,用ModelDoc2對(duì)象可以實(shí)現(xiàn)視圖設(shè)置、輪廓線修改、參數(shù)控制、對(duì)象選擇/打開(kāi)和保存文檔、生成編輯特征參量、生成框架等與實(shí)體模型相關(guān)的各種操作。
任何支持OLE和COM的編程語(yǔ)言都可以作為SolidWorks的開(kāi)發(fā)工具。最簡(jiǎn)單的二次開(kāi)發(fā)工具是VBA,在涉及Excel時(shí)用VBA最為方便,VBA常用于錄制宏,得到基本程序框架。易學(xué)易用的高級(jí)開(kāi)發(fā)語(yǔ)言是VB,但功能有限。功能強(qiáng)大的語(yǔ)言是Visual C ++,但是人門較難。Delphi集中了VB和Visual C++兩者的優(yōu)點(diǎn),學(xué)習(xí)過(guò)程中很容易上手,而且功能也非常強(qiáng)大,尤其在界面設(shè)計(jì)、數(shù)據(jù)庫(kù)編程和網(wǎng)絡(luò)編程方面更具有獨(dú)到之處,但遺憾的是SolidWorks常常不支持Delphi + OLE??傊?各種軟件都有各自的特點(diǎn)與不足,設(shè)計(jì)人員根據(jù)需要和要求選擇合適的開(kāi)發(fā)工具。
2利用VB開(kāi)發(fā)的過(guò)程
本文通過(guò)VB編程軟件來(lái)對(duì)Solid`Vorks進(jìn)行二次開(kāi)發(fā),所以主要介紹VB的開(kāi)發(fā)過(guò)程,具體的過(guò)程如下:
(1)確定能反映零件特征的尺寸參數(shù)作為主要參數(shù),并以此作為設(shè)計(jì)變量,同時(shí)確定尺寸相互關(guān)系。
(2)提出設(shè)計(jì)意圖,分析將要建立的模型,打開(kāi)VB程序設(shè)計(jì)軟件,根據(jù)設(shè)計(jì)意圖創(chuàng)建窗體界面,創(chuàng)建程序主界面。
(3)基于VB的。olidworks二次開(kāi)發(fā),最重要的是程序代碼的編寫。代碼可以完全由開(kāi)發(fā)者寫人,即完全用程序?qū)崿F(xiàn)三維模型的參數(shù)化設(shè)計(jì)以及模型的編輯,這種方法編程較為復(fù)雜,但可以實(shí)現(xiàn)對(duì)具有復(fù)雜形體的零件造型,這種方法要求開(kāi)發(fā)者對(duì)solidworks API函數(shù)非常熟悉,但是solidworks API函數(shù)有幾百個(gè)之多,對(duì)于初學(xué)者往往不容易掌握。一個(gè)簡(jiǎn)單實(shí)用的方法是先錄制使用solidworks用戶界面執(zhí)行的操作,即錄制宏,獲得宏操作代碼,將其復(fù)制添加到程序所需部分,然后編輯修改以達(dá)到程序要求,通過(guò)程序驅(qū)動(dòng)設(shè)計(jì)變量實(shí)現(xiàn)模型的建立和更新,這種方法編程較簡(jiǎn)單,通用性好。
(4)通過(guò)給出不同的系列尺寸來(lái)自動(dòng)生成零件的三維模型,從而任意實(shí)現(xiàn)類似零件三維模型的創(chuàng)建。
3實(shí)例分析
活塞壓縮機(jī)的零件數(shù)量較多,可以將主要零部件和常用的標(biāo)準(zhǔn)零部件分別建立數(shù)據(jù)庫(kù),方便設(shè)計(jì)人員使用和添加擴(kuò)充零件模型數(shù)量。這里僅對(duì)活塞壓縮機(jī)中的活塞件的設(shè)計(jì)過(guò)程舉例分析。
3. 1基本參數(shù)確定
活塞壓縮機(jī)中采用的活塞基本結(jié)構(gòu)型式有:筒形、盤形、級(jí)差式、組合式、柱塞式等。本文以全封閉式壓縮機(jī)無(wú)環(huán)部筒形活塞為例分析參數(shù)化設(shè)計(jì)過(guò)程。
零件的實(shí)體建模,要求對(duì)實(shí)體進(jìn)行系列化的參數(shù)化設(shè)計(jì)。根據(jù)實(shí)體的外形尺寸來(lái)選擇適當(dāng)?shù)膮?shù)變量作為主要參數(shù)。如圖2所示筒形活塞的基本參數(shù)為:活塞直徑D、活塞銷外徑d、連桿寬度B等基本參數(shù)確定。
其它尺寸要素可以通過(guò)關(guān)系表達(dá)式確定。具體幾何關(guān)系表達(dá)式如下
活塞高度:H=CH·D
活塞銷中心線高度:H1=CH1 · H
筒形活塞內(nèi)徑分別為D1 = D-20,D2=D-10
活塞端面厚度;t=0.05xD
其中CH,CH1分別為活塞高度系數(shù)和活塞銷中心線高度系數(shù),其中CH取值范圍0.6~1.3,CH1的取值范圍0. 4~0.5。
3. 2程序界面
運(yùn)用VB可以方便的建立程序的主界面如圖4所示,設(shè)計(jì)人員只需要在輸人參數(shù)部分輸人相應(yīng)的參數(shù),默認(rèn)情況下,零件的參數(shù)如表1所示,活塞其它尺寸參數(shù)與輸人參數(shù)之間的關(guān)系在輸人參數(shù)下方有說(shuō)明,然后點(diǎn)擊創(chuàng)建就可以建立所要求的零件模型。
3. 3程序代碼的編寫
對(duì)于程序代碼的編寫,簡(jiǎn)單實(shí)用的方法是先錄制使用Solidworks用戶界面執(zhí)行的操作,即錄制宏,獲得宏操作代碼,將其復(fù)制添加到程序中"創(chuàng)建"控件的click事件下,然后在代碼中找到定義實(shí)體模型的尺寸值,用對(duì)應(yīng)的尺寸參數(shù)代替這些尺寸值。編輯修改以達(dá)到程序要求,通過(guò)程序驅(qū)動(dòng)設(shè)計(jì)變量實(shí)現(xiàn)模型的建立和更新,這種方法編程較簡(jiǎn)單,通用性好。具體代碼如下:
以上是模型創(chuàng)建的第一步的程序代碼,其余的程序代碼與此類似,無(wú)論是錄制宏,獲得宏操作代碼,然后將其復(fù)制添加到程序所需部分編輯修改以達(dá)到程序要求,還是自己編譯程序代碼都要有以上的格式才能夠運(yùn)行。
3. 4程序運(yùn)行結(jié)果
運(yùn)行程序,輸人相應(yīng)的參數(shù),點(diǎn)擊"尺寸計(jì)算",程序根據(jù)參數(shù)的約束關(guān)系表達(dá)式計(jì)算出其它的尺寸參數(shù),然后點(diǎn)擊"創(chuàng)建"建立與用戶輸入?yún)?shù)相對(duì)應(yīng)的零件模型。創(chuàng)建的零件模型如圖4。
4總結(jié)
本文通過(guò)VB對(duì)中檔建模軟件solidworks進(jìn)行二次開(kāi)發(fā),結(jié)合活塞壓縮機(jī)設(shè)計(jì)的實(shí)際應(yīng)用,實(shí)現(xiàn)了活塞壓縮機(jī)零件設(shè)計(jì)過(guò)程的參數(shù)化、白動(dòng)化。有效的縮短壓縮機(jī)的開(kāi)發(fā)和設(shè)計(jì)周期,大大的提高了工作效率,也使操作更加的簡(jiǎn)單方便。而且為壓縮機(jī)進(jìn)一步的CAE設(shè)計(jì)提供3D模型。
運(yùn)用solidworks二次開(kāi)發(fā)技術(shù)有以下特點(diǎn):
(1)同樣可以實(shí)現(xiàn)零件的參數(shù)化設(shè)計(jì),對(duì)于壓縮機(jī)設(shè)計(jì)人員,運(yùn)用VB開(kāi)發(fā)solidworks的方法更容易上手,能縮短參數(shù)化設(shè)計(jì)時(shí)間,提高效率;
(2)對(duì)于生成的三維零件,在solidworks中可以很方便的生成工程圖。
相關(guān)標(biāo)簽搜索:基于Solidworks二次開(kāi)發(fā)的活塞壓縮機(jī)零件參數(shù)化設(shè)計(jì) Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) Abaqus培訓(xùn) Autoform培訓(xùn) 有限元培訓(xùn) Solidworks培訓(xùn) UG模具培訓(xùn) PROE培訓(xùn) 運(yùn)動(dòng)仿真