for i in range0a12 #创建变量表示第1个分析步 step1=odbstepsStep-1 # 创建变量表示第1个分析步的最后一帧 lastFrame = step1framesi # 创建变量集 FE它属于部件实例PART-1-1 center = odbrootAssemblyinstances
你可以使用try-except语句来捕捉异常并跳过写入超过255列的数据。修改后的代码如下所示:
for i in range(0,a12):
try:
# 创建变量表示第1个分析步
step1=odb.steps['Step-1']
# 创建变量表示第1个分析步的最后一帧
lastFrame = step1.frames[i]
# 创建变量集 'FE',它属于部件实例PART-1-1
center = odb.rootAssembly.instances['PART-1-1'] #装配体中部件的名称,名字需要大写
# 创建变量表示第1个分析步最后一帧的PEEQ
strain = lastFrame.fieldOutputs['LE']
stress = lastFrame.fieldOutputs['S']
# 创建变量表示第1个分析步最后一帧集合FE,积分点的应变
centerstrain = strain.getSubset(region=center,position=INTEGRATION_POINT)
centerstress = stress.getSubset(region=center,position=INTEGRATION_POINT)
z1=0
z2=0
#统计
for v in centerstrain.values:
z1=z1+v.data[2] #.data[]输出的就是6个独立应力 0:x 、1:y 、2:z
for v in centerstress.values:
z2=z2+v.data[2] #.data[]输出的就是6个独立应力
#print"平均应变:"
z1=z1/len(centerstrain.values)
z2=z2/len(centerstress.values)
sheet1.write(2*ii-2,i,z1)
sheet1.write(2*ii-1,i,z2)
except Exception as e:
print("写入数据超过255列,跳过该数据。错误信息:", e)
continue
savepath = 'D:\\abaqus\\whp\\excel1.csv' # 生成的excel存放的位置
book.save(savepath)
在上述代码中,我们使用了try-except语句来捕捉异常,并使用continue语句跳过超过255列的数据。如果发生异常,会打印错误信息并继续循环下一次迭代
原文地址: https://www.cveoy.top/t/topic/h6eB 著作权归作者所有。请勿转载和采集!