0 引言
参数化设计是计算机辅助设计中的一项重要的技术,是初始设计和多种方案比较的有效手段。在机翼结构设计的选型阶段,需要对几种不同方案进行对比研究。翼面结构建模过程中往往需要对一些元件位置、尺寸等进行调整,但后期修改模型的工作十分复杂,有时甚至无法修改;翼面结构中相同的元件(如长桁、翼肋等)有多个,这些元件的建模方式虽然完全相同,但结构设计人员仍要做大量重复性的工作。从缩短设计周期的角度考虑,参数化建模技术作为一种先进的设计方法可以很好的解决翼面结构建模中遇到的难题。
首先,将翼面结构主要元件的布局,尺寸设定为参数,通过对参数的重置,实现对各元件布局、尺寸的重新调整;其次,程序语言可使翼面结构复杂琐碎的建模过程模块化,方便管理且简化了大量复杂的建模操作,使结构设计人员能够把更多的精力放在设计本身。因此参数化建模可以提高翼面结构建模的效率和质量。如何快速建立满足各种方案设计、预研要求的翼面结构数学模型,已成为工程领域急需解决的难题。基于计算机辅助设计软件的二次开发技术为飞机翼面结构参数化设计方法提供了一种有效的途径。
本文研究如何应用CATIA的Automation二次开发技术和C++、VB语言混合编程实现飞机翼面结构的参数化设计。要自动生成翼面结构模型,必须要找到能够准确描述翼面结构布局和各元件的位置、尺寸的参数。其中机翼的平面控制参数既可以是用户手动输入,也可以从总体模型读取。各组成元件的尺寸、位置参数从软件界面输入,翼型数据从文件读取。得到这些参数后,结合CATIA的建模规范,程序可以自动生成翼面结构CATIA三维模型。参数化创建的三维CATIA模型既可以计算出面积、体积等几何特性,方便查看截面几何信息及快速生成相应工程图,也可以提供给各个设计部门直接使用。同时在工程实践中,特别是航空航天复杂零件的设计中,使用CATIA建模生成中间文件来进行有限元分析的方法也具有很强的现实意义。文章最后以简化后的某型飞机翼面结构作为实例,证明了应用CATIA二次开发方法实现翼面结构参数化设计的可行性。
1 翼面结构元件的参数化描述
1.1 机翼平面形状及其组成元件站位信息的参数化描述
机翼平面形状的控制参数有半展长L、前缘后掠角xo、根弦长b0、尖弦长b1。
以图1中所示机翼平面形状为例,假设机翼为双梁式,长桁等百分比布置(上、下翼面的个数可不同),翼肋为顺气流布置,这些元件的个数、位置均以参数形式给出,确定这些参数后就可以唯一确定机翼的平面形状以及各元件的站位信息。
图1 机翼平面参数
1.2 翼面结构元件截面形状的参数化描述
1.2.1 梁的设计
翼梁由腹板和缘条组成,腹板用于承受扭矩引起的剪流和机翼的剪力,缘条用于承受弯矩引起的轴向力,受拉伸和压缩。
现代飞行器翼面普遍应用腹板式梁,梁缘条以承受轴向拉压方式承弯,腹板承剪。腹板式梁的控制参数有梁的高度、梁缘条的截面尺寸、梁腹板的截面尺寸。从剖面形状看,梁腹板的截面多为矩形,梁缘条有开口型和闭口型。梁缘条的截面形状有多种形式可供选择,其参数描述如图2所示。
1.2.2 壁板的设计
蒙皮起传递气动力和维持机翼外形的作用,现代飞行器翼面一般采用承力蒙皮,蒙皮较厚。设计时根据翼肋的站位,蒙皮沿展向,以翼肋缘条为边界分段变厚度,每一段厚度值自己设定。
长桁的主要功能是承受机翼弯矩和局部空气动力载荷引起的轴向力和剪力,此外在纵向起支持蒙皮的作用。长桁支承在翼肋上,相当于一根处于纵向和横向弯曲作用下的多支点梁柱。长桁的设计与梁缘条设计方法相同,布置方式分为等百分比布置、给定角度布置、平行于前梁布置、平行于后梁布置。
图2 梁缘条的截面参数
1.2.3 翼肋的设计
普通肋用于维持机翼剖面形状,并传递初始局部气动载荷。同时翼肋还有支持蒙皮和长桁的作用,从而提高加筋壁板的抗失稳能力。加强肋传递来自其它部件传来的集中载荷或将某种形式的分布剪流转换成另一种形式的分布剪流。
翼肋构造形式有多种,在初步设计阶段,以腹板式作为简化,翼肋缘条和腹板的设计方法与腹板梁的设计方法相同,参数化设计时,根据翼型数据与当地弦长,绘制各段翼肋的轮廓。
2 Visual Studio环境下的CATIA二次开发
CATIA Automation二次开发方法最直接的应用就是简单的自动绘图,在Visual Studio环境下,基于COM(component object model)的OLE(object liking and embedding)自动化技术对开发语言没有限制,为混合编程下的二次开发技术提供可能,且能使一些复杂问题得到简化。而CATIA CAA(component application architecture)二次开发方法不适用于自动绘图,实现方法也较复杂,并且对Visual Studio的版本也有限制,但CAA方法功能强大,可以为其他的开发方法提供借鉴。本文使用CAA Automation方法,在C++和VB语言下,介绍在Visual Studio 2010、CATIA V5R18环境下应用CATIA Automation技术的主要步骤,通过混合编程,实现翼面结构的快速建模。
2.1 CATIA类库的引入
在Visual Studio环境下,使用#import"…[.tlb"high—method prefix("Catia")rename—namespace("CAT")逐个引入CATIA安装目录下的93个“.tlb”库文件。由于CATIA类库中的函数名可能与C++标准库、Access数据库及Office类库的函数名相冲突,因此引入CATIA类库时用high—method—prefix("Catia")声明。此外,在CATIA类库引入的过程中,其自身多个类库的函数名冲突,需要调整类库的引入顺序并把相冲突的类库放在不同的命名空间下。编译成功后,会在debug目录下生成对应的“tlh”和“tli”文件。
VB环境下只需在“工程一引用”选项中把所需CATIA类库勾选即可。
2.2 机翼平面参数及翼型数据的读取
考虑到某些CATIA的接口函数使用安全数组作为形参,而使用C++语言Automation做二次开发时不清楚如何构造相应的安全数组,且VB语言中安全数组的使用方法实现起来较为简单,故使用VB语言编写可以读取总体模型信息的动态链接库(DLL),使用C++调用的方式实现模型读取功能。
程序首先利用曲面设计下的AddNewlntersection()函数来剖分修型后的飞机总体模型机翼段,得到能够描述翼型样条曲线的控制点,然后将这些点拆分、重命名,再按名字查找特征并读取点的坐标值。按名字查找特征时不能使用FindObjectByName()函数,它不适用有特征重名的情况,应使用
CATIA.ActiveDocurnent.Selectio n_Search"Name=obj.1,all"方法。
获取机翼某段翼肋剖面上点的类型和个数的方法为:
CATIA.ActiveCbcmnent.Selection.Search
(PointName)
NmnOfpointsSelected=selectionPoint.Count2
Set selectedElementl=selectionPoint.Item2(1)
DetectPointType=selectedElementl.Type()
用TheSPAWorkbench.GetMeasurable方法获取前缘后掠角
获取机翼某段翼肋剖面上的HbridShapePointCoord类型点坐标的方法为:
Set SelectedPbint(i)=CATIA.ActiveDocument.
Selection.Item2(i+1).Value
SelectedPoint(i).GetCoordimtes CoordTmp
2.3 翼面结构模型的参数化创建
创建CATIA应用的代码如下
HRESULT hr=S_OK;
Hr=m _CATIA.GetActiveObject("CATIA.Application");
if(FAILED (hr)){
hr=m CATIA.CreateInstance("CATIA.Application");
)
建立CATIA绘图环境,新建Part,启用混合设计的过程是:
DocumentsPtr documents_WStru;
documents_WStru=m_CATIA→GetDocuments();
BSTR AddPart=_com_util::ConvertStringToBSTR("Part_WStru");
PartDocumentPtr partDocument_WStru;
partDocument_WStru=documents_WStru→CatiaAdd(&AddPart);
PartPtr WingStru=partDocument_WStru→GetPart();
WingStru→CatiaUpdateObject(hybridBodySkin);
将绘制翼面结构的梁、长桁、蒙皮、翼肋所用到的点、线、面几何特征分别放在相应几何图形集下,例如蒙皮几何图形集的创建方法为:
HybridBodiesPtr hybridBodiesSkin=WingStru→HybridBodies;
HybridBodyPtr hybridBodySkin=hybridBodiesSkin→CatiaAdd();
BSTR SkinName=_com_util::ConvertStringToBSTR ("SkinDatum");
hybridBodySkin→PutName(&SkinName);
WingStru→CatiaUpdateObject(hybridBodySkin);
需要说明的是,在草图平面创建样条线时需要创建安全数组。在安全数组中存储控制点类型的指针,然后用CreateSpline()函数创建样条线,再用InsertControl-PointAfter()方法把ControlPoint2D类型的点附加到样条上。还可以用AddNewSpine()方法直接创建空间曲线。利用这两种方法生成的样条曲线都能通过loft命令生成代表蒙皮的厚曲面,蒙皮可沿展向分段变厚度。
模型树的PartBody下包含梁、长桁、肋等元件的实体造型。先在草图平面绘制元件的截面形状,然后生成实体,其方法如下
3 实例
机翼的平面形状可以是平直的(矩形、梯形)、后掠形、三角形。以上述机翼结构参数化为基础,表1给出了机翼结构的平面尺寸数据,由这些数据程序可以绘制出机翼的平面轮廓。其中,半展长L为机翼外漏部分的展长。
表1 机翼平面尺寸
表2列出了机翼沿展向各段的站位值,即翼肋的位置,建模时蒙皮沿展向,以翼肋为分解,每段可设计成不同厚度,采用AG11翼型。
表2 站位信息
实例采用双梁结构,上、下蒙皮等百分比布置,表3展示了前梁和主梁位置及长桁的布置信息。
表3 翼梁、长桁元件的个数及位置
为简化以上实例数据,翼梁、长桁、翼肋等元件的截面假设为直线。通过运行翼面结构快速设计软件系统,程序调用CATIA软件自动生成翼面结构的三维模型。图3所示翼面结构CATIA数模为该软件系统依据上述参数自动创建完成。
4 讨论
软件通过用户输入或模型读取机翼平面参数,手动设置翼面各组成元件的个数、位置、截面控制参数,通过CATIA Automation二次开发方法,快速建立翼面结构模型。在满足翼面结构设计精度的同时,参数化设计手段可以大大提高模型的生成和修改速度。软件在开发过程中已经集成了一些工程算法。这些算法通过合理地分配弯矩,结合稳定性、最大应力等约束条件的限制进行翼面结构方案设计。后续工作可进一步改进和完善这些算法,开发出既满足设计要求,又能快速建立翼面结构模型的软件,并通过机翼结构方案设计算例进行验证。本翼面结构快速设计软件具有很明确的操作步骤,便于设计人员在未来飞机设计中使用。
图3 生成的翼面结构模型
5 结束语
以上算例表明,在对翼面结构元件的参数化描述后,利用CATIA Automation二次开发方法可以自动生成翼面结构模型。参数化设计方法实现了翼面结构主要元件的快速布置和各元件尺寸的快速设计,提升了翼面结构的设计能力和设计水平,具有现实的工程意义和使用价值。
应用CATIA Automation二次开发方法能够快速、准确的建立参数化的翼面结构模型。通过CATIA提供的二次开发接口,加上C++语言强大的编程效率和运行效率,几乎所有的CATIA建模功能都可以用二次开发方法实现。参数化设计作为未来设计发展的方向,其集成化、模块化的设计思想符合未来发展趋势,可为飞机结构设计工作提供有力的设计手段。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/