我正在尝试从 odb 文件编写字段输出报告。我不断收到 IOError,我不知道我的脚本问题出在哪里。希望大家可以帮忙解决这个问题!
这是我用于编写字段输出报告的脚本
o1 = session.openOdb(name='R:\ABAQUS\Job-5.odb')
session.viewports['Viewport: 1'].setValues(displayedObject=o1)
odb = session.odbs['R:\ABAQUS\Job-5.odb']
session.writeFieldReport(fileNmae = 'abaqus.rpt', append = OFF, sortItem = "Node Label",
odb = odb, step = 2, frame = 50, outputPosition = NODAL,
variable = (('CNORMF ASSEMBLY_DROP-SURF/ASSEMBLY_PART2INSTANCE_SURF-1',NODAL, ((INVARIANT, 'Magnitude'),)),))
odb.close()
这是我得到的错误:
*Starting main file [Kernel]: r:/ABAQUS/readOutput.py
Traceback (most recent call last):
File "r:/ABAQUS/readOutput.py", line 27, in <module>
NODAL, ((INVARIANT, 'Magnitude'),)),))
IOError: IOError: Empty filename
Exit from main file [Kernel]: r:/ABAQUS/readOutput.py
我参考了另一个 odb 文件的 .rpy 文件,我执行了完全相同的过程,代码如下所示。我运行了这个脚本,它工作并成功写入了现场报告。它不会抛出这个空文件名错误。但是,当我对其他 odb 文件使用相同的代码时,它会引发该错误。
o1 = session.openOdb(name='C:/Temp/Job-14.odb')
session.viewports['Viewport: 1'].setValues(displayedObject=o1)
#: Model: C:/Temp/Job-14.odb
#: Number of Assemblies: 1
#: Number of Assembly instances: 0
#: Number of Part instances: 2
#: Number of Meshes: 2
#: Number of Element Sets: 5
#: Number of Node Sets: 6
#: Number of Steps: 2
#session.animationController.setValues(animationType=TIME_HISTORY, viewports=(
#'Viewport: 1', ))
#session.animationController.play(duration=UNLIMITED)
#session.animationController.setValues(animationType=NONE)
#session.viewports['Viewport: 1'].odbDisplay.setFrame(step=1, frame=20)
odb = session.odbs['C:/Temp/Job-14.odb']
session.writeFieldReport(fileName='abaqus.rpt', append=OFF,
sortItem='Node Label', odb=odb, step=1, frame=20, outputPosition=NODAL,
variable=(('CNORMF ASSEMBLY_M_SURF-8/ASSEMBLY_S_SURF-8', NODAL, ((
INVARIANT, 'Magnitude'), )), ))
odb.close()
希望大家能给点线索!!谢谢!