基于HyperWorks整车网格前处理仿真自动化研究

2018-03-14 02:05孟祥杰屈新田席盛
汽车科技 2018年7期
关键词:程序开发二次开发

孟祥杰 屈新田 席盛

摘要:针对企业在汽车整车建模、前处理过程中需处理大量数据重复操作多,所需工时占CAE分析比重大等问题,依托Hyper works软件提供的二次开发接口平台。应用TK/TCL程序设计语言及相关工具开发整车网格批处理及相应的前处理嵌套程序,提高CAE分析的工作效率。应用到多个车型的网格建模与前处理,工作效率提高了70%-80%,验证了嵌套程序的可靠性及稳定性,缩短了企业设计产品开发周期,对企业其它平台开发具有一定指导意义。

关键词:网格批处理;程序开发;CAE建模;二次开发

前言

企业在整车开发过程中,CAE分析大约需要4-5轮分析,分析项目一般为200-300项左右,其中整车建模数据量大,且有限元分析中的前处理需要时间占据整个分析的比重较大,其中大部分需要手工操作与重复操作,容易发生人为错误。为了提升这部分工作效率与仿真精度并使其操作简便化,进而缩短整个产品的研发周期,采用Hyper works软件自带的二次开发接口,将这一部分的工作程序化、模块化是有必要的。本文以Hyperworks软件中的Hyper mesh为开发环境,综合采用TK/TCL程序设计语言与Hyper works内置函数,开发出用于整车网格批处理及相应的有限元前处理功能的嵌套程序。并阐述了程序开发流程及关键技术,并通过多个车型建模及前处理验证,验证程序的实用性及可行性,提高了产品没计效率,对企业平台开发具有借鉴意义。

1 程序开发需求分析

1.1开发流程的特点分析

以汽车在整车模态及刚度分析为例,整车建模及前处理过程占用大部分的分析时间。数据规模量大及重复操作为这部分工作的主要特点,白车身结构件的数量一般为400~500个左右,车身焊点数量约为4000个左右。如图1所示,建模过程中重复性操作较多,如CAD模型输入、装配调整、几何清理、网格划分、网格质量调整及定义材料和属性等前处理工作。一个车型开发需要4-5轮仿真分析,这就使分析工作中的重复操作成倍增加,同时几何清理,网格划分及前处理T作大部分都是手工操作,效率非常低。

1.2程序开发的需求

汽车整车结构模态、刚度、及碰撞分析都需要整车建模,现在整车建模还需要大量的手工操作来完成,操作繁琐且重复性高,占用整个分析的工时比例大,基于此特点,建立程序流程化建模以此来提高整车分析效率显得尤为重要。要建立流程化建模程序,首先需要掌握整车分析流程的各个环节的作用,针对每个环节设计有针对性的程序来实现相应的功能,相应的程序开发流程图如图2所示。其次相应的程序开发语言需要掌握,如Hyper Works内置函数及命令语言,与软件平台接口衔接的TK/TCL语言等。

2 程序开发的关键技术

2.1 HyperWorks内置函数

Hyper Works为企业用户提供了功能丰富的内置函数,主要分为两种:一种为“*”开头的命令函数,如*2create mark,*create mark panel,*property update等,另一种以“hm”开头的命令,为TK/TCL语言,如hm-framework.hm_markclearall等,在Hyper Works软件4.0以后的版本嵌套了TK/TCL语言,为企业定制嵌套程序及同化经验和传承提供基础。同时通过proc命令,用它可以随时定义新的过程,应用过程概念可以将问题解释的方案打包,便于程序的重复性调用[1]。通过命令函数可以实现HyperMesh与DataBase的互联,使嵌入程序实现其自身功能。

2.2 Tcl/Tk程序语言

Tcl为一种脚本语言,与C++和Java相比,Tcl能够更简单的向其应用程序添加解释器。Tk作为Tcl语言图形界面的工具包,其作用为定义Tcl命令,创建与操纵用户界面[2]。Tk是Tcl的应用扩展,本身的全部功能均可通过Tcl命令获得,其本身具有很大弹性与动态可控性,凸显比其它工具包功能更强大的特点[3]。Tcl/Tk语言在流程开发过程中的易学,与软件接口无缝嵌套等特点,用它来组织界面背后代码,实现代码间的逻辑关系,达成程序自动化的目的[4]。利用Tk语言创建的二次开发程序与用户交互CUIs。如图3所示,是划分网格提取厚度的交互界而。

2.3 HyperWorks内置交互界面

HyperWorks有许多的内置交互界面创建函数,可以通过调用函数来创建开发程序的交互界面,如,此命令创建一个交互窗口,进而开发出自己需求的人机交互界面。

2.4获取HyperMesh命令流

用户在操作HyperMesh时,HyperMesh会自动记录相关的命令内容,如打开或导ACATIA数模,用户进行几何清理,划分网格,创建Component及赋单元属性及材料等相关操作命令。所有的命令流均存放在C0mmond.cmf件中,文件路径为HyperMesh的工作目录下。而Cnmmond.cmf文件的命令流是以“*”为开头的,如*evaltclscript(“midsurf_thickness.tcl”,0),由命令名称与相关的参数构成,参数包含在括号内,以逗号隔开。如*rotateahour(0,0,O,0),HyperMesh把*與“(”之间的部分作为命令流,其后的部分作为参数,通过将命令流加以修改使之符合Tcl/Tk语法要求,即可以获取操作相关内容的命令流,如:

其命令为更改components名字,将后面的名字替换前面的名字。

3 建模流程自动化

在进行整车有限元网格建模时,目前已经实现从CATIA数模中抽取中面并根据几何数据提取板件的厚度,并通过Batchmesher进行几何清理与网格划分,处理后的网格只需要稍微的进行干涉调整与网格质量调整就可以应用于分析。通过BOM表赋组件材料,根据焊点excel文件中的连接组件关系,通过excel中的VBA语言自动生成HyperMesh使用的焊点。用户只需要根据分析流程,进行相应的简单操作,就可以将繁琐且重复的整车建模及前处理上作完成,提高了分析效率并减少了出错率。

建模流程实现自动化后,相应的车型建模工时由原来的1000个左右缩减为300个左右,同时建模的出错率降低了80%-90%。

对于完成一个整车建模需要走的流程包括CATIA数据导入,几何清理与网格划分,赋属性,模型组装,建立焊点及相应的连接关系等部分。建模流程自动化如下图4所示,除模型导人与模型检查及网格干涉和质量调整外,其它的环节均实现自动化。

3.1 建模流程的具体实施步骤

整车建模自动化流程实施具体分为七大步骤:l导入模型并更改组件名称;2.用batchmesh模块进行几何清理与网格划分;3读取几何厚度赋网格单元料厚;4将网格单元与几何组件同组;5.根据组件名来创建相对应的同名属性;6.通过BOM表添加单元的材料属性;7.将excel焊点文件转换为HyperMesh软件焊点,自动创建焊点。软件的实施流程图,如图5所示,相关的程序TCL语言脚本如图6所示:

3.1.1 导入模型并按标准更改组件名

将CATIA数模导入HyperMesh软件时,其中Part名会增加一些没用的后缀,使HyperMesh中的组件名与CATIA建立的名字不符,通过点击“compname”实现Part名与HyperMesh软件中组件名同名,具体实例如图7、图8所示:

3.1.2 BatchMesher自动清理几何与网格划分

将更改组件名后的模型,通过点击“batch-mesh”来调用batchmesher模块,进行相应的单元网格参数设置及几何清理参数设置,自动划分网格,网格划分完后自动存入相应的文件中,界面操作如图9所示,给出了hatchmesher的操作界面。

3.1.3读取几何厚度赋网格单元料厚

依托前一步的单元网格划分后的模型如图10所示,点击“midsurf_thickness”读取几何厚度赋予网格单元料厚,选择相应的软件模板来提取料厚,并选择相应的单元赋料厚,操作界面如图11所示:

3.1.4将网格单元与几何组件同组

自动赋予单元料厚完成后,几何组件与网格单元组件是分开存放的,网格单元存放在以”t-料厚*100-0“的组件里,如图12所示,点击“aum_assign”后会将几何组件与网格单元同组,便于以后更改数据,如图13所示:

3.1.5根据组件名来创建同名属性

根据整车建模标准要求,每一个Part组件对应一个同名的属性要求,点击“propname”将前一步的单元与几何组件同名模型,根据组件名依次创建同名对应属性,如图14所示:

3.1.6通过BOM表添加单元材料属性

完成以上操作后,点击“read mat from BOM”根据弹出组件面板选取组件,根据提示指定相应项目的BOM表(excel格式),程序自动读取BOM表中的材料,并创建相应的材料属性赋予相应的组件,并将材料牌号信息体现在组件名称中。

3.1.7单元部件组装并自动创建焊点

由于整车白车身组件大概在200-300个左右,划分网格不能一个白车身一起画,首先电脑硬件不支持及相应的软件不能一起处理这么大的数据量,另一个对于划分网格后的网格单元质量调整也不便,所以划分网格一般按系统分为10-15个部分。在此将各个部分组装到一起,导人一个模型中形成整车白车身网格。CATIA焊点几何数据信息中的焊点层数与所连接部件通过excel格式输出,如图15所示,根据excel中的VBA语言将CATIA焊点数据信息转换为HyperMesh软件中的焊点信息,转换工具如图16所示。再点击”auto-spot“根据转换的焊点文件自动创建整车白车身焊点,如图17所示。最后完成整车白车身网格建模,如图18所示:

4 结论

本文创建的整车网格建模批处理及赋属性自动化程序,目前已应用到多个车型的开发。每轮车型白车身建模工时南1000T时缩短为300个工时左右。同时建模出错率降低了80%-90%左右。

本文开发的自动化建模程序不仅提高了工作效率,还能确保建模按照规范进行,减少人为错误发生几率,提高了模型的准确性与精度,减轻了CAE工程师繁重的网格前处理工作,同时能够将更大的精力投入到能力提升与创造性开发工作来。

参考文献:

[l]John K. Ousterout Ken Jones著,张元章译Tcl/Tk入门经典(第2版)[M]北京:清华大学出版社.2010.10

[2]王道义,乔陶鹏,等,Tcl/Tk组合教程(第2版)[M].北京:電子工业出版社,2001.2

[3]王坚,金革,Tcl/Tk和C语言的接口.[J].计算机应用.2000,20 (12):20

[4]曹文铜,范超,基于HyperWorks的CAE流程自动化系统设计开发.[J].工程图学学报,201

猜你喜欢
程序开发二次开发
初中生物教材插图的分类及二次开发
浅析大学生在兼职小程序开发中遇到的问题
例谈对高中数学教材中习题的二次开发
浅谈CAD软件二次开发的方法及工具
基于形成性评价的程序开发作业设计与实践
例谈课本习题的“二次开发”
确定船体分段焊缝类型、长度及焊材的程序开发研究
VBA在Excel中的应用一例
高中物理教材导入的“二次开发”
利用OpenGL技术实现网格波动效果界面