导读:大家好,我是小郭老师,硕士毕业于中科院,专注于运用 Python 深度集成 ANSYS 进行工程数值计算与仿真自动化开发,精通基于 Python实现ANSYS Workbench众多模块的全流程脚本驱动(建模、求解、后处理),并具备将复杂仿真流程封装为高效、可复用软件工具的专业能力,今天给大家分享一些ANSYS二次开发方面的干货。
之前给大家分享过导出ANSYS瞬态时域数据的方法《Python & ANSYS | 数据处理新突破:Python在Mechanical瞬态时域分析中的应用》。
今天再补充一种更灵活的实现方式。这种方法通过直接读取后处理表格数据并写入Excel,特别适合处理复杂结果对象的数据导出。
先上干货,直接看完整实现代码:


这种方法的本质是:直接读取ANSYS后处理界面中"表格数据"面板的内容,再通过Excel互操作将数据写入表格。相比之前分享的方法,它更贴近用户操作习惯,不需要手动定义变量名。

通过GetObjectsByName方法根据名称精准定位结果对象,这要求结果对象必须有唯一可识别的名称(建议在建模时规范命名)。

这段循环是精华!通过向上遍历父对象找到最顶层的分析对象,从而获取模型的工作目录,确保文件保存路径正确。

直接获取"表格数据"面板的控件对象,然后通过RowsCount、ColumnsCount和cell(row, col).Text读取所有数据。
使用Microsoft.Office.Interop.Excel库实现数据写入,注意:
需要确保电脑安装了Excel
用.NET Array而不是Python列表进行数据传递(互操作要求)
Visible属性控制是否显示Excel窗口(调试时设为True,批量处理时设为False)
(1) 多结果批量导出:只需在result_names列表中添加多个结果名称,如:

(2) 路径自定义:修改user_files_dir的定义可改变保存位置,例如直接保存到桌面:

(3) 数据筛选:在读取control.cell(row, col).Text后可添加判断逻辑,只导出需要的数据列。
用户手动操作时,常通过以下方法,导出后处理对象表格控件内的数据。

当使用Python脚本时,通过如下方法,导出后处理对象表格控件内的数据。

以上就是本次分享的 ANSYS 瞬态数据导出新方法,核心优势在于无需复杂配置,直接读取界面表格数据,完美复刻手动操作的逻辑,却能节省大量重复工作时间 —— 尤其是需要批量导出多个结果、多次迭代分析的场景,把代码保存为脚本,一键运行就能搞定!
如果在使用过程中遇到问题(比如 Excel 互操作失败、结果对象找不到、路径报错等),欢迎在评论区留言具体报错信息,我会逐一回复解答