CATIA二次开发技术在飞机工艺装备设计中的应用——特征元素批改名方法

(整期优先)网络出版时间:2023-12-07
/ 2

CATIA二次开发技术在飞机工艺装备设计中的应用——特征元素批改名方法

朱雷

中航西飞 陕西西安 710089

摘  要:在CATIA 环境中以VB语言为工具,对飞机工艺装备零件模型中特征元素的重命名方法进行了探索,开发出具有人机交互界面、可接受不同输入方式的程序,实现了特征元素按一定的格式自动命名,为进一步提高程序的灵活性和通用性,针对没有固定规律的命名格式,程序设计了文档输入功能,即应用其他软件(如Excel),预先编辑好命名内容,使程序运行后自动识别、匹配、改名。经多次测试,对120个特征元素重命名用时均不到3秒,结果准确,在工艺装备设计中具有一定的应用价值,可有效解决模型特征元素手动重命名低效率、高出错率的问题。

关键字: CATIA二次开发  VB语言  数字化  MBD

CATIA是法国达索系统公司开发的集成了CAD、CAM和CAE的大型软件,凭借其突出的技术优势在全球制造业的各个领域得到了广泛的应用,也是我国航空制造业目前的主流设计软件。但是任何优秀的软件,其功能也不可能满足所有领域、所有用户的应用习惯和应用需求[1]。随着我国航空制造业数字化水平的不断提高,飞机工艺装备设计人员已经全面开始使用三维数字模型作为零件制造依据,这就要求零件模型的信息定义必须统一规范,才能被设计、工艺、使用等不同人员准确理解,其中有一项必不可少的工作是对特征元素(定位基准元素、测量目标元素等)按格式重命名。现有方法是逐个手动修改,对于装配工艺装备来说,动辄成百上千个各类元素,改起来费时费力,还容易出错,严重制约设计周期和质量。相关方面的研究在国内不少,但往往结构形式单一,实际应用中通用性不佳,本研究在单一功能的基础上,利用外部文档作为中介,开发出灵活性和通用性更强的命名程序。

1程序设计总体思路及界面设计

通过编程来访问CATIA的对象有很多种不同的方法,对于其他程序或脚本来说,CATIA只是一个OLE自动化对象服务器,目前,CATIA 二次开发的方法主要有两种:进程内应用程序方式和进程外应用程序方式[2]。进程外应用程序方式适用范围较广,主要有 2 种技术:CAA(Component Application Architecture)技术和V5 Automation技术,本文采用基于V5 Automation 的二次开发方法。在此基础上,对目前工程中常用的MBD(Model Based Definition)模型进行分析[3],排列出模型特征元素所有创建类型,找到其特点和规律、确定程序切入对象和操作目标,最后完成程序界面设计。

1.1 MBD模型分析

传统航空制造业基本上都以工程图纸作为飞机零部件制造、检验、装配、测量等过程的依据,随着数字化水平的提高, MBD技术的应用使三维实体模型成为制造过程中的唯一依据,但是原来二维图纸里的所有关键信息,MBD模型需要全部承载,并按不同类型分别存放[4],同一类型的信息存放在一个“集合”中,这些“集合”中的信息正是我们要为之重命名的特征元素。CATIA中所有元素在创建时,软件都会生成一个缺省名字[5],这个名字与创建方式有关,有时显得很杂乱,通常情况下,特征元素规范的命名格式为“前缀”+“顺序号”+“后缀”,所以需要统一重命名,对于一些点元素,还需要在名字后赋坐标值。

       图片1.jpg

图1 MBD模型中特征元素集合

1.2 程序界面设计

根据MBD模型分析结果,设计出图2所示程序界面,从上到下分为三部分,最上层是密钥区,对程序进行了一个简单的加密;中间层为前缀、后缀选择区,包含了常用格式;最下层是功能命令区,包含批改名、文档输入、点赋坐标值功能。

图2 程序界面

2 程序实现过程

从前文的分析得知,同一类型的特征元素存放在一个“集合”中,所以程序实现过程的基本思路是:运行程序—在CATIA环境中选取相应的“集合”—批改名完成—结束程序。通过对“集合”进行操作实现特征元素的重命名,是最便捷的,避免对特征元素的逐个选取[6]

2.1 批改名命令实现过程

‘提示选择一种前缀格式,如果未选,系统弹出提示

If Option1.Value = False And Option2.Value = False And Option3.Value = False Then

        MsgBox "请选择一种对象", vbExclamation + vbOKOnly, "系统提示"

        Exit Sub

End If

选择“集合”后,检索“集合”中的每一个子元素。

‘检索子元素

Dim HybridShapes1 As HybridShapes

    Set HybridShapes1 = Hybridbody1.HybridShapes

    ‘定义前缀变量

Dim PreStr As String

    If Option1.Value = True Then

        PreStr = "TB"

    ElseIf Option2.Value = True Then

        PreStr = "OTP"

    ElseIf Option3.Value = True Then

        PreStr = "OTS"

    End If

    ‘定义后缀

Dim SufStr As String

    If Check1.Value = 1 Then SufStr = " ®"

    ‘对子元素重命名

Dim i As Integer

    For i = 1 To HybridShapes1.Count

        HybridShapes1.Item(i).Name = PreStr & i & SufStr

    Next

2.2 文档输入命令实现过程

根据前述文档输入原理,需要先将程序与文档关联,然后将文档中的内容“复制”给元素名称[8]

    ‘文档与程序关联

    Dim Workbook As Workbook

    Dim Worksheet As Worksheet

    Set Worksheet = Workbook.ActiveSheet

‘文档未打开提示

    If Err.Number <> 0 Then

        MsgBox "未找到相关文档", vbExclamation + vbOKOnly, "系统提示"

        Exit Sub

    End If

‘定义交互选择

(同批改名命令)。

‘检索子元素、

(同批改名命令)。

‘对子元素重命名

    Dim i As Integer

    For i = 1 To HybridShapes.Count

        HybridShapes.Item(i).Name = Worksheet.Cells(i, 1) [9]

    Next

2.3 点赋坐标值命令实现过程

空间点的坐标值包含三个:X、Y、Z,在编程时定义了一个数组,通过“GetCoordinates”函数获取该值并赋予数组[10]

‘定义交互选择

(同批改名命令)。

Point1.GetCoordinates Coord  ‘获取点坐标值

‘点重命名并赋坐标值

Point1.Name = Point1.Name & "【" & Round(Coord(0), 3) & "," & Round(Coord(1), 3) & "," & Round(Coord(2), 3) & "】"

3 结束语

经实践测试,本方法可满足绝大部分工艺装备零件模型特征元素的重命名,准确高效,大幅减少设计人员的重复性手工工作。相比于传统自动重命名程序,创造性地增加了文档输入功能,通用性得到了极大的延展。

参考文献

[1] 周桂生,陆文龙 . CATIA 二次开发技术研究与应用 [J]. 机械设计与应用,2010(1):81-83.

[2] RichterT, MechlerH, SchmittD. Integrated parametric aircraft design. ICAS 2002 CONGRESS.

[3] Dassault Systemes, CATIA V5 R18 user's documentation, 2004.