首页/文章/ 详情

AI For CAE?XML+Python开发自动仿真向导 网格/工况/后处理全自动化

5月前浏览945
图片  
大家好,我是仿真秀专栏作者设计仿真一体化,擅长CAD&CAE项目咨询和二次开发。在上一篇文章《txt+AI组合,教你轻松拿捏Ansys Workbench 专业级二次开发》中,我为大家介绍了 DeepSeek 智能助手 配合极简 TXT 文本文件,带来一套全新的 ANSYS Workbench 二次开发方案——直观、灵活、高效,让每一位工程师都能轻松掌握自动化开发,成为真正的效率专家!本文继续为读者朋友带来Ansys workbench二次开发干货内容。
在工程仿真中,重复性的操作往往耗费大量时间。借助Ansys Mechanical的向导(Wizard)扩展功能,我们可以将一系列标准操作封装成一个自动化的流程,大大提高工作效率。本文将介绍一个名为“自动仿真”的自定义向导,它通过XML界面定义和Python脚本实现,能够一键完成网格划分、工况设置和结果提取。    

01 向导概述    

该向导的名称为“自动仿真”,在Mechanical界面中以一个独立的向导按钮呈现。它包含了三个连续的步骤:
1、网格划分 – 控制全局单元大小,并自动识别所有等长的边进行网格细化。
2、工况定义 – 设置固定约束(自动识别所有等面积的面)和重力载荷,并自动求解。
3、结果提取 – 显示总变形结果的最大值。
通过这个向导,用户只需在第一步选择一个代表性边,第二步选择一个代表性面,即可自动完成网格控制、边界条件施加、求解和后处理,极大地简化了操作流程。

02 向导界面设计(XML配置)    

向导的界面由XML文件定义,文件名为`最终版.xml`。其核心结构如下:
 
2.1 扩展基本信息  
 
  • 定义了扩展的唯一GUID、作者、描述。
  • 引用了同目录下的Python脚本`ds.py`,所有业务逻辑都在该脚本中实现。
 
2.2 向导步骤定义  
第一步:网格划分(Mesh)
名称:Mesh,标题:网格划分。
回调函数:
  • `onreset`:`RemoveControls` – 重置时删除之前创建的网格控制对象。
  • `onupdate`:`CreateMeshControls` – 点击下一步时创建网格控制并生成网格。
属性组(Sizing):
  • `Ndiv1`:全局单元大小(整数)。
  • `Location`:几何选择,限定为边(`selection_filter="edge"`),并带有自定义验证函数`IsLocationValid`,确保只选中一条边。
  • `Ndiv`:边上单元划分数(整数)。
第二步:工况定义(Solution)
名称:Solution,标题:工况定义。
回调函数:
  • `onrefresh`:`RefreshLoads` – 进入该步时刷新网格统计信息(节点数和单元数)。
  • `onreset`:`RemoveLoads` – 重置时删除创建的载荷和结果对象。
  • `onupdate`:`CreateLoads` – 点击下一步时创建固定约束、重力载荷、添加总变形结果,并求解。
属性组:
  • `Mesh`:显示节点数和单元数(只读文本)。
  • `FixedSupport`:固定约束,几何选择限定为面(`selection_filter="face"`),验证函数`IsLocationFSValid`确保只选中一个面。
第三步:结果提取(Results)
名称:Results,标题:结果提取。
回调函数:
  • `onrefresh`:`RefreshResults` – 显示总变形的最大值。
属性:一个只读文本框`Res`,显示变形结果。 

03 核心逻辑实现(Python脚本)    

`ds.py`文件包含了所有回调函数的实现,使用Ansys Mechanical的Python API进行操作。
 
3.1 网格控制相关函数  
`CreateMeshControls(step)`
获取当前模型和网格对象。
从第一步属性中读取全局单元大小(`Ndiv1`)并赋值给`mesh.ElementSize`。
获取用户选择的边(`Location`),取得其长度。
遍历所有几何体,查找所有长度与选中边长度相等(容差1e-6)的边,将它们组成一个新的选择集,实现自动等边识别。
添加网格细化控制(`AddSizing()`),设置位置为上述选择集,类型为`NumberOfDivisions`,划分数从`Ndiv`属性读取。
将创建的`sizing`对象保存在步骤属性中,以便后续删除。
最后生成网格:`mesh.GenerateMesh()`。
`RemoveControls(step)`
从步骤属性中取出之前保存的`sizing`对象并删除。
`IsLocationValid(step, prop)`
验证用户是否只选择了一条边,若不是则设置错误提示信息并返回False。
 
3.2 工况定义相关函数  
`RefreshLoads(step)`
从模型中读取当前网格的节点数和单元数,更新到属性组`Mesh`的文本框中,并刷新界面。
`CreateLoads(step)`
获取第一个分析对象(`model.An alyses[0]`)。
添加固定约束:获取用户选择的面的面积,遍历所有面,查找所有等面积的面(容差1e-6),将它们设为固定约束的位置,实现自动等面识别。
添加地球重力载荷:`an alysis.AddEarthGravity()`。
添加总变形结果:`an alysis.Solution.AddTotalDeformation()`。
将所有创建的载荷和结果对象保存到步骤属性(`loads`列表)中,同时将结果对象单独保存为`res`。
求解:`an alysis.Solve(True)`。
将结果最大值保存到扩展属性中:
`ExtAPI.Extension.SetAttributeValueWithSync("result", res.Maximum.ToString())`。
`RemoveLoads(step)`
从步骤属性中取出`loads`列表,逐个删除。
`IsLocationFSValid(step, prop)`
验证用户是否只选择了一个面。
 
3.3 结果提取函数  
`RefreshResults(step)`
从上一个步骤(Solution)的属性中获取保存的总变形结果对象(`res`)。
读取其最大值并显示在第三步的文本框中。   

04 我的AI设计仿真应用技术教程    

通过这个自定义向导,我们成功地将一个典型的静力学仿真流程自动化。用户只需两次几何选择(一条边和一个面)和一些参数输入,即可完成从网格控制到结果提取的全过程。其中最关键的特性是自动等边识别(用于网格细化)和自动等面识别(用于固定约束),这使得用户无需手动逐一选取所有相同特征的几何,大大减少了重复操作,也降低了出错的可能性。
该示例展示了Ansys Mechanical向导扩展的强大功能:通过XML定义界面,通过Python实现业务逻辑,开发者可以快速构建符合特定需求的自动化工具。无论是标准分析流程的固化,还是企业内部仿真规范的推行,向导扩展都是一个值得掌握的利器。
希望本文能为您开发自己的Mechanical向导提供有益的参考。如果您有任何问题或建议,欢迎交流探讨。若你渴望快速掌握这项核心技术,打通 “设计 - 仿真 - 优化” 全流程闭环,可关注我的零代码 DeepSeek 助力 SolidWorks 联合 Workbench 参数化设计、仿真、优化线上课程!
限时特价(限10名)
秒杀价599 元价值:699 
可回放,开具发票,奖学金、直播加餐
提供vip群答疑和模型下载

零代码DeepSeek助力SolidWorks联合Ansys Workbench参数化设计仿真优化

课程以零代码为门槛,无需复杂编程软件,仅用 TXT 即可上手,专门拆解 SolidWorks 与 ANSYS Workbench 双向几何参数驱动的实操细节,覆盖参数化建模规范、接口配置、仿真自动化脚本开发、AI 辅助优化等核心内容,搭配实战案例与配套资料,让你从基础到进阶全面掌握 CAD/CAE 一体化技能。课程持续连载更新,提供VIP群答疑和资料,支持在线开票与培训通知。
以下是课程大纲及安排
绪论:SolidWorks联合Workbench自动化设计、仿真、优化
第一章:课程基础
  • 第1讲:SolidWorks和Workbench双向驱动-几何模型
  • 第2讲:DeepSeek和SolidWorks参数化建模开发-以前课程
  • 第3讲:DeepSeek和Workbench Mechanical界面、按钮开发
  • 第4讲:Workbench前处理软件DM/SCDM界面、按钮开发
  • 第5讲:DeepSeek和Workbench Mechanical向导界面开发
第二章:脚本开发
  • 第6讲:Workbench Mechanical脚本基础介绍
  • 第7讲:Workbench Mechanical网格划分脚本录制
  • 第8讲:Workbench Mechanical施加约束脚本录制
  • 第9讲:Workbench Mechanical施加载荷脚本录制
  • 第10讲:DeepSeek和Workbench Mechanical自动求解开发
  • 第11讲:DeepSeek和Workbench Mechanical脚本开发-自动创建图解和图片输出
  • 第12讲:DeepSeek和Workbench Mechanical脚本开发-自动仿真报告
第三章:工具栏开发
  • 第13讲:Workbench Mechanical自动网格划分
  • 第14讲:Workbench Mechanical自动施加约束
  • 第15讲:Workbench Mechanical自动施加载荷
  • 第16讲:Workbench Mechanical自动求解
  • 第17讲:Workbench Mechanical自动创建图解和图片输出
第四章:向导栏开发
  • 第18讲:Workbench Mechanical向导式网格划分
  • 第19讲:Workbench Mechanical向导式施加约束
  • 第20讲:Workbench Mechanical向导式施加载荷
  • 第21讲:Workbench Mechanical自动求解
  • 第22讲:Workbench Mechanical自动提取数值-最大变形值
第五章:SW仿真数据传递
  • 第23讲:SolidWorks实体单元传递到Workbench
  • 第24讲:SolidWorks曲面壳单元传递到Workbench
  • 第25讲:SolidWorks 梁单元传递到Workbench
  • 第26讲:SolidWorks simulation数据传递到Workbench
  • 第27讲:实例:SolidWorks参数化设计 Workbench仿真与优化
  • 第28讲:STP、X-T模型参数提取(加餐)
总之,它适用于机械、土木、航空航天等领域的设计仿真工作场景,无论是学生完成课程设计、毕业设计,还是工程师开展产品研发、结构优化、多参数迭代仿真,亦或是科研人员进行数据提取与报告撰写,都能通过零代码方式借助 DeepSeek 打通 SolidWorks 与 Ansys Workbench 的双向协同,实现几何模型、仿真数据的无缝流转及网格划分、约束施加、求解输出、报告生成全流程自动化,大幅降低二次开发门槛与重复劳动成本,3 倍提升仿真效率,帮助用户快速构建 “设计 - 仿真 - 优化” 闭环能力,既助力学生提升就业竞争力,也为工程技术人员、科研人员的工作与研究提质增效,实现技能升级与项目落地的双重价值。

来源:仿真秀App
MechanicalWorkbenchIsightDeform静力学动网格拓扑优化多学科优化二次开发航空航天汽车ADS叶轮机械参数优化材料控制曲面
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-03-16
最近编辑:5月前
仿真圈
技术圈粉 知识付费 学习强国
获赞 12081粉丝 23458文章 4579课程 276
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈