首页/文章/ 详情

救命!ANSYS仿真做完,报告要熬1小时?教你30秒自动化生成

精品
作者优秀平台推荐
详细信息
文章亮点
作者优秀
优秀教师/意见领袖/博士学历/特邀专家/独家讲师
平台推荐
内容稀缺
5月前浏览515
 
点击文尾阅读原文查看
作者 | 小郭老师 仿真秀优秀讲师
首发 | 仿真秀App
图片  
在 ANSYS 仿真工作中,手动整理报告是工程师普遍面临的痛点:逐页查看几何参数、统计网格信息、抄录求解结果、反复截图排版,一份报告耗时 30 分钟以上,还易出现数据错误,多工况、多零件场景下效率更低。如何让仿真报告从 “手动繁琐” 变为 “一键自动”,成为提升工作效率的关键。
前不久,有课程VIP群学员咨询小郭老师:“仿真分析完成后,整理报告太耗时,有没有办法让数据提取、截图、排版全自动化?” 其实这也是绝大多数仿真工程师的共同困扰——明明仿真核心工作已经完成,却要在报告整理上耗费大量时间,还容易因手动操作出错。
针对这个痛点,小郭老师基于Python 与 ANSYS 二次开发,带来可直接落地的仿真报告自动化方案,手把手教你从 ANSYS Mechanical 中自动提取几何、网格、分析结果等核心数据,批量导出 3D 云图并一键生成标准化 Word 报告。文中封装完整 ReportGenerator 类,提供可直接复 制运行的代码,覆盖数据提取、表格生成、图片插入、文档保存全流程,帮你把报告制作时间压缩至 30 秒内,数据零误差、格式统一规范。以下是正文:
上一篇初步介绍了如何结合 Python 和 Word COM 自动生成自定义报告。本文进一步讲解如何读取 ANSYS Mechanical 的各个关键参数,然后一起写到报告里。更多ANSYS二次开发技术文档请在仿真秀官网搜索【小郭老师】查看。
具体包含内容:
  1. 几何信息:重量、体积、材料属性
  2. 网格信息:网格数量、网格单元数量
  3. 分析结果:应力/温度的最大值、最小值、平均值
  4. 3D截图:自动导出各部分的云图
01    

真实痛点:报告生成为什么这么低效?    

你是不是也经历过这样的场景?
仿真分析完成了,领导/客户要报告。你得打开 ANSYS,逐个查看几何体的质量、体积、材料…然后打开网格模块,统计节点数和单元数…再点开结果对象,一个一个记录最大值/最小值…最后还要逐个截图,粘贴到 Word,调整图片大小和位置…
整个过程下来,一份报告要花 30-60 分钟,还容易因为手动操作出错。要是有 5 个工况、10 个零件,那就得翻倍耗时。
脚本化的优势是什么?
一行命令,系统自动:
  • 遍历所有几何体,提取质量/体积/材料
  • 统计网格数据
  • 汇总结果的统计值
  • 生成 3D 截图
  • 排版到 Word 报告中
几分钟自动完成,数据准确、格式统一,再也不用重复手动操作。
02    

核心思路:数据 → 对象 → 报告    

在动手写代码前,咱们先理清整体逻辑,这样后面看代码就不会懵。
整个流程其实就 4 步:

ReportGenerator 类已经帮我们封装好了:

  • add_heading(text)
  • add_heading(text):添加标题
  • add_table(headers, rows):插入表格
  • add_text(text):插入文本
  • add_image(pic_path, caption):插入截图
  • generate():自动生成报告的各个部分
  • save():保存为 Word 文档
我们的任务就是:从 ANSYS 读取数据,然后调用这些方法往报告里填内容。
03    

实战代码讲解    

现在进入核心环节——一步步讲解如何从 ANSYS 提取各类数据,并自动生成报告。

   

   
1.初始化报告对象(最简单的一步)  
首先,创建一个 ReportGenerator 实例,指定报告的保存路径和标题:
关键说明:
•GetUserFilesDirectory() 获取 ANSYS 的用户文件目录(通常是项目的 user_files 文件夹)
• 报告会自动保存到该目录下,路径自动管理,无需手动指定复杂路径

   

   
2.自动提取几何信息(核心方法1)  
痛点:手动查看每个几何体的属性太麻烦——点开零件树,逐个查看 Mass、Volume、Material…
解决方案:用get_active_geometries_info()方法一键提取所有数据。
来看关键代码片段:
核心逻辑拆解:
Model.Geometry.Children:获取所有零件
part.Children:遍历每个零件下的所有几何体
body.Suppressed:被压制的几何体会自动跳过(这是个巧妙的细节,避免了手动管理)
body.Mass/body.Volume/body.Material:直接访问质量、体积、材料属性
fmt_sci():格式化函数,将2.56e+03这样的科学计数法转换为易读的格式
然后调用
add_table()生成表格:
执行效果:报告中自动生成一个专业的表格,包含所有几何体的信息。

   

   
3.自动统计网格信息(核心方法 2)  
痛点:网格划分完成后,要手动查看并记录"节点数、单元数"两个数据。
解决方案:直接访问 Model.Mesh 对象,一行代码搞定。
看核心代码:
核心逻辑很简单:
(1)访问 Model.Mesh 获取网格对象
(2)直接读取 .Nodes和 .Elements 属性
(3)用add_text()插入报告(因为数据只有两个,不必用表格)
 

   

   
4.自动汇总分析结果(核心方法 3)  
痛点:仿真完成后有多个结果对象(温度、应力、位移等),要逐个点开查看 Max/Min/Average,然后手动记录…
解决方案:用 DataModel.GetObjectsByType()一次性获取所有结果对象,自动生成统计表格。
看关键代码:
核心逻辑拆解:
DataModel.GetObjectsByType(DataModelObjectCategory.Result):一次性获取所有结果对象(温度、应力、位移等都包括)
result.Maximum / result.Minimum / result.Average:直接访问统计值
容错处理:用 hasattr() 和 if ... else 防止某些属性不存在导致报错
数据格式化:调用 fmt_sci()转换为科学计数法,避免数字过长
执行效果:
报告中生成一个结果统计表,包含所有分析结果的 Max/Min/Average,一目了然。
⚠️关键注意事项:
• 不同的结果类型可能有不同的属性,某些结果可能没有 Average 属性,所以要用hasattr()判断
• 科学计数法显示是为了避免"999999999"这样的长数字影响表格美观

   

   
5.自动导出截图并插入报告(核心方法 4)  
痛点:仿真完成后要逐个截图(几何体的 3D 模型、网格、应力云图等),然后手动插入 Word,调整大小…
解决方案:用export_image()一键导出所有截图,用add_image()自动插入报告。
来看关键代码:
核心逻辑拆解:
obj.Activate():激活对象,让 ANSYS 显示该对象的内容
SetSpecificViewOrientation(ViewOrientationType.Iso):设置 Iso(等距)视角
其中,为什么用 Iso 视角呢?因为它是立体视图中最通用、最美观的选择,不管什么模型都能清晰展示
Camera.SetFit():自动拟合视图,使对象恰好充满屏幕
Graphics.ExportImage(file_img):导出为图片文件
文件路径自动管理:图片自动保存到 resourcedir(通常是 userfiles/resources)
然后调用 add_image()
插入报告:
执行效果:报告中自动插入几何体、网格、结果的 3D 截图,每张图片都有标题和适当的缩放。
⚠️关键细节:
•视角选择:Iso 视角(立体视角)通常是最佳选择,如果需要其他视角可以修改ViewOrientationType
•图片缩放:代码中有image_scale参数(默认 70%),可以根据需要调整
•自动命名:图片文件名自动以对象名称命名,便于管理
04    

完整调用示例    

前面讲了各个部分的核心逻辑,现在看看怎么把它们串联在一起。
完整的调用代码其实非常简洁:
 
创建 ReportGenerator 对象(初始化 Word 文档)  
调用 generate() 方法(自动生成报告的 3 大部分:几何、网格、结果)  
调用 save() 方法(保存为 .docx 文件并关闭 Word)  
耗时:通常 20-40 秒(取决于模型复杂度和截图数量)  
05    

运行效果演示    

来看最终生成的报告长什么样。
核心要点:
• 表格自动生成,格式统一(表头加粗、居中、灰色背景)
• 图片自动插入,大小适配、居中显示、带标题说明
• 文本排版清晰,层级分明(标题 + 内容 + 空行)
•最关键的:所有数据都是从 ANSYS 自动提取,无需手动粘贴
时间对比:
06    

总结与拓展:二次开发的价值不止于此    

对于日常仿真工作而言,这套方案不仅大幅节省数十分钟的重复劳动,规避人工录入带来的数据误差,还能统一团队报告格式、提升交付专业性。后续我们还可以在此基础上,拓展载荷工况、约束条件、求解设置、结论批注等更多模块,不断完善报告模板,打造全链路仿真自动化工具链,让 ANSYS 仿真工作更高效、更标准化。
这就是ANSYS二次开发的魅力: 用低成本的Python代码,解决高价值的工程问题 。如果大家有这方面的需求,欢迎直接访问仿真秀官网或APP搜索【小郭老师】,我们可以做进一步的沟通讨论~,以下是我的ANSYS二次开发视频教程,欢迎读者朋友扫码试看。
图片  
限时特价(限10名)  
秒杀:1399 元(售价:1699元 )  
可回放/开发票/奖学金/加餐  
提供vip群答疑和模型下载  

【适配JD好课】Workbench & Mechanical二次开发程序与Python应用入门进阶_ACT-仿真秀视频课程  


以下是课程大纲及主要内容:

图片  
仿真秀读者福利        
(完)    
声明:本文首发仿真秀App,部分图片和内容转自网络,如有不当请联系我们,欢迎分享,禁止私自转载,转载请联系我们。欢迎投稿,投稿与技术交流请联系杨老师18610516616(微同)    
   
喜欢作者,请点赞和在看    


来源:仿真秀App
ACTMechanicalWorkbenchHyperMeshHyperView振动二次开发通用焊接材料试验
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-05-12
最近编辑:5月前
仿真圈
技术圈粉 知识付费 学习强国
获赞 12103粉丝 23560文章 4677课程 277
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈