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

3、内容自定义技巧:表格、图表按需调整
导出的报告自动包含分析相关的表格、图表、图片,且支持个性化调整,满足不同呈现需求:
(1) 表格:灵活适配显示与打印
(2) 图表与图片:画质、尺寸自由调
图形界面操作虽然便捷,但面对批量仿真(如多参数迭代、多工况分析)时,重复点击仍会耗费大量时间。这时候就需要通过二次开发实现自动化。但是目前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中检索关键字,以获取导出报告的js函数。
从检索结果中,我们可以提取到核心命令:(清空历史报告)、(生成报告预览)、(执行导出)。这些就是实现自动化的关键。

结合ANSYS ACT中提供的JS运行引擎,即可编写如下所示的Python代码。
ANSYS报告自动化导出的完整代码如下,共分为三步:
代码块
Python
自动换行
复制代码
12345678910111213141516171819202122232425262728293031323334
# 第一步:Figure初始化——清空历史图表对象,避免重复导出
figure_objs = DataModel.GetObjectsByType(DataModelObjectCategory.Figure)
for figure_obj in figure_objs:
figure_obj.Delete()
# 第二步:按需添加目标对象——根据仿真类型选择需要导出的内容
export_objs = [
DataModel.GetObjectsByType(DataModelObjectCategory.Mesh),
DataModel.GetObjectsByType(DataModelObjectCategory.Temperature),
DataModel.GetObjectsByType(DataModelObjectCategory.Convection),
DataModel.GetObjectsByType(DataModelObjectCategory.InternalHeatGeneration),
DataModel.GetObjectsByType(DataModelObjectCategory.ImportedLoad),
DataModel.GetObjectsByType(DataModelObjectCategory.Result)
]
for obj_list in export_objs:
for obj in obj_list:
figure = obj.AddFigure()
figure.Text = obj.Name
# 第三步:调用JScript命令,执行报告导出
## 获取ANSYS内置的JScript引擎
engine = ExtAPI.Application.ScriptByName("jscript")
## 编写JScript命令(核心逻辑:清空→选中报告面板→生成→导出)
js_cmd = '''
var ds_script = DS.Script;
ds_script.ClearReport();
ds_script.reportPreviewPane.Pane.Selected=1;
ds_script.doGenerateReportPreview();
ds_script.doPublishProcessing();
'''
## 执行JScript命令
engine.ExecuteCommand(js_cmd)
复制成功

3、注意事项
(1) 版本适配:不同 ANSYS 版本的DSMenuScript.js路径略有差异(如 2022 R2 为v232,2024 R1 为v241),需根据安装版本调整路径;
(2) 导出路径:若需指定路径,可在js_cmd中添加路径参数(需参考 JScript 文件中的doPublishProcessing()函数定义);
(3) 批量运行:若需批量处理多个仿真文件,可结合os模块遍历文件夹,调用 ANSYS 批量接口实现全自动化。
无论是直接使用「Report Preview」功能提升基础效率,还是通过二次开发实现自动化升级,核心都是让工程师从重复的报告整理工作中解放出来,将更多精力投入到仿真模型优化、工况分析等核心业务中。希望本文的实操技巧与代码案例,能为大家提供切实可行的效率提升方案,也欢迎大家结合自身工作场景,探索更多 ANSYS 二次开发的实用玩法~
如果大家还有其他ANSYS使用中的痛点(比如批量设置载荷、多工况对比等),欢迎在评论区留言,后续会持续分享针对性的二次开发实战案例!
点击阅读原文,立即学习《ANSYS Workbench & Mechanical企业级二次开发程序与Python应用入门进阶》,掌握ANSYS Workbench & Mechanical的脚本自动化开发能力。
本课程从基础脚本开发到多工况批量计算的自动化实现,手把手教你用 Python 打通 “仿真流程自动化 - 多工况批量计算” 全链路,让 “重复仿真工作自动化、复杂工况高效计算” 从想法变成日常。
我还为付费用户提供VIP群进行交流、答疑服务、持续加餐内容、提供定制化培训和咨询服务、仿真人才库高薪内推就业、仿真秀还提供奖学金、学完此课程,推荐学习者报名参加工程仿真技术(CAE分析职业能力等级评价证书)。
以下是课程大纲及主要内容:

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删