杜宝江,郑飞飞,李传磊,马 丹,王孟飞
(上海理工大学 机械工程学院,上海 200093)
CATIA标准零件库的开发
杜宝江,郑飞飞,李传磊,马 丹,王孟飞
(上海理工大学 机械工程学院,上海 200093)
针对CATIA 标准零件库更新性差、种类少、无法应对企业进行针对性使用的缺点,研究了CATIA标准零件库的二次开发。文中主要以CATIAV5R18作为支撑平台,利用SQL Server 2005存储和管理标准件信息,通过VB.NET对CATIA二次开发,并且做出整个系统的主界面。根据企业对机械零件的不同要求,在主界面中选择不同的参数,并将从数据库中搜索到的零件调用到CATIA中进行编辑和装配。结果表明,该管理系统针对性强、避免了重复建模,减少了设计时间、提高了设计效率。
CATIA;VB.NET;SQL;标准零件库
随着机械制造自动化的不断发展,各企业需要的三维模型种类繁多、形状复杂且被反复利用。企业都有自己的零件库,但是多数都是依赖于CAD软件自带的标准零件库,该标准零件库更新性差、没有针对性、实用性差、调用较复杂。针对以上问题,文中利用CAD/CAM软件开发的参数化建模功能。通过该功能可以设计具有用户特性的零件库,以便于满足不同需求和指导机械零件的生产[8]。三维参数化建模是机械工作的基础比二维更能体现零件的特性,满足不同客户个性化的特征。将CATIA建好的模型导出Excle表,表内包含模型的几何参数及附带加工信息,便于改变参数来丰富自己的模型库和指导机械零件的加工[1]。CATIA标准零件库的开发大幅提高了零件调用的效率、装备的准确性和生产效率。
大多数三维软件的参数化建模需要通过软件的接口编程实现,进行编程对操作人员的技术水平要求较高[7]。CATIA V5为用户提供了可视化的操作工具在可视化的操作环境下可以轻松的完成三维的参数化建模。CATIA的参数化建模功能就是在三维机械模型创建的过程中对其几何尺寸进行参数化,通过改变参数(如模型长度、宽度以及拉伸高度等)来控制模型的目的,其中的关键就是参数、公式、表格、特征驱动图形[2]。以用于航空零件的HB-7208沉头螺钉为例。
图1 HB-7208沉头螺钉
以CATIA内部的系统参数为基础来创建不同的零件模型。根据不同的要求选择了螺钉的不同参数,然后再用公式对螺钉参数进行约束。公式是自定义参数和系统参数的桥梁,当改变螺钉参数的大小时就会通过公式连接系统参数从而驱动改变螺钉的形状。
将一个创建好的“三维机械模型”存放在表格中。这里存放在表格中的是模型本身所附带的参数,而非真正的CATIA模型。通过手动改变、添加表内的数据进而修改螺钉的几何尺寸和添加一个新的螺钉模型。以HB-7208螺钉为例来观察表格中的对应参数。
表1 沉头螺钉的参数化特性
表1所示是螺钉建模时所涉及的主要参数和一些附带的加工信息(Mass、Material、Finish)来指导螺钉的加工和装配。用户可以根据需求来扩充附带的加工信息。
图2 模型参数关联表格参数
共有设计参数的尺寸、约束和公式尺3种主要类型。尺寸主要用来表示机械零件的形状、大小等;约束的主要功能就是来限制各元素之间的特殊关系,比如垂直相切等。各参数之间存在的加减、乘除等的数学关系就用公式来表示。如图2示的界面就是将CATIA内模拟的参数与表格中的参数关联起来以此来实现通过填写表格来获得更多的模型。Columns 所表示的名称是表格中所填写的参数。Parameters 下是模型本身具有的参数。操作的时候要一组一组的进行关联,选定要关联的参数点击Associate 就是实现的模型参数和表格参数的关联。
三维机械设计软件的二次开发其实并不容易,而本论文所涉及到的VB对CATIA的二次开发主要是一些简便、易行的操作步骤。通过VB这个桥梁,从数据库中把符合设计要求的三维零件调取到CATIA中进行编辑。最后将VB编写的程序发布成一个软件,利用打开软件的方式进行对三维模型筛选[3]。
在通过编程启动CATIA之前要引用其的库文件。
(1)CATIA V5 GSMInterfaces Object Library;
(2)CATIA V5 InfInterfaces Object Library;
(3)CATIA V5 KnowledgeInterfaces Object Library;
(4)CATIA V5 MecMoldInterfaces Object Library;
(5)CATIA V5 PartInterfaces Object Library;
(6)CATIA V5 SpaceAnalysisInterfaces Object Library。
以下是通过VB来启动CATIA的程序段:
Dim CATIA As Object
On Error Resume Next
CATIA = GetObject(, "CATIA.Application")
If Err.Number <> 0 Then
CATIA = CreateObject("CATIA.Application")
CATIA.Visible = True
End If
On Error GoTo 0
图3 利用VB.net编写的搜索界面
一般情况下利用VB启动CATIA较慢,最好的办法就是手动启动CATIA,然后在利用程序将CATIA连起来[6]。 如图3所示是利用VB设计的搜索主界面,该主界面主要包括: 常用零件、搜索零件、搜索图标、退出。主要的工作原理:在输入框内输入需要搜索的零件点击搜索,该界面是利用VB.net编程和数据库连在一起的[9]。数据库内的零件都是通过平时积累完善的,在搜索的过程中可以根据要求的质量、型号、加工方式以及表面的处理情况等参数来进行搜索。常用零件后的内容不断更新,根据零件被搜索的次数来决定排列的顺序,达到方便用户搜索零件的目的[11]。
零件库是CAD最主要的一部分,在计算机辅助设计、机械制造、计算机的信息集成等方面起着至关重要的作用。系统的零件库主要是根据不同公司的要求以及某零件的不同使用频率,以SQL为媒介建立一个不同于CATIA自带的标准零件库[12]。对于某个零件应该包括质量、型号、表面处理方法、材料等信息以方便用户对零件库查询、检索和调用。最后的目的就是根据机械设计的要求将零件库中的零件调用到CATIA中[5]。对于零件库的访问需要借助到VB.net工具。以下是VB连接SQL模块代码[13]
Public conn As New ADODB.Connection
Public rs As New ADODB.Recordset
Public addFlag As Boolean
Public Function OpenCn(By Val As Strig)As Boolean
Dim mag As String
On Error Go To strerrmag
Set.conn=New.ADODB.Connection
conn.Connection Timeout=25
conn.Provider=“sqloledb”
conn.Properties(“data source”).Value=Cip//服务器名称
conn.Properties(“initial catalog”).Value=“zqoa”零件库的名称
conn.Properties(“integrated catalog”).Value=“sspi”登录的类型
conn.Properies(“password”).Value=“sa”
conn.Open
OpenCn=True
addFlag=True
Exit Function
Strerrmag
Mag=“DATA can not connect”
Call MsgBox(mag,vbOKOnly,“ErrorData connect”)
addFlag=False
Exit Function
End Function
本文主要通过设计一个搜索机械零件的系统达到开发CATIA标准零件库的目的。
图4 系统工作的主要流程
图4所示是该系统工作的主要流程,其中包括访问数据库、开发CATIA以及根据不同的参数对机械零件的搜索原理。
根据机械设计的不同要求来选择不同的机械零件,然后打开该软件进入搜索功能。输入有关零件的不同参数:质量、型号、材料以及表面处理方法等等进行机械零件检索。检索原理是利用VB.net访问数据库,找出数据库中满足要求的机械零件,找到满足机械设计的零件后将零件调到CATIA绘图软件中进行编辑设计[14]。
随着机械自动化的不断发展,机械设计有一个多样、复杂的发展趋势。对于机械零件需求量越来越大、种类越来越多。CATIA绘图软件自带的机械零件库里的标准件已经无法满足多样的设计要求和原则。基于VB.net、SQL的CATIA标准零件库系统能填补这方面的不足,企业根据自己产品设计的特性,对零件库进行实时的增、删达到不断更新的目的[15]。一个完善的零件库将大幅提高设计的效率和准确度。该库内的机械零件不是标准件,零件的尺寸,材料通过参数化建模进行的规定来满足各式各样的设计需求。基于VB.net、SQL的CATIA标准零件库系统不仅在数量有了提升,在机械零件的种类方面对于标准库更是一个完善。
[1] Dassault Systemes.CAA V5encyclopaedia[C].Paris:Dassault Systemes,2000.
[2] Liu Jianfeng,Jiang Yong,Sun Gengyue.The application and research of 3-D standard P-lib of the die CAD[C].Paris:Proceedings of the 2007 IEEE International Conference on Mechatronics and Automation,2002.
[3] Rezayat.Konwledge-based product development using XML and KC[J].Computer-Aided Design,2000(6):7-10.
[4] 万久团,黄翔.基于UG的三维参数化标准件库的建立[J].机械制造与自动化,2002(6):82-84.
[5] 崔再惠.Access数据库与SQL Server数据库主要功能的比较[J].鞍山师范学院学报,2009,11(6):51-52.
[6] 杜宝江.虚拟制造[M].上海:上海科学技术出版社,2012.
[7] 郭静静,杜宝江,马群,等.多种CAD环境下的标准件参数化方法[J].电子科技,2011,24(12):7-9.
[8] 胡师彦.微软SQL Server2000数据库的特点及查询优化研究[J].兰州工业高等专科学校学报,2002,9(1):1-4.
[9] 胡挺,吴立军.CATIA二次开发技术基础[M].北京:电子工业出版社,2006.
[10] 王丽,李媛.SQL Server 数据库教学研究与实践[J].石家庄理工职业学院学术研究,2009(4):7-8.
[11] 魏慧,王琳.剖析ACCESS数据库安全机制[J].中国高科技企业,2009(23):177-178.
[12] 杨流辉,张和明.基于COM组件的CATIA产品信息集成技术研究与实现[J].计算机工程与应用,2001,37(24):132-134.
[13] 赵广,杨宏,赫立远.基于CATIA平台的自顶向下参数化车身设计[J].汽车实用技术,2013(8):8-12.
[14] 朱烜璋,李娅菲.MSSQL数据库远程备份系统的设计与实现[J].湖南科技学院学报,2008(8):95-96.
[15] 朱玉琳.关于网站的Access数据库转换成SQL Server数据库相关问题的探讨[J].锡林郭勒职业学院报,2007(2):4-6.
Development of CATIA Standard Parts Library
DU Baojiang,ZHENG Feifei,LI Chuanlei,MA Dan,WANG Mengfei
(School of Mechanical Engineering,University of Shanghai for Science and Technology,Shanghai 200093,China)
Secondary development of CATIA Standard Parts Library was studied to solve its disadvantages of poor updating, less species and weak pertinence. Regarding CATIA V5R18 as the support platform, using SQL server 2005 to manage the standard part and the standard part information, the paper did secondary development of CATIA through VB.NET and made the main interface for entire system. According to the different requirements of mechanical parts from enterprises, different parameter was selected from the main interface, then the parts searched from database were compiled and assembled in CATIA. The results show that the management system has strong pertinence, avoids repeated modeling, reduces the design time and improves the design efficiency.
CATIA; VB.NET; SQL; Standard parts library
2016- 10- 31
杜宝江(1962-),男,副教授。研究方向:虚拟制造。郑飞飞(1990-),男,硕士研究生。研究方向:虚拟制造。
10.16180/j.cnki.issn1007-7820.2017.09.010
TP311;TK413.44
A
1007-7820(2017)09-034-04