1 前言
在汽车研发的CAE性能分析工作中,汽车有限元网格的建立占用分析的大部分时间。汽车的数模一般采用CATIA等三维建模软件进行建模的。对于完成的汽车模型,需要在HyperMesh等有限元软件中进行有限元分析前处理。对于零件管理方面,每个公司都有不同的规范。在将设计汽车数字模型导入到HyperMesh中后,使用midsurface(抽中面命令)命令对每一个零件进行抽中面处理,然后手工修改中面comps(Components)的名称为企业标准名称,如“零件号厚度材料号”。由于一个汽车的零部件有成百上千个,对于这些基础的抽中面,改名,赋comps及props等操作便成了非常繁琐且重复的体力劳动。有时候一个误操作,或者断电,将是灾难性的损失,因此软件的自动保存或者定时自动保存也是工程师迫切需要的功能。当然,对于一些其他功能,诸如:一次导入多个输入文件,一次清除模型中没有用的comps、props及mats等功能,也需要通过对软件的二次开发来完成。本文利用TCL/TK语言,对HyperMesh进行二次开发,将建模分析规范集成到HyperMesh当中,最大程度地减少人工干预,大大提高了工作效率。
2 HyperMesh二次开发介绍
一般采用HyperMesh-次开发,都是基于TCL脚本语言完成的,我们可以在记事本中编辑TCL的命令代码,并将文件保存成TCL格式文件,就可以在HyperMesh中正常运行了。
HyperMesh命令文件
在HyperMesh的工作目录中,有一个command.cmf,记录了日常操作HyperMesh的各种命令,我们可以通过修改该文件下的命令,来快速完成脚本代码。
TCL/TK语言
TCL(Tool Command Language)语言是一种类似于JAVA脚本和VB脚本的语言,用户可以方便的在记事本中编写该脚本,并调用系统的各种命令,使用非常方便。为了增加脚本的用户交互性,我们还可以使用TK(Tool kit)。
3 程序功能介绍
批量抽中面功能:
将CATIA设计的数字模型导入HyperMesh中,如下图所示:
图1 导入HyperMesh后的comps图
运行该脚本程序可以自动完成如下脚本功能:
★
选择多个comps,自动批量抽中面;★
抽中面后,模型的comps名称按照规范要求自动重命名为对应的零件号;★
抽中面后,自动生成对应名称的props属性,并自动关联到中面comps中;★
创建的props属性card自动设置料厚值;★BOM文件读入并按规定重新命名comps及props名称。
自动将材料号名称从结果如图2所示:
图2 程序运行后效果图
4 程序设计流程
图3是主程序的流程示意图:首先采用Excel打开零件BOM表,仅保留文件名及材料号,并将该BOM表保存成.txt文件,导入需要中面建模的3D数字模型;选择需要抽取中面的零件的comps;输入步骤1导出的“.txt”文件路径;获得所选零件comps数量,计算所选零件的solids判读是否为最后一个comps;执行抽中面的执行子程序。
图3 主程序流程示意图
执行子程序流程如图4所示:首先先获得当前选择的comp,并计算对应的assem及points,然后得到points中的一个point,执行抽中面命令,并计算中面模型厚度;之后打开BOM文件,查找并记录当前材料编号;随后根据规范要求对新的中面comp重命名;然后根据当前comp名称新建一个props,并将props与当前comp进行关联;最后调用模板,设置prop属性并返回主程序。
图4 执行子程序流程示意图
5 结论
通过TCL语言对HyperMesh软件进行适当二次开发,用户可以结合自己的工作需要定制满足用户特定需求的功能,体现了HyperMesh软件良好的可扩展性和开放性。TCL语言易学易用,结合Tk可以定制更加方便实用的界面工具。本文以批量抽中面为案例介绍了利用TCL语言对HyperMesh进行二次开发的流程,二次开发方法的介绍,并详细的介绍了实现该功能的脚本工作流程。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/