邵文庆
(永城职业学院机电工程系,河南 永城476600)
在机械产品设计时,往往用到大量的标准件,在标准件的建模过程中需要查询国家标准查询。根据国家标准确定的数据来确定零件的外形、尺寸耗费时间和精力,效率低并且容易出错。随着科学技术的发展,对零部件设计的要求越来越高,设计周期也越来越短,如何能够高效的设计产品对快速占领市场非常重要。因而,建立标准件库以及产品零件库显得非常重要。目前,CAD软件发展迅速,各个软件厂商分别以自己软件平台建立起标准件库,如Solidworks、Pro/E和UG等。但国内以CATIA建立的标准零件库还比较少,而以CATIA软件为基础建立的联轴器标准件库就根本没有。为此提出利用CATIA软件来建立联轴器标准件库。
CATIA软件是由法国达索公司开发的一款高端的三维CAD/CAM/CAE软件,从1982年面世以来,其界面友好、易于操作、功能强大获得了用户的好评,成为高端CAD/CAM/CAE软件领导者。CATIA软件本身带有零件库,其零件库主要为螺栓类标准件库,其标准件库在设计时主要以欧洲、美国和日本等标准为主,缺少以国内的国家标准为依据的零件库。因此,开发出适合国内机械产品设计人员需求的标准零件库显得非常重要。在CATIA V5R20软件中实现标准零件库的开发可以通过以下三种方法实现:
(1)利用CATIA软件的知识工程与专家系统的开发
在CATIA软件的知识工程与专家系统中,提供了公式、设计表和目录功能,利用这些功能可以实现三维标准零件库的开发。
(2)基于CATIA V5 Automation的开发
基于CATIA V5 Automation的开发既以Visual Basic6.0(简写为VB)为工具,通过访问CATIA软件Automation中的对象,完成对标准件库的开发。VB是一种可视化语言,简单、易用,利用VB可以访问CATIA软件的类、函数和库,可以完成联轴器标准零件库的开发。
(3)基于构件的应用编程接口开发(CAA)
CAA是利用C++语言对CATIA软件提供的组件的定制开发,对其组件进行组合和扩展。
本文通过利用CATIA软件的知识工程与专家系统建立参数化模型,通过VB程序访问ACCESS数据库,根据设计人员在VB界面的选择,查询联轴器的数据并显示出来,由设计人员通过VB界面选择输入联轴器参数,最后由VB界面通过CATIA V5 Automation功能修改联轴器零件模型参数,达到生成所需联轴器的目的。本文以LX型弹性柱销联轴器为例展示实现的方法。
在国家标准《GB/T12458-2017联轴器分类》中,联轴器分为:刚性联轴器、挠性联轴器和安全联轴器三大类,每一类又根据其结构和用途不同,分为多个子类别[1]。性联轴器中的《弹性柱销联轴器GB/T5014-2017》LX型为例,建立联轴器三维实体模型。
联轴器三维模型的建立可以通过两种方法实现。一是利用VB调用CATIA V5 Automation来建立;二是使用CATIA软件建立联轴器模型,再设置相关尺寸为变量,通过修改变量来实现三维模型尺寸数据的修改。第二种方法简单、方便,本文采用第二种方法来建立联轴器三维模型。
参数和关系在CATIA软件中,默认没有激活。需要在CATIA软件工具菜单中选择选项,选择基础结构中的产品结构,设置自定义树,激活自定义树中的参数和关系两个选项。以便在CATIA软件中设置的参数和关系能够在树状图中显示出来。
LX型弹性柱销联轴器(轴孔长度Y型)三维模型如图1所示,LX型弹性柱销联轴器参数定义如图2所示。在《弹性柱销联轴器GB/T5014-2017》中已经给定了以下参数:联轴器外圆直径D、凸缘直径D1、轴孔直径d1(d2,dz)、联轴器宽度b、间隙S和轴孔长度L(L1),这些参数可参照国家标准值;联轴器连接孔D3、联轴器连接孔中心距D2,联轴器JZ型凹槽Dj/Dz在国家标准中并没有给定,可根据生产需要指定。在建立联轴器三维模型时,把以上参数定义为用户参数,类型设置为长度变量。LX型弹性柱销联轴器用户参数如图3所示。
图1 LX型弹性柱销联轴器(轴孔长度Y型)三维模型
图2 LX型弹性柱销联轴器参数[2]
图3 LX型弹性柱销联轴器用户参数
衡量一个系统的易用性的重要指标是其人机界面和人机交互能力,良好的人机交互界面可以使用户在进行产品设计时轻松自如,也很容易掌握系统的功能。以美观、直观、易于操作为原则,通过VB6.0开发环境设计出了LX型弹性柱销联轴器的人机交互界面。联轴器人机交互界面需要实现以下功能:(1)选择不同的类型、输入不同的参数,在人机交互界面中可把同一类型的共同的参数通过ACCESS查询得到,显示在界面上;(2)把参数分类,如把参数分为主动端参数、从动端参数,以及国标给定的公共参数、国标未给定的参数;(3)联轴器连接时用到的其它国标件选择;(4)在《弹性柱销联轴器GB/T5014-2017》中给定了公称转矩和许用转速,但这两个参数不属于尺寸参数,对于联轴器模型的生成无影响,但其可做为联轴器选择的一种条件,本文中在输入联轴器型号时,在界面中显示公称转矩和许用转速,以此做为联轴器型号选择的参照。LX型弹性柱销联轴器人机交互界面如图4所示。
图4 LX型弹性柱销联轴器人机交互界面
利用VB编程时,可以用下面的方法来访问CATIA软件。
Dim CATIA As Object /*定义CATIA为
Object对象);*/
On Error Resume Next /*出现错误执行下一名;*/
Set CATIA=GetObject(,"CATIA.Application")
/*CATIA已经打开,利用GetObject获得Application;*/
If Err.Number<>0 Then
Set CATIA=CreateObject("CATIA.Application")
/*CATIA未打开,利用CreateObject获得Application;*/
CATIA.Visible=True /*CATIA对象可见*/
End If
On Error GoTo 0 /*取消错误控制*/;
利用程序判断CATIA软件是否已经运行,如果已经运行,利用GetObject方法访问;如果CATIA未运行,利用CreatObject方法建立。
把LX型弹性柱销联轴器LX1至LX14型共115条记录建立《LX型弹性柱销联轴器》表,字段包括国标给定参数:联轴器外圆直径D、凸缘直径D1、轴孔直径d1(d2,dz)、联轴器宽度b、间隙S和轴孔长度L(L1),未给定参数参考数据:联轴器连接孔D3、联轴器连接孔中心距D2,联轴器JZ型凹槽Dj/Dz.以上参数建立数据表,建立LX1至LX14型共115条记录,以SELECT语句查询数据查询调用。LX型弹性柱销联轴器表如图5所示。
图5 LX型弹性柱销联轴器数据表(部分)
建立《LX型弹性柱销联轴器》表后,利用VB软件的ADO功能来访问ACCESS,使用SELECT语句查询数据,查询结果赋给人机交互界面的列表框。下面程序查询《LX型弹性柱销联轴器》表中所有s的不重复值,并把结果赋给下拉列表ListBoxD。
Private Sub Form_Load()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim D As ADODB.Field
Dim StrConnect As String
Dim strSQL As String
Dim ZiDuan As String '字段变量
Dim arr()as Single
Dim i as Integer
ZiDuan="s"
StrConnect="D:LX型弹性柱销联轴器.mdb"'连接路径
cn.Provider="Microsoft.Jet.OLEDB.4.0"
cn.Open StrConnect
strSQL="select distinct"+ZiDuan+"from LX型弹性柱销联轴器"
rs.Open strSQL,cn,adOpenDynamic,adLock-Optimistic,adCmdText
Set D=rs.Fields(ZiDuan)
i=0
Do While Not rs.EOF
arr(i)=D'把D的数据赋给数组arr()
rs.MoveNext
Loop
ListBoxD.List=arr() '把数组 arr()赋给下拉列表ListBoxD
rs.Close
cn.Close
Set rs=Nothing
Set cn=Nothing
End Sub
在完成系统设计后,以主动端、从动端均为Y型轴孔、键槽为A型、d1=38 mm、L=160 mm LX3联轴器为例生成联轴器工程图纸。在VB人机界面中选择主动端、从动端轴孔类型为LX3 1250*4750,VB程序通过select语句查询ACCESS中的数据得到S、挡板外径和挡板内径,并确定d1(d2或dz)的查询范围,在VB界面的combobox中显示d1(d2或dz)备选项。在确定d1(d2或dz)的值后,由VB程序通过select语句查询ACCESS中的数据得到L或L1、D、D1和b.最后选择确定D2,D3,选择螺栓标准件和键槽即完成参数输入。单击参数确认更新,VB与CATIA软件建立连接,传送输入参数到三模型,刷新后生成LX3联轴器38*160 GB/T5014-2017.生成的联轴器三维模型和工程图如图6、图7所示。
图6 LX型弹性柱销联轴器三维模型(YY型轴孔)
图7 LX型弹性柱销联轴器剖视图
本文对基于CATIA的联轴器标准件库设计开发进行了一些研究和探讨,并在LX型弹性柱销联轴器标准件库开发中进行了应用,解决了在机械产品设计时快速使用国家标准中的联轴器尺寸数据、生成联轴器标准件的问题,在某矿用机械厂已经使用,大大提高了产品的设计效率,也为其它标准件库的开发提供了一种思路。