APP下载

一种基于CATIA 的飞机工装快速命名方法及其实现技术

2014-09-19吕凯沈建新

机械制造与自动化 2014年6期
关键词:零组件工装命名

吕凯,沈建新

(南京航空航天大学机电学院,江苏南京210016)

0 引言

飞机工艺装备是实现飞机设计制造要求的重要技术物质装备。由于飞机结构复杂、零部件种类繁多并且精度要求高,故在飞机制造过程中采用了大量的工艺装备以满足飞机生产制造技术要求[1]。

进入数字化时代,飞机工装普遍应用CAD技术,这样为飞机工装的设计与制造提供了便利,提高了生产效率,缩短了生产周期。由于飞机工装的复杂性,通用性较强的智能设计软件无法覆盖飞机工装设计的各个方面,也无法进一步提高飞机工装品质和开发速度[2]。因此必须开发针对某一飞机产品工装的专用快速设计系统,将与该产品有关的知识、经验、数据等相结合,并自动贯穿于该产品设计的全过程,实现产品工装开发的高度自动化和智能化[3]。

现阶段,飞机工装种类繁多且包含的零组件较多,其中零组件的命名成为一个繁重且没有创新的重复性劳动。不仅要花大量的时间和精力,且当零组件较多时,人为命名的准确率得不到保障。

1 命名规范要求

根据某大型航空制造企业工装的命名规范,对其要求进行了以下规整:

1)飞机的工装设计都是在CATIA上完成的。

2)所有自制零件名称为总装名称后面加上序号,如总装名称为ZZ-54GZ,排在第一个的自制零件名称即为ZZ-54GZ-1。为了区分零组件,组件的序号前面加个0,即为ZZ-54GZ-01。序号即为零组件所在这一级的位置。

3)所有名称以GB/HB/QB(国标/企标/航标)开始的零组件名称是不能修改的,只能修改它所对应的实例名,在其实例名后面添加零组件的序号。CATIA中实例名是不允许相同的。

4)同一级别下的相同零件的序号是一样的,如图1所示,这两个国标件都是GB70-85 M10x30,属于同一个零件,因此它们的序号是一样的。

图1 零件名称与实例名

5)总装文件下面可以包含多个组件,组件里面也可以包含组件,最多包含3级组件,且组件下一级零组件的命名为这个组件名称添加其所在的位置序号。例如组件名称为ZZ-54GZ-03,其下一级的第一个零件即为ZZ-54GZ-03-1。

2 设计原理及实现

根据上述要求,其命名有一定的规律性,因此工装的快速智能命名方法是可以实现的,但是要求较多,实现起来有一定的复杂性。因此要分多步实现,采用先易后难的方法,先对总装下面的第一级零组件进行命名,再对第二级、第三级零组件进行命名,之后对GB/QB/HB件进行命名,最后再判断相同的零件,并加上同一个序号。

2.1 自制零组件命名

基于以上构思,以CATIA为平台,用VS2005软件开发了工装智能快速命名工具。程序通过获得根目录的指针,取得总装文件的名称。并通过根目录指针至上到下遍历获取下一级零组件的指针,且遍历的索引号即为零组件的序号,如图2所示。再通过对下一级文件类型的判断,可得出是Product或者Part。即可实现对零组件的分别命名。

图2 遍历树顺序

第二、第三级零组件命名方式与第一级类似,唯一的不同就是第一级为根目录指针,而这个是以组件为根目录,并且命名的方式是在组件名称的后面加上所在的序号。

2.2 GB/QB/HB件命名

零件中GB/QB/HB件的命名与自制件不同,由于它们的名称不能改变,只能改变其实例名,并且CATIA中实例名是不允许相同的。在上述的基础上,对总装下第一级零组件的名称进行判断,倘若文件的名称以GB/QB/HB开头,就按规范对其命名。由于CATIA中实例名是不相同的,如图1所示,即使调用同一个零件进来,实例名最后一位也会多个序号来区分开来。因此在其本身的实例名后面加上序号,即使序号一样,它们的实例名也不会相同的。

2.3 重名零件判断

在用户所完成的CATIA总装文件中,所有零组件顺序不允许改变,因此不能采用将相同零件放在一起的方式进行统一编号。同时,由于相同的零件应具有相同的序号,所以现在零件所在的位置不能表示其序号。

由于零件现所在的位置不能表示其序号,因此必须引进新的方式对其序号进行管理。参数因子可以记录当前零件的位置,并且当零件相同时参数因子不改变,可以很好的解决零件的序号问题[4]。

以同一级别下的零件为例,用参数因子记录其序号。

1)判断其名称是否与前面的零件名称是否相同,倘若一样则不对其进行命名,参数因子不变,索引号i++。

2)若前面没有相同名称的零件,则进行规范化命名,序号即为参数因子。

3)命名做完后再为该零件后面的零件做同名判断,没有出现同名零件,则参数因子直接+1,并对下一个零件进行步骤1判断,直至结束。

4)若出现同名零件,则对所有同名零件进行改名,序号都为参数因子,因此结束后相同零件的序号是一样的,同名全部判断结束后参数因子p++,并对下一个零件进行步骤1判断,直至结束(图3)。

图3 同级零件命名流程

二、三级同名零件的判断与一级相似,但二、三级之后的命名与一级之间没有联系,所以要设立二级参数因子以及三级参数因子,每级参数因子只能管理本级别的序号。

参数因子的使用,可以顺利解决相同零件的序号问题,同时对不同零件以及组件的序号也适用,可以管理整个总装文件的序号问题[5]。并且在不改变零件顺序的情况下,提高了运算效率。同时二、三级参数因子的引入,可以分层管理各个级别的序号问题,这样各个级别的序号也不会干扰和影响。

2.4 系统实现

根据前面的设计原理的可行性,基于VS2005软件开发,最终实现了工装智能快速命名工具。并且与人工命名相比,效率与正确率都得到了提高(表1)。

表1 测试结果

从表1中数据可知,工装智能快速命名工具可以满足客户的需求,并且效果让人满意。图4为命名前后效果图程序运行结果与预期相符,智能命名得以实现。

图4 命名前后效果图

3 程序优化

3.1 文件级别的扩展

根据用户需求,总装文件下最多三级零组件,但是可以把组件下面一级的命名做成一个子函数,若遇到组件就做子函数对组件下一级进行命名操作。因为每个组件中的零组件命名之间不受影响,所以参数因子就可以在子函数中声明,这样就可以管理组件里面的零组件序号。运用子函数,不仅省去了大量的重复性代码,并且可以无限的循环下去,即使组件级别多余三级,程序也能运行。

3.2 实例名命名的优化

GB/QB/HB件的命名是在实例名中运行的,简单来说就是在已有的实例名称后面加上序号,虽然这样方便,但倘若多次使用工装智能快速命名工具,则实例名后面的序号会不断增多,例如第一次命名后实例名为GB-1.1-1,若由于误操作或需要进行第二次命名结果即为GB-1.1-1-1,显然这样是不符合要求的。

这是因为实例名的来源是不断变化的,因此要找一个固定的名称来源。GB/QB/HB件的名称是不变的,是一个固定的名称来源,但也要与相同的GB/QB/HB件实例名进行区分,因此给判断重名这个子函数也配了一个子参数因子。子参数因子用来管理同名零件的实例名的序号,在相同的零件中,子参数因子用来记录相同零件的序号,就可以区分出相同零件的实例名。这样即使经过多次命名,零件的实例名还是不变的,而且不会重复,工程上将不会出现上述的错误。

4 结论

本文提出了一种基于参数因子的命名方法,来管理相同零组件的序号及命名。基于CATIA和VS2005环境实现了不同级别、不同类型的文件序号的正确管理,经过用户测试,大大缩短了用户的劳动时间,减少了劳动强度,并且提高了正确率,具有很高的实用价值。

[1]李洋,廖文和,李迎光.CBR技术在飞机工装设计中的应用[J].机械制造与自动化,2007(01):65-67.

[2]韩洁,王仲奇,康永刚,等.飞机工装设计知识库系统的研究[J].机械制造,2011(02):92-95.

[3]席平,李宝亮,曲学军.飞机装备工装CAD设计方法研究[J].航空制造技术,2002(08):55-57.

[4]王莉.各种内部排序算法的比较[J].黑龙江科技信息,2009(29):90.

[5]云微.排序算法的分析与比较实现[J].科技信息,2008(33):498-519.

猜你喜欢

零组件工装命名
某型轴承防错工装的设计
命名——助力有机化学的学习
轴钻斜孔工装设计
一种取出塑件残余量的辅助工装
有一种男人以“暖”命名
为一条河命名——在白河源
最新版有效和多版本有效技术分析
台湾电子零组件批发业:大陆产业链变化使其备受压力
工装风衣
河鲀命名小考