飞机钣金零件二维展开视图自动标注弯边角度系统
2015-05-31沈阳航空航天大学刘宝明韩志仁
沈阳航空航天大学 刘宝明 韩志仁
我国航空钣金零件大多用法国Dassault公司的CATIA建模,CATIA提供的航空钣金模块虽然专门针对航空零件,但生成钣金件二维展开视图时不能生成弯边角度线,也不能进行弯边角度值的标注。因此长期以来都是采用手工的方法,即必须手动在三维模型上确定各切面位置,切取大量的切面后分析角度。生成二维展开视图时,须将切面位置测量到二维视图上,按三维空间分析得出的角度值在相应的切面位置标注弯边角度值。特别是0°角的位置需经多次试切才能找到,浪费大量时间,同时0°位置可能是近似的。
针对这一现状,本课题组开发了基于CATIA环境下的飞机钣金件二维展开视图自动标注弯边角度系统,主要用于机身与机尾翼零件的二维展开,能够实现生成二维展开视图后按规定的间隔(如30'或1°)直接生成各弯边角度值位置点及角度值标记,自动标出0°角位置,并在零件边缘标注角度值。本软件系统采用CAA(Component Application Architecture)进行CATIA的二次开发,使软件内嵌于CATIA V5平台,与CATIA实现无缝结合。
1 系统设计
1.1 生成角度线的规则
不同类型的零件需要采用不同的算法,因此有必要对零件分类,按照不同的规则生成弯边角度线。对于双曲面的机身零件采用割线斜角,对于直母线的机尾翼中,采用切线斜角,如图1所示。
图1 弯边角度示意图Fig.1 Diagram of curve edge angle
1.2 系统总体结构及各功能模块
系统采用模块化的设计方法,每一模块具有独立的功能,且又组成一个有机的整体,方便系统优化与完善,结构如图2所示。
1.2.1 几何信息拾取及预处理
此模块根据CATIA的拾取及CAA的交互功能,主要完成系统计算所需的几何信息的拾取及预处理,按所处理的零件类型,分别从原始零件图中拾取计算所需几何元素,如腹板、弯边内(外)型面和各表面的外延线,以及弯边外型面的顶点等。在此模块中利用函数完成提取表面的外插延伸,求其交线,即内(外)型交叉线,并分别存储。
1.2.2 弯边角度计算
弯边角度计算模块主要完成如下功能。
(1)根据用户输入的截面个数将内(外)型交叉线离散,并生成曲线的法平面,对零件进行切分。
(2)求出截面与腹板面和弯边面的交线,进而根据交线及弯曲角生成规则求出弯曲角。
(3)根据用户输入的间隔角度大小及允许角度误差参数,对求出的各截面处的弯曲角进行排序筛选,去除多余的角度值,只保留必须的数据。同时删除多余角度位置对应的截面线。
图2 系统结构Fig.2 System structure
1.2.3 钣金件二维展开图绘制
二维展开视图的绘制采用CATIA钣金模块的展开命令展开原始钣金件,再投影到二维图纸空间中完成。由于直接将展开的钣金件投影生成的视图会出现多余线条,并且无法得到所需的角度线,故此模块采用投影曲面的方法,实现步骤如下。
(1)展开原始钣金件。
(2)由程序提取展开后零件的外表面,并在角度线位置根据保留的截面线拉伸为投影辅助平面。
(3)建立新的Part文件并将所有辅助面拷贝至该Part文件中。
(4)建立CATDrawing文件,将新建的Part文件内的辅助面做正投影,生成二维视图。
(5)在角度线位置标注角度值。
2 VC++环境下交互式工程的建立
CAA下CATIA的二次开发有2种模式,即交互式和批处理[1-2]。采用批处理式的开发方法不需要启动CATIA软件,直接将零件数模读入内存进行处理,由于本系统需要与用户进行交互得到数模中指定的几何元素,故此方法并不适用,应采用交互式开发方法。
下面以Visual Studio.net 2003环境下对CATIA V5R16进行二次开发为例,介绍建立开发工程的关键步骤。
2.1 建立Addin工程
建立新的CAA工程后,添加新组件,在可用C++接口列表中选择CATIPrtWksAddin,系统会自动建立新的Addin类,并生成该类的头文件(*.h)与实现文件(*.cpp),当用户启动CATIA软件,打开Part零件时会调用该类的特定函数,完成初始化过程。
2.2 建立功能菜单及工具条
用户使用本系统对零件数模进行处理时,应根据需要完成的内容选择相应的菜单或工具条中的按钮,菜单与工具条的初始化是在上述生成的文件中完成的。实现方法如下。
(1)重载CreateCommands()函数,并在该函数中注册新的命令,如下语句在系统中注册了CalAngCmdHdr命令。
new C A T A u t o D r a w A n g W k b C m d H e a d e r("CalAngCmdHdr", "AutoDrawAngModule",
"CalAngCmd", (void*) NULL);
(2)重载CreateToolbars()函数,并在该函数中添加菜单项和工具条,代码如下:
//创建新工具条
NewAccess(CATCmdContainer,pAutoDrwAng,"自动标注角度");
//添加第一菜单项
NewAccess(CATCmdStarter,pPickMsg,PICKMSG);
SetAccessCommand(pPickMsg," PickMsgHdr");
SetAccessChild(pAutoDrwAng, pPickMsg);
//添加第二菜单项
NewAccess(CATCmdStarter,pCalAng,CALANG);
SetAccessCommand(pCalAng,"CalAngHdr");
SetAccessNext(pPickMsg, pCalAng);
……
//创建新菜单
NewAccess(CATCmdContainer,pMenu,CATUserMainb ar);
NewAccess(CATCmdContainer,pCATUserMainMenu,自动标注角度);
SetAccessChild(pCurveM,pCATUserMainMenu);
……
SetAddinMenu(pAutoDrwAng, pMenu);//添加系统菜单
AddToolbarView(pAutoDrwAng,1,Right);//添加系统工具条
3 标注实例
图3为飞机弯边零件的三维数模,包括4个弯边,分别为直弯边和曲弯边,使用本软件处理后得到的二维标注视图如图4所示。
图3 零件三维数模Fig.3 Parts 3D digital model
图4 展开后的标注视图Fig.4 Flat pattern dimensional view
4 结论
本文提供了一个飞机钣金件二维展开视图自动标注弯边角度系统,能够对机身、机尾翼等各种复杂零件的弯边二维展开图自动生成角度线位置,并按预定规则进行角度值的标注。处理结果满足企业要求,实现了零件处理的自动化,从而缩短了飞机生产准备周期。
[1] 张敏,苏兰海,王君英.基于CAA的CATIA用户自定义特征创建.机械设计与制造, 2008(9):87-89.
[2] 龙峰,樊留群.CATIA V5二次开发技术探讨.淮阴工学院学报 ,2005,14(5):21-27.