打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【干货】 python访问对象

例:

访问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(…)方法可以修改对象的成员值,但是,不允许使用赋值语句制定对象的成员值。


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
使用python进行ABAQUS的二次开发的简要说明(by Young 2017.06.27)
TensorFlow初学者指南:如何为机器学习项目创建合适的文件架构
STL简介
shell中的函数
QTP获取异常弹出提示框信息
jscript错误代码及相应解释大全
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服