CAE 工程师最耗时的两件事:跑工况、做报告。
几百个
LC*.inp/LC*.odb摆在文件夹里,手动跑 session、截图、贴 PPT——枯燥、易错、还不好复核。
这篇实战,教你用一段 META 环境下的 Python 脚本,把这一整套流程压缩成「一次点击」。
它是一段运行在 BETA CAE META 后处理环境下的 Python 脚本,核心目标是:
把一个文件夹里成百上千的工况文件,自动跑完、自动提结果、自动截图,最后直接生成一份 PPT 汇报报告。
典型产出是一份 Strength_Report.pptx,结构如下:
封面页
Strength Report 总览统计页
OK/NG 判定(数据多时自动多页翻页) 每个工况一页
| 重复劳动 | ||
| 路径硬编码 | .ses 里写死路径,换机器就要改 | |
| 结果散落 | ||
| 不便于复核 | OK/NG 自动判定 |
批量工况识别
LC*.inp 和 LC*.odb 配对,并按工况编号排序。 Session 自动参数化
.ses,自动识别其中的硬编码路径并替换为变量;没有变量定义的,也会按扩展名(.odb → res_file、.inp → Geom_inp)智能推断,让任意录屏文件都能直接复用。 opt var add 扫描 + 文件扩展名推断,把一次性录屏变成可复用模板。这是工具能「批量」的前提——没有这一步,每个 .ses 都是写死路径的孤岛。逐工况执行 + 容错重试
command_max_retries / command_retry_delay),中途失败不影响整体。 自动提取最大主应力
max=$sval 结果注释),无需人工读数。 应力合格判定
OK / NG / FAIL / N/A 状态,阈值在 GUI 里可填。 一键生成 PPT
CAE Summary,建 3 列表格(Loadcase / Max Stress (MPa) / Status),每页最多 12 行;GUI 操作界面
OK 即跑。 完整日志
utf-8/gbk/latin-1)、API 版本兼容等多重兜底。 
对应代码 main() 中标注的 [1] ~ [6] 各步骤:
[1] 解析 session
.ses,提取 META 命令序列。 [2] 参数化命令
[3] 扫描与配对
LC*.inp / LC*.odb 配对并按编号排序。 [4] 逐工况执行
erase all → 设变量 → 执行命令 → 提取最大主应力 → 生成该工况单页。 [5] 汇总总览页
CAE Summary 多列表格。 [6] 保存输出
Strength_Report.pptx 与日志文件。 LC*.inp / .odb 的目录);.ses);OK/NG);Strength_Report.pptx。
把重复交给脚本,把判断留给人。
这份工具把 CAE 工程师最耗时的「跑工况 + 做报告」环节压缩成一次点击,也让汇报格式在全组保持一致。
如果你也在被成百上千的工况折磨,不妨从「参数化一个 session」开始,迈出自动化的第一步。