首页/文章/ 详情

二次开发下的仿真结果反复导图?ANSYS Viewer 自定义 UI 才是正解

精品
作者优秀平台推荐
详细信息
文章亮点
作者优秀
优秀教师/意见领袖/博士学历/特邀专家/独家讲师
平台推荐
内容稀缺
6月前浏览531
大家好,我是小郭老师,硕士毕业于中科院,专注于运用 Python 深度集成 ANSYS 进行工程数值计算与仿真自动化开发,精通基于 Python实现ANSYS Workbench众多模块的全流程脚本驱动(建模、求解、后处理),并具备将复杂仿真流程封装为高效、可复用软件工具的专业能力,上一篇文章效率直接拉满!Python+ANSYS二次开发,让我从此告别重复仿真正式在我的仿真秀技术专栏为用户提供技术服务和视频教程。今天我继续给大家分享一些ANSYS二次开发方面的干货。
在ANSYS仿真工程师的日常工作里,最头疼的场景之一莫过于仿真结果分享 了。明明只是想让同事看一眼应力分布,对方却得安装几十个G的ANSYS主程序。想和客户同步模型装配情况、各部位的云图情况,反复导图片的操作又繁琐又容易出错。
其实,ANSYS早就给我们准备了轻量化工具—— ANSYS Viewer 。它能直接打开AVZ格式的模型和结果文件,不用启动主程序。但是,原生Viewer没法集成到我们二次开发的业务流程里。今天就教大家一个硬核二次开发技巧: 把ANSYS Viewer嵌入自定义UI界面 ,打造专属的仿真结果查看平台
零基础快速入门Ansys Workbench二次开发应用
01    

先搞懂基础:AVZ文件与ANSYS Viewer    

在动手开发之前,我们得先把两个核心工具的用法摸透。
 
1. 什么是AVZ文件?怎么导出?  
AVZ是ANSYS专属的轻量化模型文件格式。它能同时打包三维几何模型和仿真结果数据。
导出路径特别简单:打开ANSYS Mechanical,在模型树选中需要导出的内容,直接用 Export功能 就能生成AVZ文件。
 
 
2. ANSYS Viewer核心功能,够用又好用  
ANSYS Viewer是基于Web GL的三维查看器,它的优点就是轻量化、零门槛 。无需安装ANSYS主程序,双击就能打开AVZ文件;支持模型平移、旋转、缩放,还能生成爆炸图查看装配结构,比如铰链四杆机构的零件配合关系一目了然;鼠标悬停在模型任意点位,就能直接显示该位置的仿真结果数值。
 
 
 
3. ANSYS Viewer安装指南(超简单)  
(1)去ANSYS官方网站下载2024 R1版本安装包(Windows 64-bit)
 
(2)解压压缩包到指定位置,解压、运行ANSYSViewer.exe
 
(3)选择以ANSYSViewer.exe打开 AVZ文件
 

02    

为什么要做二次开发?嵌入UI的刚需场景    

原生的ANSYS Viewer虽然好用,但在工程实战中还是不够灵活,无法根据企业需求定制功能按钮,更无法和我们的项目管理、数据归档流程结合。
我们的二次开发目标很明确:打造一个集文件选择、模型查看、结果分析于一体的定制化工具。 实现思路也不复杂: 用Python+PySide6搭建UI界面,通过调用外部进程启动ANSYS Viewer,再把Viewer窗口嵌入到我们自定义界面中 。
03    

核心实战:代码逐行拆解,小白也能看懂    

接下来就是最关键的代码环节,我们会把核心逻辑拆解开,确保大家能跟着复现。
 
1. 环境准备:先装这两个库  
开发前需要安装两个Python库,直接用pip命令:
 

pip install PySide6 pywin32
 
PySide6:用来搭建我们的自定义UI界面
pywin32:用来操作Windows窗口句柄,实现Viewer嵌入功能
 
2. 关键函数解析: findwindowby_pid  
这个函数是实现窗口嵌入的核心,作用是 根据进程PID找到对应的Viewer窗口句柄 。具体思路为,枚举所有可见窗口,再反查窗口对应的PID,才能精准定位到Viewer窗口。
 
3. 主窗口类开发:界面布局+核心逻辑  
主窗口类 MainWindow 是我们整个工具的载体,主要分为 界面布局 和 核心方法 两部分。
(1)界面布局:简单又实用
在 init 初始化函数中,我们完成了整个自定义 UI 界面的搭建,界面结构清晰地分为三个核心区域:
路径输入区,通过两个输入框分别填写 ANSYS Viewer 的程序安装路径和 AVZ 文件的本地存储路径,为启动 Viewer 和加载模型提供基础参数。
功能按钮区,仅设置了一个 “Open And Embed” 按钮,点击该按钮即可触发后续的 Viewer 启动与嵌入逻辑。
窗口容器区,作为专门承载嵌入后的 Viewer 窗口的区域,是实现界面整合的关键载体。
除了界面布局的定义,初始化函数中还创建了进程( QProcess )与定时器( QTimer )两个核心组件。
其中,进程对象用于启动外部的 ANSYS Viewer 程序,实现独立进程的调用与管理;定时器则负责周期性触发 try_embed 方法,轮询检测 Viewer 窗口是否创建就绪。
通过进程与定时器的配合,能够解决 “进程启动≠窗口就绪” 的问题,精准捕捉 Viewer 窗口的创建时机,确保窗口嵌入操作在合适的时机执行,避免因窗口未初始化完成导致的嵌入失败,让整个嵌入流程更稳定、更可靠。
(2)核心方法:三步实现嵌入
第一步: clear_container ——清理旧窗口,避免残留 这个方法用来处理多次点击按钮的情况,防止旧的Viewer窗口和进程占用资源。
  
 
第二步: open and  embed ——启动进程,开始轮询 点击按钮后,先清理旧窗口,再启动Viewer进程,最后开启定时器轮询窗口状态。
  
 
这里要注意: process.start() 只是启动了进程,不代表Viewer窗口已经创建,所以需要定时器周期性检测。
第三步: try_embed ——核心嵌入逻辑,一步到位 这是整个程序的灵魂方法,实现了“找窗口→隐藏原生窗口→嵌入→显示”的完整流程。
 
4. 运行代码,看效果!  
  
 
 
 
 
把完整代码保存为 .py 文件,直接运行:
  1. 确认 vieweredit 和 fileedit 里的路径是你本地的正确路径,如下图所示
  2. 点击“Open And Embed”按钮
04  

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

通过这个小案例,我们实现了一个看似复杂的功能,但核心代码其实只有几十行。这就是ANSYS二次开发的魅力: 用低成本的Python代码,解决高价值的工程问题 。
在完成 ANSYS Viewer 嵌入自定义 UI 的基础功能后,还能基于这个框架进一步拓展实用功能,让工具更贴合工程实战需求。比如,增加多文件批量加载功能,支持同时打开多个 AVZ 模型并实现对比查看,方便工程师快速比对不同工况下的仿真结果;还能基于ANSYS Viewer的功能,在模型上直接添加工程注释、关键尺寸或问题标注,提升结果沟通的效率。
如果大家有这方面的需求,欢迎直接访问仿真秀官网或APP搜索【小郭老师】,我们可以做进一步的沟通讨论~
图片  
图片  
扫码立即咨询我  

 
 
系统化二次开发教程  
针对想要入门或进阶ANSYS二次开发的朋友,提供从基础到高阶的系统化教程《ANSYS Workbench & Mechanical企业级二次开发程序与Python应用入门进阶》,课程内容包括:
  • 基础篇:基于 Python 的 ANSYS Mechanical 脚本开发,能够实现热力耦合、模态分析等工况求解、后处理结果批量导出
  • 进阶篇:Workbench脚本化操作与自动化,掌握批处理脚本开发、Pycharm & ANSYS交互等关键命令
  • 项目篇:某大型商业化电站高温熔盐储罐单向热力耦合下的多工况计算与软件开发,结合行业案例,手把手教学工具封装与UI界面开发,让知识快速落地。
在本系列课程中,我还为付费用户提供 VIP群 进行交流、 答疑服务 、 持续加餐 内容、提供 定制化培训和咨询服务 、 仿真人才库高薪内推就业 、仿真秀还提供 奖学金 、学完此课程,推荐学习者报名参加工程仿真技术(CAE分析职业能力等级评价证书)。
以下是 课程大纲及主要内容 :
图片  
在平常,我还会于仿真秀公众 号和仿真秀平台首发各种ANSYS二次开发技巧,并创建了二次开发交流群,并于群里分享各种二次开发的源程序。大家只需分享文章到朋友圈,即可凭借截图联系官方客服,还可以加入二次开发技术交流群。
图片  
图片
扫码加入ANSYS二次开发
技术交流群
05  

💡 写在最后    

ANSYS二次开发不是“锦上添花”,而是AI时代工程仿真人的“必备技能”。无论是想要提升个人工作效率,还是需要为企业定制化仿真解决方案,都可以随时找我交流。
后续我也会持续分享ANSYS二次开发的干货技巧、脚本案例、实战经验,助力大家少走弯路、快速进阶。有二次开发需求、学习疑问,或是想了解具体案例细节,欢迎私信我聊一聊~


来源:仿真秀App
MechanicalLS-DYNAFluentWorkbenchHyperMeshUDF电路二次开发爆炸材料机器人控制装配
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-02-02
最近编辑:6月前
仿真圈
技术圈粉 知识付费 学习强国
获赞 12081粉丝 23463文章 4579课程 276
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈