我是python的新手,但我已经能够创建一个脚本(请参阅下面的代码和附图)访问abaqus .odb输出文件并将等高线图保存为.tiff文件。由于此脚本以间隔运行,因此新图像文件将覆盖先前的图像,但实际上我希望使用不同的名称保存后续图像,例如VMises_01,VMises_02,VMises_03等 我需要帮助修改脚本来执行此操作。 提前感谢您的帮助。
# -*- coding: mbcs -*-
from abaqus import *
from abaqusConstants import *
session.Viewport(name='Viewport: 1', origin=(0.0, 0.0), width=153.191665649414,
height=265.695220947266)
session.viewports['Viewport: 1'].makeCurrent()
session.viewports['Viewport: 1'].maximize()
from caeModules import *![enter image description here][1]
from driverUtils import executeOnCaeStartup
executeOnCaeStartup()
session.viewports['Viewport: 1'].partDisplay.geometryOptions.setValues(
referenceRepresentation=ON)
Mdb()
session.viewports['Viewport: 1'].setValues(displayedObject=None)
import os
os.chdir(r"C:\Work\2015 CA")
o1 = session.openOdb(name='C:/Work/2015 CA/cafe_del.odb')
session.viewports['Viewport: 1'].setValues(displayedObject=o1)
session.viewports['Viewport: 1'].odbDisplay.display.setValues(plotState=(
CONTOURS_ON_DEF, ))
session.viewports['Viewport: 1'].odbDisplay.commonOptions.setValues(
visibleEdges=FEATURE, deformationScaling=UNIFORM, uniformScaleFactor=1)
session.printToFile(fileName='C:/Work/2015 CA/VMises_01', format=TIFF,
canvasObjects=(session.viewports['Viewport: 1'], ))
session.odbs['C:/Work/2015 CA/cafe_del.odb'].close()
答案 0 :(得分:0)
获取唯一文件名的一种简单方法是附加时间戳。
e.g。替换
session.printToFile(
fileName='C:/Work/2015 CA/VMises_01',
format=TIFF,
canvasObjects=(session.viewports['Viewport: 1'], ))
带
session.printToFile(
fileName='C:/Work/2015 CA/VMises_%s' % datetime.datetime.now().strftime('%Y%d%m%H%M%S') ,
format=TIFF,
canvasObjects=(session.viewports['Viewport: 1'], ))
如果你想要你提出的计数器01,02,03等,那么你需要(a)在脚本中保留当前数字的记录(如果是脚本不能连续运行),或(b)查看目录内容以确定每次下一个可用的号码。