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