例:
访问Material对象:
import material
mdb.models[model名].materials[material名] ※必须使用mdb限定材料对象、命令或成员
mdb.models[crash].materials[steel]
mdb.models[crash].materials[steel].Elastic(table=((30000000.0,0.3),))
elasticityType=mdb.models[crash].materials[steel].elastic.type
访问HistoryRegion对象:
import odbAccess
session.odbs[odb名].steps[step名].historyRegions[region名]
session.odbs[odb名].steps[step名].frames[i].fieldOutputs[field output名]
※ 如果访问对象的路径很长,可以通过创建变量的方法简化语句:
sideLoadStep=session.odbs[‘Forming loads’].steps[‘Side load’]
lastFrame=sideLoadStep.frames[-1]
stressData=lastFrame.fieldOutputs[‘S’]
integrationPointData=stressData.getSubset(position=INTEGRATION_POINT)
对stressData对象调用getSubset方法来访问积分点处的Mises应力S
invariantsData=stressData.validInvariants
访问stressData对象的不变量
构造函数:创建对象
mdb.models[‘Model-1’].Part(name=’Part-1’,dimensionality=THREE_D,type= DEFORMABLE_BODY) ※创建零件
mdb.models[‘Model-1’].parts[‘Part-1’] ※将零件放入部件库
※Abaqus脚本接口的惯例是:构造函数的首字母大写,其他字母小写;其他方法则以小写字母开头。
session.Viewport ※创建视口对象
myFieldOutput=session.odbs[name].steps[‘Side load’].frames[-1].\
FieldOutput(name=’S’,description=’stress’,type=TENSOR_3D_FULL)
※函数定义形参和实参时可以使用关键字(keyword)和定位参数(positional arguments),并可以制定参数的默认值。编写脚本时,建议尽量使用关键字参数,其优点在于:
1)参数的顺序可以任意(如果不使用关键字,要求参数的顺序与要求的顺序必须完全一致;也可以使用关键字参数和定位参数相结合的方法来编写脚本,关键字参数可以放在定位参数之后,但定位参数却不允许放在关键字参数之后);
2)脚本更加易读。
※如果脚本中需要使用符号函数,就必须使用下列语句导入所有的符号常数:
from abaqusConstants import *
定义材料随温度变化的弹性模量:
mdb.models[‘Model-1’].materials[‘Steel’].Elastic(temperatureDependency=ON, table=((200000000000.0,0.3,0),(210000000000.0,0.3,100.0),(220000000000.0,0.3,200.0),(230000000000.0,0.3,300.0)))
基于矩形草图创建三维变形体部件:
from abaqusConstants import *
mdb.Model(‘Body’) mySketch=mdb.models[‘Body’].ConstrainedSketch(name=’__profile__’,sheetSize=200.0)
mySketch.rectangle(point1=(0.0,0.0),point2=(70.0,70.0))
switch=mdb.models[‘Body’].Part(name=’Switch’,dimensionality=THREE_D,type=DEFORMABLE_BODY)
switch.BaseSolidExtrude(sketch=mySketch, depth=20.0)
【小结】
1) 对象(object):对数据和处理数据的函数进行封装;
2) 成员(member):被对象封装的数据
3) 方法(method):处理数据的函数
4) 构造函数(constructor):创建对象的方法,首字母大写,其他字母小写
5) 创建对象后可以调用各种方法来输入或修改对象的数据。例如,调用setValues方法设置成员值;调用addNodes和addElements方法为部件增加节点和单元等。
6) Abaqus脚本接口中的一般惯例为:对象类型名的首字母要大写,通常情况下,构造函数名与创建对象的类型名相同。
7) 编写脚本时,要善于经常查阅《Abaqus Scripting Reference Manual》中对象的访问(access)方法和构造函数的路径,在访问对象后的路径后面还可以继续添加方法或成员。
8) 调用setValues(…)方法可以修改对象的成员值,但是,不允许使用赋值语句制定对象的成员值。
联系客服