工控網(wǎng)首頁(yè)
>

新聞中心

>

業(yè)界動(dòng)態(tài)

>

設(shè)計(jì)仿真 | Python解析Adams res結(jié)果文件

設(shè)計(jì)仿真 | Python解析Adams res結(jié)果文件

Adams

背景簡(jiǎn)介

對(duì)Adams軟件進(jìn)行二次開(kāi)發(fā),簡(jiǎn)化建模流程、仿真流程等進(jìn)而減少工作量。一般的分析流程,可分為前處理、求解和后處理三個(gè)方面,均可開(kāi)展二次開(kāi)發(fā)工作。


對(duì)后處理的二次開(kāi)發(fā),第一步便是提取原始的仿真數(shù)據(jù)。Adams的仿真結(jié)果文件存放在后綴為.res的文件中。本文對(duì)res文件進(jìn)行介紹,并利用Python實(shí)現(xiàn)原始的數(shù)據(jù)提取,更多的數(shù)據(jù)對(duì)比、分析及展示工作還需用戶進(jìn)一步實(shí)現(xiàn)。


不少用戶選擇用Matlab或者其他語(yǔ)言實(shí)現(xiàn)后處理,道理相通,此文選用Python是因?yàn)槠淇缙脚_(tái)且開(kāi)源。


Adams

res文件數(shù)據(jù)結(jié)構(gòu)

res文件可以用Notepad等編輯軟件打開(kāi),用戶可以查看其組成?;镜臄?shù)據(jù)結(jié)構(gòu)如下圖所示。


微信圖片_20240108112939.jpg

圖1 res數(shù)據(jù)結(jié)構(gòu)


從上圖可以看出Results包含兩大類:Bibiliography及Analysis,前者包含MSC公司信息、用戶名等無(wú)用信息,后者包含模型、單位、數(shù)據(jù)等有用信息。其中stepmap中包含結(jié)果名稱、Data中包含結(jié)果數(shù)據(jù)。


Adams

Python實(shí)現(xiàn)數(shù)據(jù)提取

res實(shí)質(zhì)是xml格式,問(wèn)題轉(zhuǎn)換為用Python解析xml文件。


xml(extensible markup language)可擴(kuò)展標(biāo)記語(yǔ)言。基本語(yǔ)法:1、xml后綴名為.xml;2、第一行必須定義為文檔聲明;3、xml文檔中有且僅有一個(gè)根標(biāo)簽;4、屬性值必須使用雙引號(hào)或單引號(hào);5、標(biāo)簽必須是開(kāi)始和結(jié)束;6、xml區(qū)分大小寫。


Python有三種方法解析xml文檔:

1)DOM:DOM譯為文檔對(duì)象模型,是W3C組織推薦的標(biāo)準(zhǔn)編程接口,它將xml數(shù)據(jù)在內(nèi)存中解析成一個(gè)樹,通過(guò)操作樹解析xml。

2)SAX:SAX是一個(gè)用于處理xml事件驅(qū)動(dòng)的模型,它逐行掃描文檔,一邊掃描一邊解析,對(duì)于大型文檔的解析有巨大優(yōu)勢(shì),盡管不是W3C標(biāo)準(zhǔn),卻得到了廣泛的認(rèn)可。

3)ElementTree:相對(duì)于DOM有更好的性能,與SAX性能差不多,API使用也很方便。綜上考慮采用ElementTree方式。


根據(jù)數(shù)據(jù)結(jié)構(gòu),設(shè)計(jì)流程如下:

微信圖片_20240108112943.jpg

圖2 提取數(shù)據(jù)流程


Adams

附件說(shuō)明

用戶需要在pre_defined_name.xlsx表格中定義結(jié)果名稱,運(yùn)行python文件后,會(huì)生成data_output.xlsx數(shù)據(jù)文件。


微信圖片_20240108112946.png


審核編輯(
黃莉
)
投訴建議

提交

查看更多評(píng)論
其他資訊

查看更多

CIMES 2024??怂箍?構(gòu)建智能制造生態(tài)系統(tǒng) 賦能行業(yè)數(shù)字化轉(zhuǎn)型

質(zhì)量管理丨數(shù)字化文檔管理夯實(shí)質(zhì)量管理體系基礎(chǔ)

生產(chǎn)制造 | 模具設(shè)計(jì)與制造-VISI 教您掌握簡(jiǎn)單正確展開(kāi)沖壓件

設(shè)計(jì)仿真 | 基于VTD的V2X仿真應(yīng)用

設(shè)計(jì)仿真 | ODYSSEE 加速電機(jī)仿真優(yōu)化