SolidWorks Simulation二次开发在轮毂轴承中的应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SolidWorks Simulation二次开发在轮毂轴承中的应用张晋西;程亭森;袁腾飞;饶贝
【摘要】采用SolidWorks Simulation提供的二次开发接口,用VBA语言建立了轮毂轴承有限元参数化分析系统。
对于难以掌握的SolidWorks有限元内部插件simulation进行面向对象设计、后台封装和编程,实现了在SolidWorks中对轮毂轴承进行有限元分析,并把结果导入Excel中进行分析。
该方案使轴承的有限元设计简单易行,为将轮毂轴承的三维建模与有限元分析紧密结合进行了有效尝试。
【期刊名称】《重庆理工大学学报》
【年(卷),期】2016(030)008
【总页数】5页(P31-35)
【关键词】SolidWorks Simulation 二次开发轮毂轴承 Excel
【作者】张晋西;程亭森;袁腾飞;饶贝
【作者单位】重庆理工大学机械工程学院,重庆400054
【正文语种】中文
【中图分类】TH16
从SolidWorks2009开始,FEA插件COSMOSWorks更名为SolidWorks Simulation,可无缝接入SolidWorks中,使得SolidWorks能提供设计、仿真、分析的一体化解决方案。
虽然Simulation的功能强大,但要在企业中发挥作用,让重复性的工作自动化,就得在本地使用Simulation二次开发。
此外,普通的设计人员在无需更换设计软件的情况下就能进行有限元分析。
本文基于轮毂轴承外部
载荷的计算,应用Simulation二次开发自动进行有限元分析,在改变工况时只需改变几个参数就能迅速分析出轮毂轴承是否满足功能,从而大大提高了效率。
目前有关Simulation二次开发的研究较少,仅仅论述了一般流程,没有有关关键技术的论述[1]。
而轮毂轴承的分析大都基于Ansys、Abaqus等专业软件,操作复杂,甚至需要记忆命令流,普通的设计人员无法分析,必须通过专业的分析工程师。
更重要的是,当分析结果不满足要求时,需要多次在CAD软件中修改,不停地在CAD和CAE软件之间进行数据交换,效率极低。
而一般的分析使用SolidWorks Simulation就能满足要求,无需使用复杂的CAE软件。
因此,本研究对于缩短产品设计周期、减少工程师的劳动量、在CAD软件上提供CAD/CAE 一体化解决方案方面有着重要的意义。
SolidWorks Simulation (以下简称Simulation)API 是Simulation的一种OLE 程序接口,通过这个接口能完成算例定义、运行分析、后处理等。
可以用VBA、、C++6.0、C++.NET 和C#.NET调用Simulation API的一些函数,这些函数可以直接操纵Simulation的工作环境。
Simulation API提供了对象的功能,包括相关的类型、方法和属性,其部分结构关系见图1。
可以看出:该结构关系是一个从上而下的多层次树形网状结构。
Sldworks是最顶层的SolidWorks程序对象[2],CosmosWorksLib是Simulation的顶层对象,程序开发者可通过这些接口编写自己的程序来操纵SolidWorks及Simulation。
与SolidWorks二次开发工具一样,支持OLE的编程工具就可以使用,如VBA、、C++6.0、C++.NET和C#.NET,设计人员可根据自己掌握的情况进行选择。
VBA(visual basic for applications)是VB的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
VBA具备VB的所有优点,是一种可视化编程、可方便制作程序界面、采用面向对象的思想、相对其
他语言较容易掌握的一门语言。
本文采用VBA作为编程工具。
与采用SolidWorks进行二次开发不同的是:参数化设计可通过宏语言来录制[2],再对宏语言进行改进和优化即可,工作量相对较小。
但Simulation 的相关操作无法进行宏录制,目前只能完全通过手工实现。
3.1 Simulation二次开发的流程
图2为Simulation分析的流程,从建立算例到最后的后处理共分为8个步骤。
图3为产品设计流程,根据分析的结果,若不满足则更改设计继续分析。
3.2 轮毂轴承Simulation二次开发关键技术
关键技术包含约束自动加载、载荷自动加载、网格质量、结果数据自动化处理等。
采用Simulation二次开发技术比直接使用Simulation的方便之处在于:一是当
轿车的参数发生改变后,无需重新计算轴承的径向力、轴向力及扭矩;二是当装配体更改,甚至重新建模后,无需再进行Simulation手动加载;三是对同一个系列的轮毂轴承在仅有尺寸不一样时,无需对每一个轮毂轴承进行Simulation手动加载。
编写一次Simulation二次开发的程序所用的时间显然比一次手动Simulation 所用的时间多,但是其复用率高,可多次使用。
文献[3]基于理论计算的方法和轿车线性化刚体运动的稳态转弯模型对轮毂轴承外
部载荷进行推导计算,进而对轴承外部载荷的特性进行了分析[3]。
本文以此推导
结果为例介绍Simulation二次开发的关键技术,其中约束、载荷的具体加载方式本文将进行具体论述。
3.2.1 约束的加载
轮毂轴承是轴对称结构,为了快速计算只取其一半进行分析,对称面添加对称约束,螺栓孔添加全约束[4]。
其中,添加约束要使用study对象里的LoadsAndRestraintsManager对象下的AddRestraint方法。
该方法的第1个参数表示约束类型,若该参数的类型是枚举类型,有swsRestraintTypeFixed(固定
约束)、swsRestraintTypeImmovable(禁止移动约束)、swsRestraintTypeSymmetric(对称约束)等10种约束类型。
其中,对称面添加对称约束的代码如下:
Dim larMgr As CosmosWorksLib.CWLoadsAndRestraintsManager‘定义载荷与约束管理对象
Dim restraint As CosmosWorksLib.CWRestraint ‘定义约束对象
Set larMgr=study.LoadsAndRestraintsManager ‘给载荷与约束管理对象赋值Set restraint=larMgr.AddRestraint(2,(varArray1),Nothing,errCode) ‘生成对称约束
其中,varArray1是用pid collector工具选取的约束面。
3.2.2 载荷的加载
某轿车整车参数见表1。
外部载荷通过轮胎作用于轮毂轴承,对于后轴轮毂轴承,取其径向和轴向较大的一侧[4]。
由于轴向载荷不通过轮毂轴承中心,根据力的等效原理将其移动到轮毂轴承中心,同时附加1个等效力矩[5]。
式中:Fz为径向载荷,方向为垂直向上;Fy为轴向载荷,负号表示方向由轮胎的外侧指向内侧;M为轴向载荷平移后的等效力矩;m为满载时后轴质量(kg) ;H 为轿车质心高度(mm) ;T为后轴轮距(mm); g为重力加速度,取值为9.81
m/s2;ag为侧向加速度,取最大值为0.55 g。
对受力的结果进行了封装,部分函数如下:
Function Fz1(w As Double, g As Double, h As Integer, t As Double) As Integer
Fz1=w/4*g*(1+2*h/t*0.55)
End Function
Function Fy1(w As Double, g As Double, h As Integer, t As Double) As
Integer
Fy1=w/4*g*(0.55*0.55*2*h/t+0.55)
End Function
根据计算结果,对其内滚道和外滚道加载力和力矩需用到LoadsAndRestraintsManager下面的addForce3函数。
方法后面加数字表示对该方法进行了改进。
其中,内滚道加载等效轴向载荷的部分代码如下:
Dim cwForce As CosmosWorksLib.cwForce ‘定义载荷对象
Set cwForce=larMgr.AddForce3(0,0,1,0,0,_
0,Nothing,Nothing,False,False,_
0,0,4,0,(forceArray),_
True,False,(varArray1),pDisp3,False,errCode)
AddForce3共有21个参数,主要参数介绍如下:第1个参数为力的类型,0表
示力或力矩;第2个参数为选择类型,即受力实体的选择类型,0表示为选择面边点或顶点;第3个参数为受力方向的类型,1表示受力方向参考的为边;第9个
参数表示载荷是否均匀分布;第13个参数为加载的方向;第14个参数为扭矩的值;第15个参数forceArray为力的大小数组;第16个参数为力的方向是否反转;第17个参数表示梁是否为弯梁;第18个参数varArray1为受力面;第19个参
数pDisp3为力的参考方向。
剩下未提及的参数大都与梁beam设置有关,只有
在某些特定情况下才会生效,比如第4个参数只有在第11个参数为2时才会生效。
3.2.3 划分网格并进行分析
设置好材料、约束、载荷后就可划分网格进行分析了,其中也有网格类型与质量的处理,质量的好坏与计算的速度呈负相关。
本例的相关代码如下:
Dim cwMesh As CosmosWorksLib.cwMesh ‘定义网格接口对象
Set cwMesh=study.Mesh ‘为网格对象赋值
cwMesh.Quality=1 ‘网格的质量设置为1
Call
cwMesh.GetDefaultElementSizeAndTolerance(swsLinearUnitMillimeters,el,tl) ‘获取默认的网格单元大小和公差,并将其赋值给el,tl,,其中第一个参数为网格长度单位,本例中设置为mm。
errCode=study.CreateMesh(swsLinearUnitMillimeters,el,tl) ‘调用study对象的划分网格函数,进行划分,并将上面得到的el和tl传入。
errCode=study.RunAnalysis ‘划分好网格之后,进行计算
4.1 人机交互界面
图4为参数法分析界面,在给零件选择材料的同时也能看到零件的主要参数。
如
有出入可进行修改,也可添加新的材料,之后还要输入车辆相关参数,最后点击“计算”按钮即可进行分析。
分析完成后,会出现分析成功后的对话框来提示用户分析完成。
4.2 后处理
计算完毕后,需要对结果进行处理看是否满足要求,然后再做下一步处理。
本例的相关代码如下:
Dim cwResult As CosmosWorksLib.CWResults ‘定义结果接口对象
Set cwResult=study.Results ‘获取当前分析的结果
stress=cwResult.GetMinMaxStress(swsStressComponentVON,0,1,Nothing,0 ,errCode)
‘获取到当前分析的最大应力和最小应力
strain=cwResult.GetMinMaxStrain(swsStrainComponentESTRN,1,1,Nothing, errCode)
‘获取到当前分析的最大应变和最小应变
如果不满足要求,则进行设计更改,再次分析。
本例得出的应力分析结果见图6,可以看出其最大应力为824 MPa,小于其许应应力980 MPa。
4.3 将结果导入Excel
Excel可以方便地处理数据,其数据处理功能强大,格式更兼容。
可将后处理的数据方便导入Excel中,关键代码如下:
Set xlApp=New Excel.Application ‘获取到当前excel应用程序
Set xlApp=CreateObject("Excel.application") ‘打开excel应用程序
Set xlBook=xlApp.Workbooks.Add ‘excel中添加一个工作簿
Set xlSheet=xlBook.Worksh eets.Add ‘excel中添加一个表单
xlApp.Visible=True ‘excel设置为可见
xlSheet.Cells(1,2)=stress(3) ‘填充Excel单元格
本文论述了Simulation二次开发的原理,采用VBA语言在SolidWorks环境下迅速进行Simulation分析时只需输入轿车的整车参数等几个参数,不必在三维图中选择约束面、载荷位置、划分单元等较复杂的有限元专业技能。
本文研究的Simulation二次开发的方法能明显缩短轮毂轴承的研发周期,且使得轮毂轴承有限元分析简单易行,即便是非专业的分析工程师也可迅速获得有限元分析结果,降低了有限元分析门槛,同时对于在CAD软件上完成CAD/CAE一体化的参数化解决方案提供了借鉴。
【相关文献】
[1] CAO K,HAN P B,LIU Q H,et al.The Parametric Design and FEA of SolidWorks Based on the VB[C]//Advanced Materials Research.Trans Tech Publications:[s.l.],2013,706:1978-1981.
[2] 马咏梅,丁行武,李鑫.SolidWorks 二次开发在机械零件设计中的应用与研究[J].机械传
动,2010(1):72-74.
[3] 黎桂华,黄平,赵联春,等.轿车轮毂轴承外部载荷计算方法及其特性[J].润滑与密
封,2006,183(11):17-20.
[4] 卢小辉,谢小鹏,汪浔,等.基于 ANSYS Workbench 的轮毂轴承法兰盘轮毂有限元分析[J].机床与液压,2012,40(5):129-131.
[5] 哈尔滨工业大学理论力学教研室.理论力学[M].北京:高等教育出版社,2010.。