首页/文章/ 详情

你提的ANSYS二次开发需求,安排了!附高效出报告技巧

精品
作者优秀平台推荐
详细信息
文章亮点
作者优秀
优秀教师/意见领袖/博士学历/特邀专家/独家讲师
平台推荐
内容稀缺
9月前浏览1273
上一篇文章《全程干货!ANSYS二次开发实现3点定平面 +节点自动抓取》详细讲解了ANSYS 任意平面节点自动抓取命令,实现代码+封装一步到位。今天我就来详细拆解ANSYS Report 的「Report Preview」功能的好用之处,并为大家介绍如何通过Python代码自动生成报告。
之所以选择这个主题,是因为读者在我的ANSYS二次开发需求调研问卷中填写了这个高频提及的需求。于是便有了这篇技术文章。当然,如果大家有不一样的ANSYS二次开发需求 ,欢迎填写以下问卷 ,我会继续针对大家的实际问题制作视频教程或撰写技术文章。强烈推荐读者关注我在仿真秀官网的ANSYS二次开发视频教程,并加入我的VIP用户群,可以提供答疑服务,详情见后文。
 
在仿真分析后,一份完整、精准的报告是成果呈现的关键 —— 而 ANSYS Report 的「Report Preview」功能,正是为高效生成报告而生!无需手动整理数据、拼接图表,一键导出后直接二次修改,帮你节省大量时间。
001    

ANSYS Report核心优势与使用方法    

 
1、核心优势:快速导出,无缝二次编辑  
「Report Preview」是 ANSYS Workbench 中隐藏的高效工具,核心亮点的在于:
✅ 一键快速导出:选中功能后自动启动报告生成,直接提取分析项目中的关键数据、图表、材料信息,无需手动录入;
✅ 支持二次修改:导出的报告(可选择 MHT/HTML/Word/PPT 格式)保留可编辑性,后续根据需求调整内容、排版即可,灵活适配不同场景;
✅ 数据精准一致:通过 “提取大纲项→核查工作表→补充材料数据” 的逻辑,确保报告内容与分析结果完全同步,避免人工误差。
 
2、怎么找到它?  
(1) 打开 ANSYS Workbench,在顶部「Home」(主页)选项卡中;
(2) 找到「Tools」(工具)组,点击「Report Preview」即可启动功能。
⚠️ 注意:报告生成一旦开始,需等待完整运行结束后才能操作界面,中途点击其他区域可能导致进程中断或报错
 
 
3、内容自定义技巧:表格、图表按需调整  
导出的报告自动包含分析相关的表格、图表、图片,且支持个性化调整,满足不同呈现需求:
(1) 表格:灵活适配显示与打印
  • 默认显示 12 列,兼顾屏幕查看和打印效果;可在「Report Options」(报告选项)中调整列数(2 列~多列),比如高分辨率屏幕或横向打印时可增加列数;
  • 自动合并相同单元格,减少冗余信息,也可在选项中关闭该功能;
  • 表格内容与分析对象的「Details」(详情)直接对应,对象名称显示在表格顶部;
  • 注意:暂不支持显示非线性节点刚度矩阵的表格数据。
(2) 图表与图片:画质、尺寸自由调
  • 自动提取大纲中指定的图表、图片,所有位图默认以 PNG 格式保存,清晰无失真;
  • 可在「Report Preferences」(报告偏好设置)中调整:
  • 图表 / 图片尺寸:数据点少则调小,需大幅打印则调大;
  • 打印质量:提高「Graphics Resolution」(图形分辨率),让打印效果更清晰;
  • 图例字体:通过「Font Magnification Factor」(字体放大系数)调整图例大小,提升可读性。
002    

Python+JScript 实现报告自动化导出(实战核心)    

图形界面操作虽然便捷,但面对批量仿真(如多参数迭代、多工况分析)时,重复点击仍会耗费大量时间。这时候就需要通过二次开发实现自动化。但是目前Mechanical在ACT的API中,小郭老师并未找到这个操作的Python API,该怎么办呢?
 
1、核心思路:挖掘底层 JScript 命令  
其实,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代码。
 
2、完整代码及其讲解  
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()完成导出,流程与图形界面操作完全一致。
 
3、注意事项  
(1) 版本适配:不同 ANSYS 版本的DSMenuScript.js路径略有差异(如 2022 R2 为v232,2024 R1 为v241),需根据安装版本调整路径;
(2) 导出路径:若需指定路径,可在js_cmd中添加路径参数(需参考 JScript 文件中的doPublishProcessing()函数定义);
(3) 批量运行:若需批量处理多个仿真文件,可结合os模块遍历文件夹,调用 ANSYS 批量接口实现全自动化。
003    

我的ANSYS二次开发实用教程    

无论是直接使用「Report Preview」功能提升基础效率,还是通过二次开发实现自动化升级,核心都是让工程师从重复的报告整理工作中解放出来,将更多精力投入到仿真模型优化、工况分析等核心业务中。希望本文的实操技巧与代码案例,能为大家提供切实可行的效率提升方案,也欢迎大家结合自身工作场景,探索更多 ANSYS 二次开发的实用玩法~
其实 ANSYS 二次开发不用追求“高大上”,从实际工程需求出发,用几行代码解决一个具体痛点,就是最实用的开发。比如这个工具,看似简单,却能让工程师从重复的手动操作中解放出来,把时间花在更核心的仿真分析上——这正是二次开发的核心意义。
如果大家还有其他 ANSYS 使用中的痛点(比如批量设置载荷、自动生成报告、多工况对比等),欢迎在评论区留言,后续会持续分享针对性的二次开发实战案例!点击阅读原文,立即学习《ANSYS Workbench & Mechanical企业级二次开发程序与Python应用入门进阶 》,掌握 ANSYS Workbench & Mechanical 的脚本自动化开发能力。

可回放,开具发票,奖学金、直播加餐

提供vip群 答疑和模型下载

《ANSYS Workbench & Mechanical企业级二次开发程序与Python应用入门进阶 》

  
图片  
扫码查看视频教程
以下是课程大纲及主要内容:
图片  
我还为付费用户提供VIP群答疑服务、持续加餐内容、提供定制化培训和咨询服务、仿真人才库高新内推就业、仿真秀还提供奖学金、学完此课程,推荐学习者报名参加工程仿真技术(CAE分析职业能力等级评价证书)。
此外,在使用过程中遇到代码报错、需求调整等问题,欢迎在评论区留言,我会一一解答。后续还会分享更多 ANSYS 二次开发的实战技巧,敬请关注。

来源:仿真秀App
ACTMechanicalLS-DYNAFluentWorkbench非线性UDF电路二次开发材料机器人控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-12-25
最近编辑:9月前
仿真圈
技术圈粉 知识付费 学习强国
获赞 12105粉丝 23563文章 4686课程 278
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈