python中find函数的使用方法_在Abaqus中Python通过findAt方法定位建立region区域的方法汇总...

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》。

参考:7.2 CellArray Object、7.4EdgeArray

Object、7.6FaceArray Object、7.16VertexArray Object。

虽然并没有ReferencePointsArray

Object,而且ReferencePoint

Object也没有findAt方法,但是Region要求的是一个序列类型,因此需要从referencePoints库(《Abaqus

Scripting User’s Manual》5.3.3节)中取出ReferencePoint对象,可以这样操作:

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路径:

sg_trans.gif

Edge路径:

sg_trans.gif

Face路径:

sg_trans.gif

Cell路径:

sg_trans.gif

ReferencePoint路径:

sg_trans.gif

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)

在命令行中直接输入上述语句

背景颜色就会变成黑色

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值