設計仿真 | Python解析Adams res結果文件
Adams
背景簡介
對Adams軟件進行二次開發,簡化建模流程、仿真流程等進而減少工作量。一般的分析流程,可分為前處理、求解和后處理三個方面,均可開展二次開發工作。
對后處理的二次開發,第一步便是提取原始的仿真數據。Adams的仿真結果文件存放在后綴為.res的文件中。本文對res文件進行介紹,并利用Python實現原始的數據提取,更多的數據對比、分析及展示工作還需用戶進一步實現。
不少用戶選擇用Matlab或者其他語言實現后處理,道理相通,此文選用Python是因為其跨平臺且開源。
Adams
res文件數據結構
res文件可以用Notepad等編輯軟件打開,用戶可以查看其組成。基本的數據結構如下圖所示。
圖1 res數據結構
從上圖可以看出Results包含兩大類:Bibiliography及Analysis,前者包含MSC公司信息、用戶名等無用信息,后者包含模型、單位、數據等有用信息。其中stepmap中包含結果名稱、Data中包含結果數據。
Adams
Python實現數據提取
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數據文件。
關注海克斯康工業軟件公眾號下載附件
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















