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)))

blob.png

基于矩形草图创建三维变形体部件:

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

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空