Adams背景简介
对Adams软件进行二次开发,简化建模流程、仿真流程等进而减少工作量。一般的分析流程,可分为前处理、求解和后处理三个方面,均可开展二次开发工作。
对后处理的二次开发,第一步便是提取原始的仿真数据。Adams的仿真结果文件存放在后缀为.res的文件中。本文对res文件进行介绍,并利用Python实现原始的数据提取,更多的数据对比、分析及展示工作还需用户进一步实现。
不少用户选择用Matlab或者其他语言实现后处理,道理相通,此文选用Python是因为其跨平台且开源。
Adamsres文件数据结构
res文件可以用Notepad等编辑软件打开,用户可以查看其组成。基本的数据结构如下图所示。
图1 res数据结构
从上图可以看出Results包含两大类:Bibiliography及Analysis,前者包含MSC公司信息、用户名等无用信息,后者包含模型、单位、数据等有用信息。其中stepmap中包含结果名称、Data中包含结果数据。
AdamsPython实现数据提取
res实质是xml格式,问题转换为用Python解析xml文件。
xml(extensible markup language)可扩展标记语言。基本语法:1、xml后缀名为.xml;2、第一行必须定义为文档声明;3、xml文档中有且仅有一个根标签;4、属性值必须使用双引号或单引号;5、标签必须是开始和结束;6、xml区分大小写。
Python有三种方法解析xml文档:
1)DOM:DOM译为文档对象模型,是W3C组织推荐的标准编程接口,它将xml数据在内存中解析成一个树,通过操作树解析xml。
2)SAX:SAX是一个用于处理xml事件驱动的模型,它逐行扫描文档,一边扫描一边解析,对于大型文档的解析有巨大优势,尽管不是W3C标准,却得到了广泛的认可。
3)ElementTree:相对于DOM有更好的性能,与SAX性能差不多,API使用也很方便。综上考虑采用ElementTree方式。
根据数据结构,设计流程如下:
图2 提取数据流程
Adams附件说明
用户需要在pre_defined_name.xlsx表格中定义结果名称,运行python文件后,会生成data_output.xlsx数据文件。
(海克斯康工业软件)
声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,不为其版权负责。如果您发现网站上所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容,以保证您的权益!联系电话:010-58612588 或 Email:editor@mmsonline.com.cn。
- 暂无反馈