APP下载

基于HyperMesh的零件重命名与信息赋予工具开发

2017-09-05周程郑松林

软件导刊 2017年7期
关键词:二次开发自动化

周程+郑松林

摘 要:在碰撞仿真分析中,整车建模过程繁琐。导入整车几何模型后,运用HyperMesh建立有限元网格模型时,需要判断零件是否需要划分网格并进行分类,应用规范统一的命名规则并赋予相应的材料厚度信息。对于整车级的零件来说,手动操作工作量大。介绍了基于HyperMesh二次开发的整车自动化建模系统,利用Tcl(Tool command language)脚本语言开发了其中的零件重命名与信息赋予工具。最后通过实例验证该工具相比手动操作的时间效率提高近100倍,对减少重复性操作,保证建模准确性,节约开发时间具有重要意义。

关键词:HyperMesh;二次开发;Tcl语言;自动化

DOIDOI:10.11907/rjdk.171242

中图分类号:TP319

文献标识码:A 文章编号:1672-7800(2017)007-0070-03

0 引言

安全性能是汽车的一项重要评价指标。通过搭建有限元整车模型进行碰撞仿真分析来缩短研发周期和节约成本是目前主流车企的开发手段。有限元分析分为前处理、求解计算、后处理3个环节。通常前后处理环节占据80%的工作量,直接影响了仿真分析的效率和产品的设计周期[1] 。Altair HyperMesh是世界领先的针对有限元主流求解器的高性能前后处理器软件,但其强大的通用性也使其操作流程分散琐碎,与企业标准化的设计研发流程有一定差异。根据需求对HyperMesh进行定制化的二次开发,将软件与企业产品开发流程深度匹配,已成为行业内的一种潮流。

本文针对整车仿真碰撞分析前处理过程,基于HyperMesh软件的二次开发,重点设计了针对零件自动重命名以及材料厚度信息赋予的功能模块,以适应企业快速、准确开发需求。

1 二次开发关键技术

1.1 Tcl语言简介

Tcl语言是一种用于控制和扩展应用程序的脚本语言,适用于包括Windows,Unix,Macintosh等各种平台[2]。Tcl的语法很简单,而且可以通过创建新的过程扩展其功能。

Tcl语言具有快速开发、无需编译、功能强大且简单易学的特点,所以广泛用于脚本编程、原型开发和软件二次开发等方面。

1.2 命令流获取

HyperMesh软件的操作实际上是通过调用内置API(Application Programming Interface)函数实现的,所有对模型的操作都被记录在command file文件中[3],工程师可以访问command文件获取相应的命令流,并通过TCL语言对获取的命令进行整合重写,定制自己需要的脚本。

1.3 人机交互界面创建

Tk是Tcl语言的用于开发图形用户界面GUI(Graphical User Interface)应用程序的工具集,可以快速建立方便用户使用的自定义用户界面。用户也可以选择使用HyperMesh内置的HWTK GUI Toolkit实现相同的功能,且创建的界面与HyperMesh整体风格更为一致。

使用自定义面板的优势在于可以将实现某一项功能的所有按钮集成进行个性化集成,快速实现该功能,既避免了面板切换的繁琐操作,也杜绝了一些操作上的失误,极大地提高工作效率。

2 整车自动化建模基本流程

整车建模环节在碰撞仿真分析中属于前处理环节,零件具有数量庞大、种类繁多、位置关系复杂、连接方式多样的特点。工程师在进行手动整车建模时存在操作繁琐、重复性大、耗费工时长、误操作率高等问题,针对这些问题开发基于HyperMesh的整车基础建模自动化系统。

整车基础建模自动化系统的开发要求如下:

①建模参数化,建模输入为BOM(Bill of Material)表等标准参数文件;

②建模标准化,统一建模标准,保证模型质量一致性,提高建模精度;

③建模流程化,对建模的每个阶段进行封装,便于企业固化工程师的经验;

④建模简易化,只需要一定的CAE基础,就能够胜任建模工作,对于使用者的门槛较低。自动化建模基本流程如图1所示。

从模型库下载CATIA三维模型后,首先判断零件是否为仿真分析所需零件(是否需要划分网格),输出拟划分网格的零件列表及其负面清单。然后,为了确保仿真分析时操作规范、结果清晰,需要对拟划分网格零件进行重命名,格式为零件号_版本号_材料名_厚度,同时对重命名后的零件赋予材料和厚度信息。

待完成所有拟划分网格零件重命名后,调用Batchmesher对其进行批量网格划分。将得到的有限元网格零件装配,完成接触设置,整车配重和模型设置后,用于碰撞仿真分析的整车模型即搭建完成。整个流程都通过基于HyperMesh的二次开发实现自动化操作,本文主要对其中的零件自动重命名与信息赋予工具进行介绍。

3 零件重命名与信息赋予工具介绍

3.1 常规操作

在HyperMesh中对零件进行重命名操作如下:

操作界面左側的标签页区域选Model标签,打开模型树,找到需要重命名的零件,并查看其所属的assembly,选中并右击rename选项,复制assembly的名字,然后选中需要重命名的零件,右键选择rename选项,将复制的内容粘贴到输入框中。这样就完成一次对单个零件的重命名操作,需要对鼠标操作8次,对键盘操作2次。

对零件赋予材料以及厚度信息操作如下:

新建Property, 在prop name的输入框中输入对应零件名称,然后点击鼠标选择相应的type ,card image选项,并在thickness输入框中输入厚度信息,完成Property的创建。新建Material,在mat name输入框中输入材料名称,然后点击鼠标选择相应的type, card image选项,随后进入card edit界面,输入 E(弹性模量)、 Nu(泊松比)、Rho(密度)信息,完成材料创建。

点击component按钮,勾选update选项,点击comps选项,选择要赋予信息的component,点击 property按钮选择上文创建的property,点击material按钮选择对应的材料,完成一次将材料与厚度信息赋予零件操作,需要操作鼠标30次,键盘6次,切换面板3次。

3.2 开发目的

将CATIA模型导入HyperMesh后,两款软件的数据结构差异,造成component名称并不是该零件的件号,而component对应的assembly名称中包含零件号与版本号,如图2所示。因此需要将每个component严格按照规范命名为“零件号+版本号+材料+厚度”的格式。

而由上文得知,通过手动实现上述功能操作步骤繁琐,面板切换频繁,导致整车建模周期冗长,误操作率高,纠错难度大,对仿真结果容易造成负面影响,所以对HyperMesh进行零件重命名与信息赋予批处理的二次开发非常有必要。

3.3 主要功能

(1)对hm文件中零件对照拟划分网格零件总表进行自动筛选,输出该车型拟划分网格零件列表。

(2)对不规范的零件名称按照标准格式进行批量重命名,并对重复零件进行编号处理。

(3)对零件进行赋予材料信息与厚度信息操作。

3.4 主要流程

零件自动重命名与信息赋予工具的設计流程如图3所示。

在HyperMesh中导入hm整车结构后,首先得到component列表与assembly列表,遍历component列表,找出每一个component对应符合零件名称特征的assembly级,例如component的名称为partbody1,其对应底层assembly级的名称则为C0012345,调用拟划分网格零件总表与零件名称进行匹配并记录在系统中。随即搜索匹配成功项在系统中的数量,据此赋予匹配项一个编号,例如C0012345_1表示C0012345号零件在整车中的第一个零件,C0012345_2为第二个零件,它们几何特征完全一致,但在空间位置和连接关系上存在区别,故需要进行编号处理。编号之后的component将根据其对应的assembly级名称进行重命名,根据新的名称对照BOM表搜索其对应的材料和厚度信息,直接将厚度信息赋予零件,并根据材料信息搜索材料库,将对应的材料赋予零件。遍历所有component之后,完成所有零件重命名以及赋材料厚度信息的操作。

4 自动重命名与信息赋予工具实例

选用碰撞仿真分析的某车型,在有限元建模过程中需要对车身部分的零件(总计514个)进行批量重命名,并赋予零件材料厚度信息。运行重命名工具,操作界面如图4。

4.1 自动化操作流程

进行零件重命名准备工作,设置重命名所需的材料文件:①“选择文件”选择需要重命名的hm文件;

②“选择BOM”选择车身对应的BOM表;

③“材料名表”选择车身对应的材料名表;

④“选择HM”选择HyperMesh的安装路径,调用HyperMesh。

进行重命名操作步骤:

①“初始化”安装零件重命名工具;

②“打开HyperMesh” 运行HyperMesh主程序;

③ “检查BOM信息” 检查BOM表的材料和厚度信息,确保BOM表的完整和正确性。如果BOM表信息缺失,会自动对缺失项标红并提醒工程师对BOM表修改和完善直至符合要求;

④ “打开hm文件” HyperMesh中开始导入hm文件;

⑤ “重命名”按钮,自动完成零件的批量重命名工作。

经统计,在BOM表正确的条件下,整个自动重命名赋予信息流程仅需6分钟,操作鼠标15次。

4.2 自动化流程与常规方法比较

通过与人工常规操作比较的方式,以操作与耗时两个指标,验证自动重命名与信息赋予工具的高效性。选取一名具有两年整车建模经验的汽车安全工程师,并提供完整BOM表与材料库信息,对上述某车型车身零件(共514个零件)进行重命名,赋予材料厚度信息操作并统计时间,累计耗时10小时,完成所有操作需要点击鼠标接近5000次(取10次样本零件点击260次,乘以50得到),如表1所示。

由统计数据得出使用自动重命名与信息赋予工具和人工操作相比,时间效率提升了约100倍,并极大地减轻了操作强度。

5 结语

本文阐述了基于HyperMesh二次开发的整车自动化建模系统,着重介绍了零件重命名与信息赋予模块的开发过程与关键技术。将繁琐的零件重命名与赋予零件材料厚度信息的操作步骤进行封装,并以引导式的流程呈现给工程师[4],降低了工作门槛。将重复性高、效率低的手工操作转化为高效的自动化处理,极大地减少了工程师的工作量,避免错误,同时也有助于固化资深熟练工程师的经验。对于企业提高仿真分析的标准化程度,节约产品研发时间,提高产品竞争力具有重要意义。

参考文献:

[1]米小珍,李惠萍,王枫.仿真分析中材料定义与重用工具的设计与开发[J].机械设计与制造,2012(12):106-108.

[2]奥斯德奥特·琼斯.入门经典 [M].第二版.北京:清华大学出版社,2010.

[3]丁涛,胡铭旭,朱镜齐.基于HyperMesh的客车侧翻分析自动化流程开发[J].客车技术与研究,2016:10-12.

[4]陆天宇,孔啸.基于TCL语言的CAE 流程自动化系统设计[J].制造业自动化,2012(1):3-6.

[5]陈文娟,魏跃远. Hyperworks 在电动汽车正碰仿真分析中的应用[C].上海:Altair2012技术大会,2012.

[6]丁涛,彭旺,纪绪北.HyperMesh二次开发在客车CAE分析前处理上的应用 [J].客车技术与研究,2015(6):47-56.

[7]范超.基于Tcl/Tk的HyperMesh CAE流程自动化系统的研究与开发[D].合肥:合肥工业大学,2010.

[8]王超.面向汽车设计的CAE流程自动化系统开发及结构优化研究[D].长沙:湖南大学,2013.

[9]米小珍,张汉冰,王枫.螺栓接触分析中前处理技术的研究与开发[J].机械工程师,2014(1):1-3.

[10]孙静.基于HyperWorks的流程自动化系统开发与应用[J].铁路计算机应用,2012,21(12):30-33.

[11]卢晨霞,张立.基于HyperMesh二次开发的汽车CAE建模与分析流程自动化[C].北京:Altair2015技术大会,2015.

[12]杨恒杰.基于HyperMesh二次开发的中面模型建模方法[C].上海:Altair2014技术大会,2014.

[13]李鹏程,赵静.HyperMesh二次开发技术在叶片有限元建模中应用[C].上海:Altair2014技术大会,2014.

猜你喜欢

二次开发自动化
浅谈基于Revit平台的二次开发
西门子Operate高级编程的旋转坐标系二次开发
浅谈Mastercam后处理器的二次开发
Micaps3.2 版本二次开发入门浅析
ANSYS Workbench二次开发在汽车稳定杆CAE分析中的应用
基于Pro/E二次开发的推土铲参数化模块开发