季建华 管殿柱 李森茂 夏涛 赵大刚
摘要: 针对传统轴承开发工作存在的繁杂问题,本文以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