You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Python实现ANSA用户脚本执行结果自动化比对的技术咨询

ANSA自动化比对脚本开发技术指导

1. 核心依赖说明

所有操作均基于ANSA官方自带的ansaPython模块实现,无需额外安装第三方依赖,ANSA安装时会自动配套对应Python环境。

2. 分步实现代码指引

2.1 终端启动ANSA并加载基准模型

ANSA支持无GUI静默启动,可直接在启动命令中指定要运行的脚本,命令示例:

<ANSA安装路径>/ansa64.sh -nogui -python <你的脚本路径>.py

脚本内加载基准模型的代码:

import ansa
from ansa import base, constants

# 加载基准模型
base.Open("基准模型的本地路径.ansa")

2.2 执行指定用户脚本按钮

用户自定义按钮一般都绑定了对应函数,直接调用函数即可,无需模拟点击操作:

# 导入用户自定义脚本对应的模块,替换为你实际的脚本模块名
import custom_user_script

# 执行按钮绑定的函数,替换为实际的函数名
custom_user_script.target_script_func()

# 保存基准侧执行结果
base.Save("基准执行结果.ansa")

2.3 加载更新版本模型并执行相同操作

# 清空当前场景
base.New()
# 加载更新版本的模型
base.Open("更新版本模型的本地路径.ansa")
# 执行相同的用户脚本函数
custom_user_script.target_script_func()
# 保存新版本执行结果
base.Save("新版本执行结果.ansa")

2.4 调用ANSA自带比对工具

直接调用内置的base.CompareModels接口完成结果比对,可自定义比对维度:

# 配置比对参数,可根据实际需求调整需要比对的内容
compare_config = {
    "compare_mesh": True,
    "compare_properties": True,
    "compare_bcs": True,
    "output_report": "比对结果报告.html"
}

# 执行比对
diff_list = base.CompareModels(
    "基准执行结果.ansa",
    "新版本执行结果.ansa",
    **compare_config
)

# 输出比对结果
if diff_list:
    print(f"检测到{len(diff_list)}处差异,详细报告已保存至{compare_config['output_report']}")
else:
    print("两份执行结果完全一致,无差异")

3. 注意事项

  • 若使用无GUI模式启动ANSA,不要调用任何GUI相关接口,否则会导致脚本运行异常
  • 比对参数可根据实际需求灵活调整,不需要比对的维度直接设为False即可
  • 执行用户自定义脚本前,要确保对应脚本路径已经被添加到Python的sys.path中,避免导入失败

内容的提问来源于stack exchange,提问作者Shrey Agrawal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 19:57:03