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

Python从Abaqus ODB提取指定节点历史输出数据时遇NameError

Abaqus ODB历史数据导出脚本错误修复

问题分析与修复步骤

  1. XYDataFromHistory未导入
    XYDataFromHistory属于xyPlot模块,脚本未导入该类导致解释器无法识别,需补充对应导入语句。

  2. odbAccess导入不完整
    原脚本第一行from odbAccess import未指定导入对象,openOdb函数无法被调用,需明确导入该函数。

  3. 变量new_list未定义
    历史输出名称的列表未赋值给new_list变量,循环时会触发未定义错误,需将列表绑定到该变量。

修正后的完整代码

from odbAccess import openOdb
from xyPlot import XYDataFromHistory

def main():
    odb = openOdb('name.odb')
    
    # 将历史输出列表赋值给new_list变量
    new_list = [
        'Spatial acceleration: A1 at Node 84735155 in NSET SENSOR1',
        'Spatial acceleration: A2 at Node 84735155 in NSET SENSOR2'
    ]
    results = []
    for i in range(len(new_list)):
        f = XYDataFromHistory(
            odb=odb, 
            outputVariableName=new_list[i],
            steps=('Step-4', ), 
            name='test{}'.format(i)
        )
        results.append(f)
    
    # 可选:添加导出XYData为文本文件的逻辑
    # for idx, xy_data in enumerate(results):
    #     xy_data.writeToFile(path='acceleration_{}.txt'.format(idx), format=ASCII)
    
    odb.close()  # 关闭odb文件,避免资源占用

if __name__ == '__main__':
    main()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 13:01:55