季建華 管殿柱 李森茂 夏濤 趙大剛



摘要: ?針對傳統軸承開發工作存在的繁雜問題,本文以51000型單向推力球軸承為主要研究對象,借助Visual Basic 60開發工具,基于SolidWorks平臺對推力球軸承進行二次開發,解決了SolidWorks宏錄制過程中設計點選擇問題,實現了VBA向VB的代碼轉換。針對SolidWorks軟件特點及推力球軸承結構,建立零件三維模型,并借助VB語言通過SolidWorks平臺,建立人機交互界面,實現三維參數化建模。同時,選用Access作為數據庫,建立人機交互界面和標準推力球軸承數據庫,實現了標準和非標準推力球軸承的三維參數化建模。研究結果表明,借助Access數據庫,設計者選擇推力球軸承型號后,即可進行三維參數化設計,提高了設計效率,縮短了產品研發周期。該研究對SolidWorks平臺上其它零件開發及圖庫設計具有一定的借鑒意義。
關鍵詞: ?SolidWorks; 推力球軸承; 二次開發; Access數據庫
中圖分類號: TH133.33; TP391.9 文獻標識碼: A
基金項目: 國家重點研發計劃項目(2017YFC140510)
滾動軸承是現代機械設計中應用廣泛的部件之一,它主要依靠元件間的滾動接觸來支撐零件轉動,達到減小摩擦、提高旋轉精度的目的[1]。推力球軸承一般是可分離型軸承,主要承受軸向載荷,多用于重吊鉤、千斤頂、離心機等低速場合[2]。采用傳統方法設計的滾動軸承,計算量大,后續修改困難,無法滿足現代設計要求。因此,國內外專家多數以標準軸承參數化建模為主,對軸承進行二次開發。黃烈文等人[3-5]采用SolidWorks軟件中的應用程序接口(application program interface,API),通過VB編程設計了軸承建模軟件,實現了軸承設計自動化;黃秀琴等人[6-9]借助VB語言,使用Access數據庫進行SolidWorks的二次開發,建立了三維滾動軸承標準件庫;Zhang L等人[10]通過使用CATIA二次開發,建立了電磁軸承零件庫;U.Farhan等人[11]基于VB語言,利用SolidWorks進行MF(模塊化夾具)二次開發;郭忠亮等人[12]利用UG和Open MenuScript技術,實現了軸承的二次開發;黃啟斌等人[13]運用VB語言和ANSYS軟件,解決了關節軸承參數化設計與結構分析問題。由此可知,國內外研究者大都致力于標準軸承二次開發,對于有特定用途的非標軸承研究較少,與數據庫的結合較少?;诖?,本文以單向推力球軸承為研究對象,借助VB語言對SolidWorks進行二次開發,實現了標準和非標推力球軸承的三維參數化建模。同時,建立了51000型推力球軸承數據庫,實現了Access與SolidWorks二者的連接。該研究較好地實現了推力球軸承的三維參數化設計,縮短了設計周期,提高了設計效率。
1SolidWorks二次開發機理
SolidWorks是一款設計功能強大、界面友好的三維設計軟件,基于特征選型的參數化造型功能,為設計者提供了良好的開發環境[14]。SolidWorks二次開發是以SolidWorks系統為基礎平臺,在其提供的開發環境與編程接口基礎上,研發符合相關標準和企業需求的專業化、集成化軟件的過程[15]。
借助SolidWorks實現三維參數化設計有兩種方法:一是基于自動化技術,利用EXE形式程序進行開發,此方法簡單易行,無需編程,自動化程度不高;二是基于組件對象模型(component object model,COM)接口,使用SolidWorks API進行開發[16]。SolidWorks提供了大量API函數用于二次開發,利用API將功能封裝在對象之中,供編程調用[17]。
設計者可根據自身需求選擇合適的開發工具,如VC、VB、VBA、Delphi等語言,通過定義對象屬性和調用方法建立應用程序,實現二次開發[18]。VB是一種功能齊全、使用簡捷的可視化編程語言,廣泛應用于SolidWorks二次開發。因此,本文選擇VB語言,利用API函數進行推力球軸承二次開發。
2三維參數化建模關鍵問題研究
2.1軸承模型分析
推力球軸承由鋼球、軸圈、座圈和保持架4部分組成,推力球軸承結構圖如圖1所示。鋼球在軸圈和座圈間旋轉,軸圈內徑與軸緊密配合,座圈外徑與設備殼體配合,徑與軸有間隙。軸承軸圈與座圈可分別安裝在軸與殼體中,組裝設備時再合為一體[19]。針對SolidWorks軟件特點及推力球軸承結構,采用兩種方式建立零件三維模型:軸圈和座圈等部分主要通過旋轉凸臺/基體、旋轉切除等命令實現;鋼球和保持架等部分主要通過拉伸凸臺/基體、拉伸切除、圓周陣列等命令實現。
根據推力球軸承結構,確定軸承主要尺寸計算方法。按照《中華人民共和國國家標準》選用GB/T 301—2015滾動軸承推力球軸承參數表[20]作為推力球軸承三維模型設計尺寸依據,選用公稱接觸角60°的單向推力球軸承進行三維參數化設計。推力球軸承外形尺寸如圖2所示。
圖2中,D為外徑;d為軸圈內徑;D1為座圈內徑;T為公稱高度;r為圓徑已標準化,參照上述國家標準規定,計算鋼球數量和保持架尺寸[21]。
滾動體數量為
Dw=0.5T,Dcp=(D+d)/2,Z=πDcp/KDw
式中,K為保持架兜孔間距系數;Dw為滾動體直徑;Dcp為滾動體組中心圓直徑;Z為滾動體數量。
保持架尺寸分別為
Db=D-ε1,db=d+ε2,Hb=0.5 Dw
式中,Db為保持架外徑;db為內徑;Hb為高度; ε1為保持架外徑小于軸承外徑的間隙量;ε2為保持架內徑與軸或者軸承內徑的間隙量。
通過對推力球軸承結構的分析,確定了推力球軸承類型及相關參數計算方法,提出了三維模型建立方式,為后續參數化建模打下基礎。
2.2三維參數化建模實現
軸承三維參數化建模主要借助VB語言通過SolidWorks平臺,建立人機交互界面實現。使用VB程序自動獲取模型的設計變量,在VB窗體界面輸入變量,生成新的軸承三維模型。具體如下:
1)在SolidWorks軟件中,建立推力球軸承三維實體模型。建模過程做到簡潔有效,借助軟件中自帶的宏錄制功能,記錄建模過程,利用軟件自帶應用程序的VBA(visual basic for applications,VBA)功能,得到參數化建模的基礎代碼。
2)在VBA中創建設計者窗體,添加窗體界面所需控件,并修改控件的屬性和名稱等內容。檢查宏錄制生成的代碼,刪掉無效代碼。選取模型關鍵參數設置變量,修改宏錄制中的基礎代碼,實現軸承關鍵尺寸參數化。本設計定義變量類型為雙精度浮點型變量[21]。此外,宏錄制中默認變量單位為m,因此需將變量值除以1 000,將mm轉化為m。參數變量表如表1所示。
此外,在執行VBA程序自動建模過程中,會出現無法正確選擇設計點的問題。一般可通過打開或關閉SolidWorks軟件中的草圖自動捕捉功能解決。具體代碼如下:
swApp.SetUserPreference Toggle swUserPreference Toggle_e.swSketchInference,True
swApp.SetUserPreference Toggle swUserPreference Toggle_e.swSketchInference,False
3)VBA中的程序具備建模功能后,設計者可進行編寫調試、優化編程語句,刪掉無用語句和采用更簡單的建模過程等方式使程序語言精煉,表達準確,提高效率。
4)程序調試無誤后,將VBA中的程序適當修改后轉入VB中運行。此外,不同于VBA,VB程序運行環境獨立于SolidWorks,因此需要進行二者連接,具體代碼如下:
Dim swApp As Object
Set swApp = CreateObject("sldworks.application")
通過上述代碼可以連接SolidWorks接口,使調用API成為可能[22-23]。通過以下代碼可以創建新零件:
swapp.Visible (True)
Set Part = swapp.ActiveDoc
5)在VB中添加功能控件,創建人機交互界面,參數化建模窗體界面如圖3所示。設計者可自行輸入參數進行非標推力球軸承參數化繪制。
3數據庫建立與設計
3.1數據庫建立
Access屬于Microsoft office系列,是一種關系型數據庫管理系統,可提供各種向導和控件,能夠儲存和檢索數據,因其豐富的功能和直觀便捷的操作而得到廣泛應用,擁有堅實的市場基礎[24]。由于推力球軸承各項參數已經標準化,因此選用Access作為數據管理工具,建立符合國標要求的51000型推力球軸承數據庫。通過窗體界面輸入軸承型號,可自動獲得軸承外徑、座圈內徑、公稱高度等各項參數,極大地提高了設計效率。
3.2數據庫設計
軸承數據庫可通過Access平臺,借助VB語言建立人機交互界面實現。首先在Access中建立51000型推力球軸承數據庫bearing1,以軸承型號為查找字段,按照GB/T 301—2015滾動軸承推力球軸承參數表進行查找,準確輸入型號為5110051436的推力球軸承各項參數,保證查找字段的唯一性,實現對數據的增添刪改等功能,便于后期拓展。51000型軸承數據庫如圖4所示。
其次,在VB中編程,以實現VB與Access的二者連接,調試程序功能和生成工程文件,實現數據庫的查詢功能。通過窗體界面,輸入軸承型號即可得到相應參數,點擊“創建軸承”即可完成軸承標準化建模。窗體界面如圖5所示。此外設計者還可根據設計需要修改某些參數實現非標設計。借助Access數據庫,設計者選擇推力球軸承型號后即可進行三維參數化設計,省去了輸入參數的麻煩,提高了設計效率。
4結束語
本文以單向推力球軸承為研究對象,借助VB語言實現了SolidWorks二次開發,解決了SolidWorks宏錄制過程中設計點選擇問題和VBA與VB編程語言轉換問題。通過交互輸入界面,實現了標準和非標推力球軸承的三維參數化建模。此外,借助Access軟件建立了51000型推力球軸承數據庫,提高了標準推力球軸承的設計效率。本文較好地實現了非標推力球軸承三維建模與標準推力球軸承的數據庫建立。因時間有限,本文僅建立了51000型單向推力球軸承數據庫,并未建立雙向及其他型號的推力球軸承數據庫。參照上述方法,結合實際工業生產需要,可進行軸承數據庫拓展或進行聯軸器等特定零件二次開發,這將大大提高零件設計效率,縮短產品研發周期。該研究對SolidWorks平臺上其它標準件、常用件和專用零件開發及圖庫設計具有一定的借鑒意義。
參考文獻:
[1]濮良貴, 陳國定, 吳立言. 機械設計[M]. 北京: 高等教育出版社, 2013.
[2]劉澤九, 賀士荃. 滾動軸承的額定載荷與壽命[M]. 北京: 機械工業出版社, 1982.
[3]張晉西, 程亭森, 袁騰飛, 等. SolidWorks Simulation 二次開發在輪轂軸承中的應用[J]. 重慶理工大學學報: 自然科學版, 2016, 30(8): 3135.
[4]黃烈文, 王杰, 李祥. 基于SolidWorks的可傾瓦推力軸承的二次開發[J]. 機械, 2015, 42(9): 1416.
[5]Li W Q, Niu Z J, Xu J. Rotary liner hanger bearing roller modeling and modification based on solidworks secondary development[J]. International Conference on Modelling, Simulation and Applied Mathematics, 2015: 2324.
[6]黃秀琴. 基于SolidWorks的滾動軸承三維標準件庫的開發[J]. 常州工學院學報, 2009, 22(3): 69.
[7]毛文武, 鄔國軍. 基于SolidWorks的滾動軸承三維參數化圖庫開發[J]. 包裝工程, 2008, 29(12): 143145.
[8]Reddy E J, Sridhar C N Y, Rangadu V P. Research and development of knowledge based intelligent design system for bearings library construction using solidworks API[J]. Intelligent Systems Technologies and Applications, 2015, 385: 311319.
[9]Titus A, Liu X B. Secondary development of solid works for standard components based on database[J]. International Journal of Science and Research, 2013, 2(10): 162164.
[10]Zhang L, Yu M Y, Ren Y F. Applied CATIA secondary development to parametric design of active magnetic bearing[J]. MATEC Web of Conferences, 2016, 77: 3437.
[11]Farhan U H, O′Brien S, Rad M T. SolidWorks secondary development with visual basic 6 for an automated modular fixture assembly approach[J]. International Journal of Engineering, 2012, 6(6): 290304.
[12]郭忠亮, 白鳳梅, 姚磊. 基于UG二次開發的軸承參數化建模[J]. 赤峰學院學報: 自然科學版, 2018, 34(7): 8284.
[13]黃啟斌, 楊曉翔, 鄧道林. 基于VB 的ANSYS 二次開發及其在關節軸承結構分析中的應用[J]. 機械制造與自動化, 2015 (1): 149151.
[14]吳權威. SolidWorks2003中文版實務[M]. 北京: 科學出版社, 2004.
[15]李大磊, 趙玉奇, 張志林. SolidWorks高級功能與工程應用[M]. 北京: 北京郵電大學出版社, 2009.
[16]吳央芳, 李江雄, 柯映林. 基于SolidWorks的級進模標準件庫的建立[J]. 模具工業, 2002 (10): 1014.
[17]江洪, 李仲. SolidWorks2003二次開發基礎與實例教程[M]. 北京: 電子工業出版社, 2003.
[18]殷國富, 刁燕, 蔡長韜. 機械CAD/CAM技術基礎[M]. 武漢: 華中科技大學出版社, 2010.
[19]中國軸承工業協會人力資源職業教育工作委員會編. 軸承裝配工藝[M]. 鄭州: 河南人民出版社, 2006.
[20]中華人民共和國國家質量監督檢驗檢疫總局, 國家標準化管理委員會. GB/T 3012015滾動軸承推力球軸承外形尺寸[S]. 北京: 中國標準出版社, 2015.
[21]田萍芳, 劉瓊, 張志輝. Visual Basic程序設計教程[M]. 北京: 中國鐵道出版社, 2014.
[22]SolidWorks二次開發實例解析[M]. 北京: 機械工業出版社, 2004.
[23]魏代善, 管殿柱, 牛雪倩. 基于SolidWorks的盤形凸輪二次開發[J]. 青島大學學報: 自然科學版, 2015, 28(3): 7075.
[24]趙曉峰. 數據庫原理與運用基礎教程[M]. 北京: 對外經濟貿易大學出版社, 2014.
作者簡介: ?季建華(1996),男,碩士研究生,主要研究方向為數字化設計與虛擬樣機技術。
通信作者: ?管殿柱(1969),男,教授,主要研究方向為數字化設計與虛擬樣機技術。 Email: gdz_zero@126.com
Secondary Development of Thrust Ball Bearing Based on SolidWorks
JI Jianhua1, GUAN Dianzhu1, LI Senmao1, XIA Tao2, ZHAO Dagang1
(1. College of Mechanical and Electrical Engineering, Qingdao University, Qingdao 266071, China;
2. Key Laboratory of Marine Ecological Environment Science and Technology, MNR, Qingdao 266061, China)
Abstract: ?In view of the complicated problems in the traditional bearing development work, this article takes the 51000 oneway thrust ball bearing as the main research object. With the help of Visual Basic 6. 0 development tools, and based on the SolidWorks platform, and the secondary development of the thrust ball bearing, it solves the problem of designed point selection in the process of SolidWorks macro recording, and realizes the code conversion from VBA to VB. According to the characteristics of the SolidWorks software and the thrust ball bearing structure, a threedimensional model of the part is established, and a humancomputer interaction interface is established through the SolidWorks platform with the help of VB language to realize threedimensional parametric modeling. At the same time, select Access as the database, establish the humancomputer interaction interface and the standard thrust ball bearing database, realize the threedimensional parametric modeling of standard and nonstandard thrust ball bearings, and with the help of the Access database, the designer can select the thrust ball bearing model. Carrying out threedimensional parametric design improves design efficiency and shortens the product development cycle. This research has certain reference significance for other parts development and library design on the SolidWorks platform.
Key words: SolidWorks; thrust ball bearing; secondary development; Access database