基于HyperMesh软件的客车CAE前处理二次开发

2019-08-21 05:54
客车技术与研究 2019年4期
关键词:二次开发命令客车

曾 锋

(厦门金龙旅行车有限公司,福建厦门 361006)

随着客车产业迅速发展,设计模型越来越精细化,对仿真分析效率的要求也越来越高[1]。加上传统客车行业本身具有产品研发周期较短的特点,因此尽可能缩短CAE分析所需的时间从而加快项目进度,是一项非常有意义的工作。在整个CAE分析过程中,前处理工作大约占据80%的工作量,不仅耗时耗力,还容易出现人为的错误和遗漏。传统的CAE仿真前处理模式已逐渐不能满足实际工作的需求,因此需要引入流程自动化的概念,利用二次开发手段提升CAE 前处理的效率和精度[2-6]。

1 Tcl/Tk语言及其应用

Tcl/Tk是由John K.Ousterhout于1988年开始开发的解释型、可拓展的脚本语言[7]。Tcl语言简明、高效、易拓展,常用于快速原型开发、脚本编辑、GUI和测试等方面[8];Tk是使用最广泛的Tcl拓展,为用户提供简洁丰富的图形功能,让用户可以轻松地创建简单的图形界面。HyperMesh是应用广泛的有限元前处理软件,其提供了基于Tcl/Tk的API,与Tcl/Tk是无缝衔接的,让用户可以方便地进行二次开发,从而根据自身工作需求开发出各种功能,实现将繁琐、重复的操作一次性完成并保持高度准确性。笔者利用Tcl/Tk语言开发CAE前处理小工具,主要在 HyperMesh软件中实现3个功能:模型树管理、自动赋予材料属性、自动创建质量单元。

2 模型树管理工具

客车白车身由许多矩形管、槽形件和弧形件组成。根据我司企业标准,在利用HyperMesh进行白车身有限元前处理时,每一根型材都应当存放在一个独立的component里面,并且按照规定的格式对其进行命名和分类,从而方便有限元模型的查看和管理。对于CAE工程师来说,对上千根型材进行规范化的分类管理无疑是巨大的工作量。这项繁琐的工作可通过二次开发的模型树管理工具一键自动完成[9]。

具体来说,Tcl/Tk语言通过完成以下步骤来实现模型管理:读取某根型材的几何厚度信息;读取该型材的材料信息;判断该型材所属的子系统(如前围总成等);按照“总成号_组件编号_厚度_材料”的标准格式对其进行重命名及归类。

其中,读取厚度信息主要通过 hm_getgeometricthinsolidinfo函数来实现。该函数是HyperMesh软件提供的API,其功能是返回指定实体的厚度及ID号信息。材料参数则是利用tk_getOpenFile命令来选取BOM表,并读入内部的材料信息并写入变量中。编好主程序后,新建mac文件,并利用*createbutton命令创建功能键,则可在HyperMesh界面下使用该功能键直接调用主程序。

以往人们开发的模型树管理工具大多是对已赋予材料和属性的component进行重命名及分类,本文二次开发工具的特点在于直接读取几何的厚度和BOM表,更加方便快捷,原本需要3~4天的模型树管理工作可缩短至几秒钟内完成,大大节省了时间。

3 材料属性自动化管理

在完成模型树的自动化管理后,每个component都有统一格式的名称,名称中包含材料和厚度等信息,在此基础上可以进行材料属性的批量自动化创建和更新。创建材料和属性的具体Tcl/Tk程序代码可以通过查询HyperMesh的cmf文件来得到。用户在HyperMesh完成某步操作后,cmf文件都保存下了相应的命令流,其中的命令函数可以与HyperMesh中的数据库进行通讯[1]。

如图1所示,将创建材料的cmf命令包装成函数的形式:proc matCreate{name E Nu Rho},括号内的4个变量分别表示材料的名称、弹性模量、泊松比和密度,这样就可以方便地调用该函数。同理,将创建属性的命令也写成函数的形式:proc propCreate{material thickness}。其中的材料名和厚度均可通过component名称中包含的信息来获得。

图1 材料属性自动管理工具开发逻辑图

通过上述Tcl程序,可以为每个component自动创建和更新相应的材料和属性。无论进行何种仿真分析项目,材料属性的精确设置对分析结果至关重要。通过二次开发工具完成材料属性的设置,避免了其中可能出现的人为错误,提高了模型精准度;同时极大地简化了操作步骤,显著地提升了工作效率。

4 自动化创建质量单元

在客车有限元前处理过程中,某些零部件或者人员(如发动机、燃油箱、乘客等)无需考虑其自身应力或者变形的情况,可以采用赋予质量单元的方式在整车模型中进行简化模拟。通常设计部门会提供配重参数,如表1所示。

表1 配重参数表

通过Tcl/Tk语言,HyperMesh软件可以自动读取表格中每行的参数,并在各坐标点上快速创建相应的质量单元。具体方法为:

1)读取表格中各质心点的x、y、z坐标以及质量信息。

2)利用*createnode命令在各坐标位置创建节点。

3)利用*createmark nodes命令选取各个节点并放置于指定的mark ID中。

4)利用*masselement命令在指定mark ID的节点上创建集中质量单元。

该工具可以帮助CAE工程师快速、批量化地创建质量单元,只要有配重参数表,即可在HyperMesh中全部一键生成,避免了大量的重复劳动。实践证明,利用自动创建质量单元工具,每辆车的CAE分析可以节省一名成熟CAE工程师1~2天的时间。

5 结束语

本文主要介绍了利用Tcl/Tk语言开发的HyperMesh前处理自动化小工具。其实现的某些定制化功能主要是考虑到我司CAE团队自身的特定需求,对客车行业也具有一些通用性的指导意义。客车有限元建模中一些相似、重复、繁琐的操作,可以利用二次开发手段很好地解决,从而达到简化流程、规范操作的目的。

猜你喜欢
二次开发命令客车
AutoCAD 与PDMS 二次开发在三维复杂形体设计建模上的应用
江西南昌市1169个建制村实现通客车
砥砺奋进“十三五”,看安凯客车“出海”进阶之路
管理Windows10的PowerShell命令行使用记录
例谈对高中数学教材中习题的二次开发
疫情就是命令 防控就是责任
浅谈CAD软件二次开发的方法及工具
20周岁的女青年是否可以申请中型客车准驾车型驾驶证?
例谈课本习题的“二次开发”
解析Windows10的内部命令