在Abaqus中Python通过findAt方法定位建立region区域的方法汇总

标签:
python |
分类: 程序 |
Abaqus脚本接口中许多命令都包含region参数,包括:
1)Load命令:使用region指定施加荷载的区域。例如集中力施加在顶点上,压力施加在边或面上。
2)Mesh命令:使用region指定单元的类型、网格种子的定义区域。
3)Set命令:使用region参数指定集合的区域。例如:节点集,单元集等。
4)Coupling命令:使用region参数指定需要耦合的区域或者参考点,节点等。
如果在Abaqus/CAE中,Abaqus将自动为模型的特征进行编号,例如节点编号,单元编号,表面中各条边的编号,参考点的编号。但在脚本中无法获知这些模型特征的ID,而且对某个模型特征编辑后ID将发生变化,新旧版本ID不同不兼容。
鉴于定位寻找模型特征(顶点(vertex)、边(edge)、面(face)、体(cell)、参考点(referencePoint))的重要性——可以用来施加荷载边界条件,划分网格、建立集合、建立耦合,有必要通过坐标的方法寻找定位这些模型特征!
findAt方法就可以达到这一点。用法参考《Abaqus Scripting Reference Manual》。
a.ReferencePoint(point=(f1Mid_tr[0][0],f1Mid_tr[0][1],f1Mid_tr[0][2]))#建立参考点此时是一个feature对象
#####解释:The ReferencePoint object has no direct constructor; it is created when a Feature object is created. TheReferencePoint method creates a Feature object that creates a ReferencePoint object.
###########################################################################
r1 = a.referencePoints###建立ReferencePoint object 并存入库中
refPoints1=r1.findAt((f1Mid_tr[0][0],f1Mid_tr[0][1],f1Mid_tr[0][2]),)###取出库中的对象
region1=(refPoints1,)###建立区域
寻找模型特征最重要的要明白需要的模型特征的路径!
例如,Face这一模型特征路径如下,可以是部件、实例、集合等,在需要的路径下调用findAt方法定位关心的魔性特征。例如,vertices.findAt、faces.findAt、edges.findAt、referencePoints.findAt、cells.findAt
Vertex路径:
http://s13/mw690/001sPmSszy6Rjc1eGLO9c&690
Edge路径:
Face路径:
http://s16/mw690/001sPmSszy6Rjbasu8n1f&690
Cell路径:
http://s3/mw690/001sPmSszy6Rjc8fGSua2&690
ReferencePoint路径:
http://s5/mw690/001sPmSszy6Rjcb6wRea4&690
findAt命令经返回相应的模型特征的对象或者对象的序列,例如An Edge object or a s equence o f
Edge o bjects.
如果返回的是一个对象,那么需要region=((返回的那个对象),)来建立一个序列赋值给region。
如果返回的是对象的序列则不需要。
在rpy文件显示出findAt命令,按如下方法:
session.journalOptions.setValues(replayGeometry=COORDINATE,recoverGeometry=COORDINATE)
在命令行中直接输入上述语句
结果.rpy文件中的findAt语句就会以坐标形式出现
session.graphicsOptions.setValues(backgroundStyle=SOLID,backgroundColor='#000000',
translucencyMode=2)
在命令行中直接输入上述语句
背景颜色就会变成黑色