许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  全网独家!ANSYS Mechanical用Python导出Tabular Data可运行代码

全网独家!ANSYS Mechanical用Python导出Tabular Data可运行代码

阅读数 5
点赞 0
article_banner


导读: 大家好,我是小郭老师,硕士毕业于中科院,专注于运用 Python 深度集成 ANSYS 进行工程数值计算与仿真自动化开发,精通基于 Python实现ANSYS Workbench众多模块的全流程脚本驱动(建模、求解、后处理),并具备将复杂仿真流程封装为高效、可复用软件工具的专业能力,今天给大家分享一些ANSYS二次开发方面的干货。



在ANSYS Mechanical日常分析工作中,相信不少工程师都有这样的经历:完成仿真分析后,需要导出结果表格数据用于绘图、报告制作,或是对比某测点的仿真值与实际测试值。手动右键导出数据的方式,在单模型、少测点场景下尚可应对,但面对批量分析、多测点对比时,不仅效率低下,还容易出现人为误差。

之前给大家分享过导出ANSYS瞬态时域数据的方法《Python & ANSYS | 数据处理新突破:Python在Mechanical瞬态时域分析中的应用》。今天,小郭老师就为大家带来这套全网独家的实战方案。用Python实现ANSYS Mechanical中Tabular Data(表格数据)的自动化导出,手把手教你搞定代码编写,从根本上解决手动导出的繁琐问题,同时为后续仿真值与实测值对比做好数据准备。

一、核心需求:二次开发要解决的两个关键问题

在动手写代码前,我们先明确要解决的核心问题:

1、摆脱手动操作:如何通过代码直接导出Mechanical中结果表格的数据,而非依赖右键Export?

2、精准数据提取:如何基于测点坐标定位目标位置,提取对应仿真数据,为后续与实测值对比铺路?

接下来,我们从代码实现的角度,一步步拆解解决方案。

二、实战代码解析:分模块实现核心功能

(一)基础准备:导入必要的库与模块

ANSYS Mechanical二次开发基于IronPython,需先引用相关.NET程序集和工具模块,这是代码运行的基础:

关键说明

  • clr模块用于加载.NET程序集,是ANSYS二次开发调用Mechanical API的核心;
  • Microsoft.Office.Interop.Excel实现Python与Excel的交互,完成数据导出;
  • wbjn、ExtAPI是ANSYS二次开发的核心工具,用于调用Mechanical界面和数据模型。

(二)核心函数1:基于坐标创建监测点命名选择

要提取某测点的结果数据,首先要精准定位该测点——通过坐标创建「命名选择」是最直接的方式。以下函数可根据输入的X/Y/Z坐标,自动创建包含该测点的命名选择:

核心逻辑拆解

1、先通过X坐标「添加」候选节点,再通过Y/Z坐标「过滤」,精准定位目标测点;

2、加入容差计算(默认5%),避免因网格节点坐标与输入坐标不完全一致导致定位失败;

3、处理边界值异常(如零值、上下界颠倒),提升代码健壮性。

(三)核心函数2:将结果数据导出到Excel

创建好测点命名选择后,下一步是提取该测点的结果数据并写入Excel,方便后续与实测值对比:


核心逻辑拆解

1、通过定位Mechanical的「表格数据」面板,获取表格控件;

2、逐行逐列读取表格文本数据,存入二维列表;

3、调用Excel COM接口,将数据写入工作表,完成导出;

(四)主流程:完整的自动化执行逻辑

将上述两个核心函数结合,形成完整的「定位测点→提取结果→导出Excel」流程,以温度结果为例:


核心逻辑拆解

1、先统一单位系统,避免因单位不一致导致坐标定位错误;

2、验证命名选择是否创建成功(非空),避免后续操作报错;

3、通过弹出保存对话框,让用户自定义Excel保存路径,更贴合实际使用场景。当然,在实际二次开发过程中,也可以直接给定路径,实现全自动导出数据。

4、加入消息提示(),反馈执行结果。

三、实操演示:完整代码、运行与效果验证

(一)前置条件

1、ANSYS Mechanical已打开,并完成分析计算,如下图所示:


2、电脑安装Microsoft Excel(确保COM接口可用)

3、将代码复制到Mechanical的「Scripting」面板,如下图所示:


(二)运行步骤


1、修改为目标测点的实际坐标;

2、点击「Run Script」执行代码;


3、弹出保存对话框,选择Excel保存路径,如下图所示


4、查看弹出的提示框,确认导出结果

如果在第3步中定义了所要导出的文件路径,并点击了保存,会有如下成功提示:


否则,点击【取消】按钮,则会有如下错误提示:


(三)效果验证

1、检查Mechanical中是否成功创建名为「ns_point1」的命名选择;


2、对比Mechanical Tabular Data面板的数据和导出的Excel文件,确认成功正确导出。


四、总结

本次带来的全网独家实战方案,代码并非固定模板,而是经过工程验证的可复用框架,可根据实际工程场景灵活拓展,适配更多复杂需求:

1、多测点批量处理:将改为坐标列表(如),通过循环调用和,实现多测点数据批量导出,大幅提升效率;

2、多类型结果导出:无需大幅修改代码结构,仅需将替换为对应结果的API接口,即可导出不同类型数据,比如(等效应力)、(位移)、(速度)等;

3、自动对比实测值:在函数的Excel写入逻辑中,可追加实测值列——既可以手动在代码中定义实测值列表,也可以通过读取外部CSV/Excel文件获取实测数据,后续添加差值(仿真值-实测值)、误差率(|仿真值-实测值|/实测值×100%)计算逻辑,实现“导出+对比”一步到位;

4、强化异常处理:实际工程场景中可能出现路径不存在、Excel被占用、命名选择创建失败等问题,可在代码中添加异常捕获块,针对不同异常类型给出明确提示,提升代码的稳定性和容错性。

总的来说,这套全网独家的ANSYS二次开发实战方案,精准击中工程师的实际痛点。

相比手动右键导出数据、逐测点整理对比的传统方式,这套自动化方案不仅彻底摆脱了重复机械操作,还通过容差控制、单位统一等细节设计,保障了数据提取的精准性。

更重要的是,代码的可拓展性让其能适配多测点、多结果类型的复杂场景,为仿真分析的后续数据处理、报告制作搭建了标准化基础。

其实ANSYS二次开发不用追求“高大上”,从实际工程需求出发,用几行代码解决一个具体痛点,就是最实用的开发。比如这个工具,看似简单,却能让工程师从重复的手动操作中解放出来,把时间花在更核心的仿真分析上——这正是二次开发的核心意义。

如果大家还有其他ANSYS使用中的痛点,欢迎在评论区留言,后续会持续分享针对性的二次开发实战案例!

点击阅读原文,立即学习《ANSYS Workbench & Mechanical企业级二次开发程序与Python应用入门进阶 (https://www.fangzhenxiu.com/course/13411984/)》,掌握ANSYS Workbench & Mechanical的脚本自动化开发能力。

本课程从基础脚本开发到多工况批量计算的自动化实现,手把手教你用 Python 打通 “仿真流程自动化 - 多工况批量计算” 全链路,让 “重复仿真工作自动化、复杂工况高效计算” 从想法变成日常。

我还为付费用户提供VIP群进行交流、答疑服务持续加餐内容、提供定制化培训和咨询服务仿真人才库高薪内推就业、仿真秀还提供奖学金、学完此课程,推荐学习者报名参加工程仿真技术(CAE分析职业能力等级评价证书)。

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



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

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空