Mechanical 有限元云图:用 Python 统一线框、变形比例和极值标记

需求描述:论文插图与报告图一致性
大家好,我是小郭老师,中科院硕士,长期从事 ANSYS 二次开发与仿真流程自动化,曾帮助多个研究所、研究院、国企和大型企业完成 ANSYS 二次开发项目。
在 Mechanical 的有限元/数值计算后处理场景中,云图显示规则会直接影响论文插图和报告截图的一致性。
论文插图和报告截图最怕一组图各有各的风格:有的带线框,有的没有;有的变形比例夸张,有的显示真实比例;有的标了最大最小值,有的没有。图本身可能没错,但读者会觉得结果不统一。
本文脚本面向论文插图、公司报告和评审材料中的结果表达,统一设置 Mechanical 图形显示偏好,包括变形比例、线框显示、云图显示方式和最大最小值标记。
脚本实现思路
实现时,脚本从 Mechanical 的 Graphics 显示选项入手,依次设置变形比例、线框显示、云图平滑方式,以及最大值和最小值标记开关。
它适合用于论文插图、报告截图或批量出图前的显示准备。脚本统一当前 Mechanical 图形窗口中的结果显示偏好,让后续截图看起来更一致。
需要注意的是,这类设置属于图形显示层面的偏好。实际项目中可以先选一个结果对象试跑,确认线框、变形比例、云图显示和极值标记已经写入,再批量应用到报告截图对象。
整体执行过程可以理解为下面几步:

第一步,脚本根据 is_true_scale 决定使用真实比例还是自动比例。
第二步,脚本设置变形显示比例倍率。
第三步,脚本关闭线框叠加,并将云图设置为平滑显示。
第四步,脚本按 show_extreme_values 控制最大值和最小值标记。
第五步,脚本输出显示设置完成提示,方便运行后确认。
源码及其讲解

这段脚本没有进入 DataModel.Project.Model,因为它处理的是 Mechanical 图形窗口的显示偏好。核心入口是 Graphics.ViewOptions.ResultPreference,也就是结果显示相关设置;载荷、约束和结果对象本身不会被改动。
脚本先用 is_true_scale 控制变形比例策略。为 True 时,设置为真实比例并将倍率设为 1;为 False 时,使用自动变形比例,并把倍率设为 0.7。这个设置只影响图形显示的夸张程度,不改变真实变形计算值。
后续几项设置分别控制显示风格:ExtraModelDisplay 设为 NoWireframe,用于去掉线框叠加;ContourView 设为 SmoothContours,用于平滑云图;ShowMaximum 和 ShowMinimum 根据 show_extreme_values 统一打开或关闭极值标记。使用时应先激活目标结果对象,并确认当前结果已经可以正常显示。
脚本运行结果
运行后,Mechanical 当前图形窗口的结果显示风格会被统一。后续手动截图或脚本导图时,图片风格会更一致。
脚本执行前:

脚本执行后:

脚本扩展方向
- • 将真实比例、自动比例和自定义倍率做成显示方案,按报告用途快速切换云图风格。
- • 把线框显示、平滑云图和最大最小值标记纳入统一配置,减少截图前的手工调整。
- • 在导出图片前自动应用显示偏好,保证同一项目内所有结果云图风格一致。
- • 针对不同结果类型设置不同变形倍率,避免小变形结果看不清或大变形结果过度夸张。
总结
结果图能不能用于论文和报告,不只看数值,还看表达是否统一。线框、变形比例、云图平滑方式和极值标记这些显示项,会直接影响读者对图的理解。
本文脚本适合在批量截图或导出结果图之前,先统一这类显示设置,让后续图片在视图风格、变形比例和极值标记上保持一致。
正式出图前,仍然要确认当前激活的结果对象、单位、视角和图例范围是否符合论文、报告或评审材料要求。脚本辅助结果表达,工程解释仍要回到结果本身。
你平时做 Mechanical 项目时,最想交给 Python 处理的是哪一步?可以把模型类型、现在最费时间的操作、希望批量处理的对象写在评论区,我后面可以按场景继续拆脚本。