在仿真分析后,一份完整、精准的报告是成果呈现的关键 —— 而 ANSYS Report 的「Report Preview」功能,正是为高效生成报告而生!无需手动整理数据、拼接图表,一键导出后直接二次修改,帮你节省大量时间。今天小郭老师就来详细拆解它的好用之处,并为大家介绍如何通过Python代码自动生成报告
「Report Preview」是 ANSYS Workbench 中隐藏的高效工具,核心亮点的在于:
✅ 一键快速导出:选中功能后自动启动报告生成,直接提取分析项目中的关键数据、图表、材料信息,无需手动录入;
✅ 支持二次修改:导出的报告(可选择 MHT/HTML/Word/PPT 格式)保留可编辑性,后续根据需求调整内容、排版即可,灵活适配不同场景;
✅ 数据精准一致:通过 “提取大纲项→核查工作表→补充材料数据” 的逻辑,确保报告内容与分析结果完全同步,避免人工误差。
(1) 打开 ANSYS Workbench,在顶部「Home」(主页)选项卡中;
(2) 找到「Tools」(工具)组,点击「Report Preview」即可启动功能。
⚠️ 注意:报告生成一旦开始,需等待完整运行结束后才能操作界面,中途点击其他区域可能导致进程中断或报错

导出的报告自动包含分析相关的表格、图表、图片,且支持个性化调整,满足不同呈现需求:
(1) 表格:灵活适配显示与打印
默认显示 12 列,兼顾屏幕查看和打印效果;可在「Report Options」(报告选项)中调整列数(2 列~多列),比如高分辨率屏幕或横向打印时可增加列数;
自动合并相同单元格,减少冗余信息,也可在选项中关闭该功能;
表格内容与分析对象的「Details」(详情)直接对应,对象名称显示在表格顶部;
注意:暂不支持显示非线性节点刚度矩阵的表格数据。
(2) 图表与图片:画质、尺寸自由调
自动提取大纲中指定的图表、图片,所有位图默认以 PNG 格式保存,清晰无失真;
可在「Report Preferences」(报告偏好设置)中调整:
图表 / 图片尺寸:数据点少则调小,需大幅打印则调大;
打印质量:提高「Graphics Resolution」(图形分辨率),让打印效果更清晰;
图例字体:通过「Font Magnification Factor」(字体放大系数)调整图例大小,提升可读性。
图形界面操作虽然便捷,但面对批量仿真(如多参数迭代、多工况分析)时,重复点击仍会耗费大量时间。这时候就需要通过二次开发实现自动化。但是目前Mechanical在ACT的API中,小郭老师并未找到这个操作的Python API,该怎么办呢?
其实,ANSYS Mechanical 的每一个界面操作,都对应着底层的 JScript 命令,这些命令集中存储在安装目录的脚本文件中。我们的解决方案就是,找到「Report Preview」对应的 JScript 命令,再通过 Python 调用 JScript 引擎执行。
以 ANSYS 2023 R1 为例,所有JScript文件位于【ANSYS Inc\v231\aisol\DesignSpace\DSPages\scripts】目录下。对于Mechanical集成应用程序,其中 DSMenuScript.js包含着操作对应的命令。

在DSMenuScript.js中检索Report关键字,以获取导出报告的js函数。
从检索结果中,我们可以提取到核心命令:ClearReport()(清空历史报告)、doGenerateReportPreview()(生成报告预览)、doPublishProcessing()(执行导出)。这些就是实现自动化的关键。

结合ANSYS ACT中提供的JS运行引擎,即可编写如下所示的Python代码。

ANSYS报告自动化导出的完整代码如下,共分为三步:

Figure 初始化:删除历史图表对象,避免导出的报告中包含冗余内容,确保每次导出都是 “干净数据”;
目标对象选择:export_objs列表可灵活调整 —— 比如结构分析可添加DataModelObjectCategory.Stress(应力)、DataModelObjectCategory.Displacement(位移);
JScript 引擎调用:ExtAPI.Application.ScriptByName("jscript")用于获取 ANSYS 内置的 JScript 运行环境,通过ExecuteCommand()执行底层命令,绕开 Python API 缺失的问题;
核心命令作用:ClearReport()清空缓存→reportPreviewPane.Pane.Selected=1激活报告面板→doGenerateReportPreview()生成预览→doPublishProcessing()完成导出,流程与图形界面操作完全一致。
(1) 版本适配:不同 ANSYS 版本的DSMenuScript.js路径略有差异(如 2022 R2 为v232,2024 R1 为v241),需根据安装版本调整路径;
(2) 导出路径:若需指定路径,可在js_cmd中添加路径参数(需参考 JScript 文件中的doPublishProcessing()函数定义);
(3) 批量运行:若需批量处理多个仿真文件,可结合os模块遍历文件夹,调用 ANSYS 批量接口实现全自动化。
无论是直接使用「Report Preview」功能提升基础效率,还是通过二次开发实现自动化升级,核心都是让工程师从重复的报告整理工作中解放出来,将更多精力投入到仿真模型优化、工况分析等核心业务中。希望本文的实操技巧与代码案例,能为大家提供切实可行的效率提升方案,也欢迎大家结合自身工作场景,探索更多 ANSYS 二次开发的实用玩法~
如果大家还有其他ANSYS使用中的痛点(比如批量设置载荷、多工况对比等),欢迎在评论区留言,后续会持续分享针对性的二次开发实战案例!