CATIA工程图环境客户化开发
2019-07-24王科银罗言赵杨
王科银,罗言,赵杨
CATIA工程图环境客户化开发
王科银1,罗言1,赵杨2
(1.湖北汽车工业学院 汽车工程学院,湖北 十堰 442002;2.吉利汽车研究院(宁波)有限公司,浙江 宁波 315000)
基于CATIA二次开发技术,以VB语言做基础编程语言,对CATIA工程图环境进行客户化开发而达到如下目的:(1)建立标准图框模板,模板中二维图纸信息(包括图号、零件名称、零件材料等)对应三维数模属性,实现图纸属性信息的自动生成;(2)通过CATIA的二次开发,可以直接根据三维模型属性自动生成明细表信息,并且当总成或零部件属性信息发生更改时,明细表能自动更新。
CATIA;工程图;客户化开发
前言
随着CATIA软件的广泛应用,工程图的绘制已经从以往的手工绘制逐渐演变为现在的计算机辅助绘制,制图效率有了显著的提高。但是针对不同的领域CATIA仍然存在着一定的局限性。例如,在机械产品图样的输出过程中,零部件的信息、明细表的汇总输出仍然需要手动输入,并且不易修改。因此针对具体的应用对CATIA软件的二次开发显得尤为重要。CATIA的二次开发能有效的提高用户的工作效率以及对工作质量有着明显提高。
1 CATIA二次开发简介
任何软件,其功能不可能满足所有领域、所有用户的应用习惯和应用需求。为此,CATIA V5为用户提供了二次开发接口和开放式的内部命令集合,给用户的二次开发带来了方便。
1.1 CATIA二次开发基本概念
CATIA的二次开发遵循面向对象的设计思想,创建了基于COM组件对象建模的PPR架构(产品,流程,资源),有效地解决和分散了维护,管理和扩展的难度。基于组件架构思想的最新计算机技术,标准和软件技术,包括JAVA BEAN,COM / OLE,CORBA技术和Web技术,C ++语言,STEP-SDAI,XM L,OpenGL等这使得CATIA VS独具特点:数据结构简单,模块全部互连,部分模块双向互连,集成系统具有强大的专业应用扩展功能[1]。Software-in-a-Box(SCI)有三个基本概念:框架,组件和产品总线。
该框架提供了对所有应用程序都有用的功能(如接口,内存),并提供了一致的整体设计。框架是类似应用程序集合的一部分(一致但不详尽)解决方法。开发人员的任务是使用这个不完整的解决方案和代码创建一个完整的应用程序。域中的应用程序,包括不变和可变部分。固定部分由框架覆盖并且通常为80%,并且可变部分由开发者决定并且通常占20%。开发人员通过将已更改部件的代码添加到框架并获取其操作来创建新的特定应用程序。框架根据是否针对特殊领域还是若干领域,可分为水平框架、垂直框架、复合文档框架等。
组件是软件的基本量子(单元)。组件既应当足够小,以便于维护;又应足够大,可具备相当的功能,可以被打包和插用。组件的特征提供了将一个应用程序分成若干个组件的机制。每个组件提供了一个相当专门的功能,并向框架的其余部分描述自己,以便别的组件能够访问它的功能。描述是通过说明性语言如IDL实现的,其实质是将组件的接口与实现分开。由于组件可以单独进行维护和更新,因此,组件不能直接与其他组件通信非常重要。组件之间的交互必须使用框架或对象总线来实现。
1.2 CATIA VBA二次开发技术
虽然CATIA软件模块很多,功能很强大。但毕竟各行业、企业标准和要求不同。为了解决这一问题,CATIA为用户开发了利用宏进行二次开发的接口。这样,用户无需理解程序的内部原理和专业的编程基础,通过简单的学习,利用提供的对象和方法,就可以开发出符合自己需求的工具或批处理功能。
VB语言对CATIA进行二次开发,其开发出来的工具主要有以下三种形式:
(1)单个的脚本文件,如catvbs文件,catscript文件。双击即可运行,但只能通过简单的inputbox和msgbox实现人机交互。
(2)VBA宏库。VBA文件中可包含窗体,因此可以绘制按钮、文本框等常规的VB控件,可以做复杂的交互界面。
(3)利用VB6或者VB.net制作生成exe格式的可执行文件。此类开发需要在程序运行时先通过COM接口连接CATIA程序再进行后续的操作。
本课题中利用VBA工具进行开发。
2 CATIA二次开发流程
CATIA二次开发具体流程如下:
2.1 3D零件属性添加
在VB响应按钮下添加如下语句从而实现零件相应属性的添加
Set strParam1 = parameters1.CreateString ("零件代号", "")
Set strParam2 = parameters2.CreateString ("名称", "")
Set strParam3 = parameters3.CreateString ("零部件类型", "")
“材料”、“规格”、“零件特性”、“备注”等属性的添加与此类似,在此不一一赘述。
定制如图1所示的交互界面,设计者只需点击定制号的属性添加按钮,在弹出的“零件属性填写”对话框中输入所需零件属性即可。
2.2 图框及标题栏自动生成
图2 图框标题栏添加界面
图3 图框和标题栏
在工程图环境中点击创建图框按钮,出现图框标题栏添加界面(如图2),选择需要的功能,为工程图添加图框(如图3),具体语句不作赘述。
2.3 明细表自动生成
同样在工程环境图中,点击创建明细表按钮在设定位置自动添加如图4所示明细表,明细表中的信息与三维零件中的零件属性信息保持一致。以零件“材料”为例说明具体实现方法。
具体代码如下:
oDrawingTable.SetCellAlignment oDrawingTable.NumberOfRows-1-n,3,CatTableMiddleCenter
oDrawingTable.GetCellObject(oDrawingTable.NumberOfRows-1-n,3).SetFontSize 0,0,3.5
SetoParameters=ProductList(n).Parameters
Set oParaMaterial=oParameters.item("材料")
Material=oParaMaterial.ValueAsString
前两句语句实现了“材料”属性填写的具体位置以及字体样式,后两句语句实现了三维零件中相应属性的读取。
图4 明细表
3 结语
本研究运用CATIA二次开发工具VB,开发了通过VB6.0编程,开发了自动生成图框标题栏以及标题栏信息修改界面。这种数字化开发技术,使得在绘制工程图时大大提高了技术人员的工作效率,能让用户有更多的时间用于工程图细节的研究。该程序具有方便灵活的人机交互界面,用户只需要点击按钮,即可获取文件的属性且自动生成图框标题栏,或根据需要自动修改文件属性和标题栏信息,使用户能够快速准确的生成标题栏信息。
[1] 陆菲菲,朱桂明,陶志荣,等. MDCent:一种高可扩展、高吞吐量的模块间互连结构[J].计算机研究与发展, 2015, 52(5):1127-1136.
[2] 胡挺,吴立军.CATIA二次开发技术基础[M].北京:电子工业出版社,2004.
[3]基于CATIA V5环境下的车身悬置系统开发功能集成及应用[D]. 电子科技大学, 2014.
[4] 董伊鑫,席平.基于CATIA的界面二次开发[J].航空制造技术,2006 (12):83-86.
[5]张敏,苏兰海,王君英.基于CAA的CATIA用户自定义特征创建[J].机械设计与制造, 2008(9):87-89.
[6] 张虎志.基于Catia Automation API工程图模板定制方法[J].数字技术与应用, 2015(3):57-58.
[7] 邵晓明.CATIA工程图国标化与辅助精度设计技术研究[D].南京航空航天大学, 2010.
CATIA Drawing environment customization development
Wang Keyin1, Luo Yan1, Zhao Yang2
( 1.School of Automotive Engineering, Hubei Automotive Industries Institute, Hubei Shiyan 442002; 2.Geely Automobile Research Institute(Ningbo)Co., Ltd, Zhejiang Ningbo 315000 )
Based on CATIA secondary development technology and using VB language as the basic programming langu -age, CATIA drawing environment is customized to achieve the following objectives: (1) Standard drawing frame template is established, and two-dimensional drawing information (including drawing number, part name, part material, etc.) in the template corresponds to three-dimensional digital and analog attributes, so as to realize automatic generation of drawing attribute information; (2) Secondary development of CATIA,the detailed list information can be generated automatically according to the three-dimensional model tree, and it can be updated automatically when the attribute information of assembly or parts is changed.
CATIA; drawing; customized development
U467.4+9
A
1671-7988(2019)13-168-03
U467.4+9
A
1671-7988(2019)13-168-03
王科银(1990-),男,毕业于湖北汽车工业学院及德国应用科技大学本科双学士学位,就职于湖北汽车工业学院汽车工程学院。
10.16638/j.cnki.1671-7988.2019.13.055