第29卷第14期V01.29No.14计算机工程与设计2008年7月ComputerEngineeringandDesigllJuly2008基于CATIA二次开发的飞机外形参数化设计谢岳峰,余雄庆(南京航空航天大学航空宇航学院,江苏南京210016)摘要:解决如何实现飞机外形参数化设计这个问题有二个要点,第一飞机外形的参数化描述,第二根据这些参数通过何种编程方式自动生成飞机三维外形图。以一个简化的飞机外形为例,在研究了飞机外形的参数化描述基础上,应用Vc++环境下c肌二次开发的自动化技术,实现了飞机外形参数化设计.实例表明,所提出的方法能快速地自动生成飞机三维外形,可以实现飞机外形参数化设计。关键词:计算机辅助设计;参数化模型;飞机外形;cATIA;二次开发中图法分类号:TP391.72文献标识码:A文章编号:1000.7024(2008)14.3792.03P聪吼etricdesignofanraRconfigurationusingAPIinCATIAXIEYue-feng,YUXiong—qing(CollegeofA盯ospaceatEngine嘶ng,NanjingUniVers时ofAeronauticsanandAs们n枷cs,N删ing210016,ChiIIa)are锕okeyissu∞shapeofaAbstract:Aimedt0developingmeappfoachf研thep咖etricdesignofaircmftcmIfigmtion.Tbthis∞d,therebesolved:First'p壮锄etricnleaircmftautomaticallybasedtheap舢etricr印resentalionoftheaircraftconfig嘲ion,representation.Thes既;ond,howtog%emtemrce—dim伽ionalpamm吲ctestex锄plef.0rthe印proach.Theshowsmatpar锄∞tricr印resemationof也e砒Dcraft池raRconfigmti∞isimplementedbymakingu∞oftlleAPItechniqueoftl圮CADsof时are,n锄elyautomationincAllA.The删ex姗pleoftlleconfi舭tiondesignofmeconfigurati伽ofagenericisah硼isu∞d鹪oftheinvestigatcd.Thep撇me仃icdesignthe印proachpresen锨“sabletog∞emteap砒狮鲥cdesignofa曲僦config咐tion.tllreediIn饥sionalshapeoftlleaircmftautomatically柚dmeetmeneedKeywords:CAD;parametricmodeling;aircraftc∞figuration;0引言的曲面生成功能,可以避免重复的曲面生成编程工作;③应用C朋A还可以计算出面积、体积等几何特性,这些信息在飞机总体设计中非常重要。以下文章中首先介绍在Vc++环境下CATIA二次开发的步骤,然后讨论飞机参数化描述,最后以一个简化的飞机外形飞机三维外形设计是飞机总体设计中的~个重要组成部分。由于在总体设计阶段飞机外形经常需要修改,因此如何快速地生成飞机三维外形模型是一个必须解决的问题。参数化设计为快速地生成飞机三维外形模型提供了一种有效的途径“1。参数化设计是指系统通过尺寸驱动的方式,以独立的几何约束条件按既定的几何参数生成一系列具有相同或相似几何特征的二维或三维图形的一种设计方法。从编程角度来看,实现参数化设计的途径主要有两种:①基于图形库∽1,如op蜘GL;②基于已有的cAD软件进行二次开发叫。基于图形库的方法实现飞机i维外形建模相对复杂些;而基于CAD软件的方法则可以省略图形软件的开发,同时可以利用已有CAD系统的强大功能和通用性。本文研究如何应用Vc++编程语言和cATIA的二次开发技术实现飞机外形的参数化设计。之所以基于cATIA软件,原因如下:①航空工业界广泛应用cAT队软件,因此生成的三维cAD模型能为各种设计部门直接使用;②CATlA具有很强收稿日期:2007.07.16为例,证明了基于C肌二次开发实现飞机外形参数化设计的可行性。l在Vc++环境下的CAT执二次开发在VC++环境下的CATlA二次开发有两种方法旧:一是CAT队CAA(componentapplicationarch妇ctIll.e)。此方法较复杂,同时也不适用于自动绘图,而且此方法只能应用于VC++6.O;另一种是CAllAA嘶加ation。该方法基于COM“1(componentobjectmodel)的oLE(objectliking且其应用就是自动绘图。本文采用第2种方法,下面以开发环境为VisualStllmo.NET2005中的C++为例,介绍应用cAT队Automation技术的主要步骤。and啪bedding),相对简单,并E哪ail:印ril_sky.nu雅@163.com余雄庆(1965一),男,重庆人,博作者简介:谢岳峰(1982一),男,湖南株洲人,硕士研究生,研究方向为飞机总体设计、计算机辅助设计;士,教授,研究方向为飞机总体设计和多学科设计优化。一3792—万方数据 1.1接口(c胍类库)的引入使用“iInpo扩命令引入“.tlb”文件,如:翔nport“…、Bl嘶n-tela、code\bin认ECR聊e“b.tlb”崩l锄en锄豁paoe(“C从”)。结果在Debug文件夹下会对应生成两个文件“∞cnypelib.tlh”和“aelcnypclib.U,;或者仅有一个“.tm”文件。以V5R14为例,共有92个接口文件。在引入所有的接口文件后,使用命令“璐ing∞mesp∽e(CAA广。1.2资源文件的添加将以上生成的“.tm”和“.ni,,文件添加为项目的资源文件,这样就能在对象浏览器中看到引入的接口类。做好这些工作后,就可以使用c肌提供的接口类了。必须注意的是:引入的接口类在类名后要加“P矿,例如,样条曲线类“HybridSh印e—Spl沁”必须写成“HybridShapesplillePtr"。1.3关键程序段在C++中启动CATn或捕获已经在运行的CATIA程序,然后新建一个“Pa∥。使用以下程序段:::CoInitialize(NULL);∥初始化COM环境Applicati咖P仃CAT认;HRESU【TR鹤ult=NoERROR:CLSIDAppClsid;IUnkndwnResInt=::CLSlDF“HnP“'gID(L”CA:I’IA.Applica虹∞”,占柳4pAppUnl【=M儿L;Clsid);R器ult=::Ge‰tiveObje烈AppCls地NULL,&pAppu心;∥获取已运行的CAT队进程if(FAILED(Result)){if【(CoCreatcIIlstance(AppClsid,NULL,CLSC’I?LSERVERIIDn『nlmown,(void¨)&p√咖Unl【))I_S-_oK)//启动CATlA软件Ex砸O):}R-esun=pAppUI她>IQIlcryInte晌ce(-川dof【cA:r认),(void·‘)&CAnA):”ppunk》Rele私eo;pAppUnk=MII,I一;C—汀IA.Getbte:r‰enD:C肌》PutVisible(TRUE):∥此处若设置为队LSE则运行时C栅A不显示,只能在电脑中看到CAT认进程,而看不到图形界面//建立”Part”£'0c啪entsP虹docunlents:docum%ts=CAT认-×≥etDoc啪∞ts():BSTRAddPart=』n1』l::C伽VertS仃啦ToBSTR(”P弧”);PartDoc砌即tP廿p盯妣岫ent;p{trtdoc啪舶t=doc啪%ts->Add(&AddI’an);::CoUIlinitial让叙);//释放cOM环境分,也是必不可少的。它实现了自动启动C舭和新建零部以上程序段是C++环境下的C脓二次开发最基本的部件的基本步骤。2飞机外形参数化描述飞机部件主要包括机翼、机身、平尾、垂尾、发动机短舱万 方数据等,其中机翼、平尾、垂尾可统称为翼面。以下依据文献【7】分别定义这些部件外形参数。2.1机翼外形参数机翼外形参数可分为总体轮廓参数和剖面参数。一般地,机翼外形轮廓可分为二段:内翼和外翼,如图l所示。图l两段机翼(右半翼)总体图轮廓参数主要包括:①机翼面积卜整个机翼的参考面积;②展弦比彳一机翼展长与平均几何弦长之比;③展长比只厂·内翼段半展长与全机翼半展长之比(m:&≤1);④安装角一机翼根弦与机体坐标系xY平面的夹角;⑤梢根比A-一内翼段翼尖长度与翼根长度之比(0≤九≤1);⑥内翼段后掠角4,一内翼段1/4弦线与机翼对称面垂线的夹角,后掠为正,前掠为负;⑦扭转角矗一内翼段翼尖相对于自身翼根的安装角之差,翼尖上翘为正,下偏为负;⑨上反角几一内翼段扭转轴与x轴所形成的平面和XY平面之间的夹角,上反为正,下反为负;⑨外翼段梢根比卜外翼段翼尖长度与其自身翼根长度之比(o≤如≤1);⑩外翼段后掠角彳:一外翼段l/4弦线与机翼对称面垂线的夹角,后掠为正,前掠为负;⑧扭转角f2一外翼段翼尖相对于自身翼根的安装角之差,翼尖上翘为正,下偏为负;⑥上反角n一外翼段扭转轴与X轴所形成的平面和XY平面之间的夹角。剖面形状由所选的翼型确定,在翼尖、翼根和内外段连接处选择3个翼型,可以相同,也可以不同。平尾和垂尾外形参数与机翼类似,但通常不分内外段,只有一段,比机翼简单,不再赘述。2.2机身外形参数一般来讲,机身外形比较复杂。本文以一个简化的机身外形为例,如图2所示。图2机身纵剖面机身外形的参数化采用已有截面模型加上重要参数的方法,也就是预先做好机身各个截面的轮廓形状(以点的坐标给出),以及各截面在机身纵向的相对位置,保存成数据文件,而参数化自动绘图时只要给出重要的参数就可以生成。为简化起见,重要参数只取两个:机身长度工和机身最大截面处直径D。短舱外形参数与机身类似,不再重复。3实例以上述飞机外形参数化为基础,通过CAT队Automati∞一3793—编写生成飞机外形的CAT队驱动器,就可以在VC++环境下驱动cATn自动生成飞机的外形三维图。以生成翼根翼型和位置为例,程序段如下:HybridShapePointCoorcuP仃hybridsh印ePointC00rd;//定义C肌中的点HybridShapeSplineP仃hybridShapeSpline;//定义C肌中的样条曲线,此为根弦翼型曲线hy嘶dShapeSpIine=hy晰dShapeFacto妒>Ad烈cwSplineO;hybridshapespline->setspline’I州O);hybridshapespline一>setClosing(O);,/样条曲线的添加和参数设置锄gle=-Incid朋ce+PI/180;肌ncidence为安装角for(i=o;!infiIe【i】.eo的;i++)//直到翼型文件结束终止{infiIe[订>:强≯>z:xc=C一(x‘cos(锄gle)-z‘sin(姐gk));yc=O;//Cr为弦长zc=Cr‘(x+sin(锄gle)+z‘cos(锄gle));//(x,z)为读入的翼型点坐标,(xc,yc,zc)为根弦点坐标hybridShapePointCoord=hybridShapeFactory一>A“NewPo缸Coord(xc,yc,zc);//在CAT认中添加点hybridshapeSpI如》AddPom(hy晰dShapePoilltCoord);//将点添加到样条曲线}此段程序定义了安装角这个参数,改变这个参数,在绘图时机翼的安装角就会发生变化。对于其它部件形状,可编写类似的VC++程序。以某飞机外形为例。表l列出了该飞机的机翼的外形参数,表2为平尾和垂尾的外形参数。机身的长度为30m,直径为3m。运行所编C++程序,就可以自动生成飞机的外形三维图。图3为依据该组参数在CAT队中自动生成的三维图。表l机翼外形参数参数值机翼面积双Ⅲ·Ⅲ)79.96展弦幽9.3展长比忌O.38安装角(衄)3.O内段梢根比^。O.523内段后掠角4-(出曲27.54内段扭转角f.(出g).2.9内段上反角^(蛔)5.O外段梢根比^:O.4142外段后掠角4“啦)27.54外段扭转角“咖).2.2外段上反角几(啦)3.O翼根翼型NACA63-412连接处翼型NACA63.210翼尖翼型NACA2412—3794一万 方数据表2平尾和垂尾外形参数参数平尾垂尾面积双Ⅲ’Ⅲ)30.015.0展弦比彳5.O5.0梢根吼0.4O.4后掠角/l(出g)30.O45.0扭转角r(衄)5.O0.O翼根翼型NACA0012NACA0012翼尖翼型NACA0012NACA0012图3生成的飞机外形4结束语由于CAl7队提供的用于Am眦砒ion的二次开发接口非常丰富,几乎覆盖了CAT认的所有模块的基本功能,特别是几何建模方面具有很强的曲面生成功能,加上面向对象的C++编程语言的强大的自由编程功能。所以几乎在CAT认中手工能实现的功能,用次二次开发技术都能实现。从以上算例也可以看出基于C肌二次开发的飞机外形参数化设计是完全可行的。一旦建立好参数化模型,就可以实现飞机外形的自动生成,省去了重复的手工操作,缩短了飞机设计周期。参考文献:【1】孟祥旭,徐延宁.参数化设计研究【J】.计算机辅助设计与图形学学报,2002,14(11):1086.1090.【2】金海波,丁运亮.飞机概念设计中的外形参数化模型的研究【J】.南京航空航天大学学报,2003,35(5):540.544.[3】RDdrigIlezDL,StIJrdzaP.Ampidgeomenyengineforp佗limi-narya№mftdesi鳃[C】.R肋o,Nevada,USA:Proceedingsof44thAIAAAemspaceSciencesMeetillg蛆dE)dlibit,20016.【4】范辉,李为吉.CAD系统的二次开发在飞机构型优化中的应用【J】.计算机工程与设计,2006,27(13):23l9-2321.[5】Da豁跏nSystems.C枷AV5I眇usdsdoc啪%切lion【z】.D船.s肌ItSys自嘲,2002.[6】龙峰,樊留群.cATnV5二次开发技术探讨【J】.淮阴工学院学报,2005,14(5):21’27.【7】RaymcrDP.Aircfmdcsi印:Ac∞ccptualappro孔h【M】.AIAAEducationSe画%.1999.[8】杜天飞,张应中,罗晓芳.基于cOM的CAD软件二次开发平台的构建【J】.计算机工程与设计’2004,25(12):2349.2351.基于CATIA二次开发的飞机外形参数化设计
作者:作者单位:刊名:英文刊名:年,卷(期):被引用次数:
谢岳峰, 余雄庆, XIE Yue-feng, YU Xiong-qing南京航空航天大学航空宇航学院,江苏南京,210016计算机工程与设计
COMPUTER ENGINEERING AND DESIGN2008,29(14)3次
1.Rodriguez D L;Sturdza P A rapid geometry engine for prelimi-nary aircraft design 20062.金海波;丁运亮 飞机概念设计中的外形参数化模型的研究[期刊论文]-南京航空航天大学学报 2003(05)3.孟祥旭;徐延宁 参数化设计研究[期刊论文]-计算机辅助设计与图形学学报 2002(11)
4.杜天飞;张应中;罗晓芳 基于COM的CAD软件二次开发平台的构建[期刊论文]-计算机工程与设计 2004(12)5.Raymer D P Aircraft design:A conceptual approach 1999
6.龙峰;樊留群 CATIA V5二次开发技术探讨[期刊论文]-淮阴工学院学报 2005(05)7.Dassault Systems CATIA V5R9 user's doeumentation 2002
8.范辉;李为吉 CAD系统的二次开发在飞机构型优化中的应用[期刊论文]-计算机工程与设计 2006(13)
1. 李自胜.朱莹.向中凡 基于CATIA软件的二次开发技术[期刊论文]-四川工业学院学报2003,22(1)
2. 周桂生.陆文龙.ZHOU Gui-sheng.LU Wen-long CATIA二次开发技术研究与应用[期刊论文]-机械设计与制造2010(1)
3. 张富海.李军向.陈淳.罗晓军.ZHANG Fu-hai.LI Jun-xiang.CHEN Chun.LUO Xiao-jun 基于CATIA二次开发的风力机叶片建模技术[期刊论文]-玻璃钢/复合材料2010(2)
4. 李维学.王仲奇.康永刚.殷俊清 基于CATIA V5二次开发的产品自动装配[期刊论文]-机械制造2010,48(1)5. 魏欣.刘希玉.牛雪丽.WEI Xin.LIU Xi-yu.NIU Xue-li 基于CATIA二次开发的帆船酒店造型设计[期刊论文]-山东建筑大学学报2009,24(6)
6. CATIA V5二次开发技术探讨[期刊论文]-淮阴工学院学报2005,14(5)
7. 陈靖芯.徐晶.陆国民.蔡兰 基于CATIA的三维参数化建模方法及其应用[期刊论文]-机械设计2003,20(8)8. 郑发勇.沈利冰.高卫民.徐康聪.Zheng Fayong.Shen Libing.Gao Weimin.Xu Kangcong 基于CATIA二次开发的仪表盘视野校核[期刊论文]-汽车技术2009(5)
9. 邵立.张树生.张开兴.Shao Li.Zhang Shusheng.Zhang Kaixing 基于CATIA二次开发的渐开线直齿轮参数化设计[期刊论文]-航空制造技术2011(3)
10. 董廷.DONG Ting 基于CATIA二次开发的车身骨架建模[期刊论文]-客车技术与研究2010,32(6)
1.廖炎平.刘莉.王嘉博 无人机外形参数化建模及CATIA二次开发[期刊论文]-弹箭与制导学报 2011(5)2.李振水.吴永康.盛英 基于CAD/CAE软件二次开发的飞机液压管路设计仿真[期刊论文]-液压与气动 2011(10)3.湛岚.余雄庆.沈琼 大型客机概念设计的外形参数化CAD模型[期刊论文]-计算机工程与设计 2009(16)4.张宗科 CATIA二次开发辅助实现空气螺旋桨配重的优化设计[期刊论文]-船舶 2009(2)
5.孙伟.马辉.李朝峰.闻邦椿 面向机械产品可视优化设计的参数化建模[期刊论文]-东北大学学报(自然科学版)2009(11)
本文链接:http://d.g.wanfangdata.com.cn/Periodical_jsjgcysj200814074.aspx