首页/文章/ 详情

技术技巧 | Adams_批量截图

5年前浏览4696

在实际工程中,总会有多样化的仿真需求,虽然,Adams的主要工作是进行专业的多体动力学分析,但是,在易用化方面,尤其对工程师的友好性方面非常值得推崇。下面将根据真实客户提出的一个小需求,论述一下Adams的灵活应用,通过与一些脚本软件的功能集成,拓展Adams应用的广度和深度。


在Adams后处理环境中,可以利用软件带有的打印功能,将所需要的图片进行截图处理,方便工程师收集数据编制仿真报告,如下所示:         


图表 1打印功能


不论是曲线还是图像都可以通过上述功能,将显示区域的数据打印到指定格式和名称的文件中。但是,对于规模较大的情况,完全进行手动操作就显得比较繁琐。而且客户明确提出需要在Adams/View前处理环境下将每个部件进行截图输出,上述功能不能直接完成客户的这一需求。


为此,通过稍许研究,我们可以发现后处理中的这个输出数据截图的功能,本质上是Adams的一条核心命令,hardcopy。我们完全可以通过对其进行稍微的变化,让这个命令服务于前处理,并满足客户的直接需求。之所以能够这么肯定,是因为我们知道Adams有一套命令程序,不论是前处理还是后处理,甚至求解器的调用和设置,有一套统一的Adams View命令程序,即CMD脚本命令。如果大家不熟悉某一条CMD的命令,可以通过Adams/Help进行查找,Adams在所有的动力学软件中提供最为全面的帮助说明,如下所所示:

图表 2搜索帮助内容


在搜索到的hardcopy命令条中,有对它的详细描述,以及每个参数的详细说明,并提供一个示例帮助理解。
基于上述对hardcopy命令的理解,我们编写出如下命令代码,以实现所需功能:



图表 3编写代码
通过循环体For找出每一个part,然后分别创建对应的View视图,最后将View试图给hardcopy命令进行指定格式和名称的输出。这里使用Adams安装路径下的模型为例,D:\MSC.Software\Adams\2019\durability\examples\ATV,需要注意由于part的第一个为ground所以,在输出的一系列haibao.png文件中从第二个开始是模型中具体的part截图。如下所示:


图表 4批量截图结果

图表 5Haibao_1代表的是大地

图表 6Haibao_2

图表 7Haibao_3

图表 8Haibao_4


从2016版本开始Adams已经可以支持Python语言,这在CMD的基础上又极大地拓展了Adams应用的灵活性。可以利用Python的一些现成库完成对应的功能比如PyQt,或者PIL中的ImageGrab模块功能。


总结

Adams软件提供非常充分的开放性,以及用户友好性,只要工程师对其功能稍微深入了解一下,就可以极大地拓展应用的灵活性,帮助工程师应对很多非常工程化,实用化的问题。通过利用Adams自身的CMD命令,或者Python脚本命令,可以对其功能进行模块化拆分与组合应用,通过简短的编码实现提升效率的快捷操作,这是最基本的拓展应用,还可以在此基础上对模型参数化仿真,大规模批量化求解比如可靠性分析相关的内容进行深入的拓展应用。


Adams代码&命令
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2019-08-14
最近编辑:5年前
MSC软件
模拟现实 交付确信
获赞 115粉丝 372文章 145课程 2
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈