需求描述:按结果模板补齐 Solution 对象
大家好,我是小郭老师,中科院硕士,长期从事 ANSYS 二次开发与仿真流程自动化,曾帮助多个研究所、研究院、国企和大型企业完成 ANSYS 二次开发项目。
这篇不再只添加 Total Deformation 和 Equivalent Stress 两个结果,而是把 Solution 下的常用结果当成一套模板管理。
自动报告做不顺,很多时候不是 Word 或 PPT 的问题,而是 Mechanical 里结果对象一开始就没有标准化。有人叫 Equivalent Stress,有人叫 von-Mises,有人只加变形没加应力,后面的导图、导表和报告填充都会变乱。
所以本文脚本用 result_template 管理结果名称和创建方法。已有结果就跳过,缺失结果才创建;如果当前版本或分析类型不支持某个创建方法,就记录失败。这比简单连续调用几个 Add 方法更适合真实项目。
脚本实现思路
模板中每一项包含结果名称和 Solution 方法名,例如 AddTotalDeformation。脚本先用 DataModel.GetObjectsByName(result_name)[0] 判断同名结果是否已经存在,不存在时再通过 getattr() 调用对应创建方法。
这种写法既能扩展,又不会出现一堆重复的创建语句。
源码及其讲解
result_template 是这段脚本的核心。建议统一结果命名前缀,比如 R_,这样后续导图脚本可以只导出标准结果对象。
脚本会统计 created、existing 和 failed。这个统计很有用,能快速判断模板是否真正补齐,还是某些结果在当前分析类型下不支持。
脚本运行结果
脚本运行后,Solution 下会按 result_template 补齐标准结果对象。已有对象会跳过,缺失对象会创建,最后统一执行 EvaluateAllResults()。
运行后应检查 created、existing 和 failed 数量。failed 不为 0 时,通常说明当前分析类型或 Mechanical 版本不支持某个结果创建方法,需要调整模板表。
脚本扩展方向
- • 和图片导出脚本串联,创建结果后立即导出报告图片
总结
这一篇的重点是把后处理对象也纳入自动化流程。
很多自动报告做不顺,不是因为导出图片难,而是前面结果对象没有标准化。先用脚本把 Solution 下该有的结果建好、命名好、刷新好,后面的导图、导表和报告生成才有稳定基础。
点击阅读原文,立即学习《ANSYS Workbench & Mechanical企业级二次开发程序与Python应用入门进阶》,掌握ANSYS Workbench & Mechanical的脚本自动化开发能力。
本课程从基础脚本开发到多工况批量计算的自动化实现,手把手教你用Python打通「仿真流程自动化 - 多工况批量计算」全链路,让「重复仿真工作自动化、复杂工况高效计算」从想法变成日常。
我还为付费用户提供VIP群进行交流、答疑服务、持续加餐内容、提供定制化培训和咨询服务、仿真人才库高薪内推就业、仿真秀还提供奖学金、学完此课程,推荐学习者报名参加工程仿真技术(CAE分析职业能力等级评价证书)。