百木园-与人分享,
就是让自己快乐。

RP 点归入Set And Coupling 约束创建

想用python脚本创建一个耦合coupling关系,需要定义control piont和被控制的surfaces.两者都可以先分别归入到set 和surface里,最后用set和surface作为coupling创建时的参数。

ReferencePoint objects是从储存在referencePoints中的:

>>> print myAssembly.referencePoints
{369: \'ReferencePoint object\', 368: \'ReferencePoint object\'}

所以,在referncePionts是一个字典,values是我们创建的RP点,keys是一个数字,数字越小说明创建比较早。这样我们把refencePiont这个字典按KEY值排序就可以依次取出来用了

对于用到的RP点数目比较少(RP点数目小于PART的数目的情况),可以在PART里创建RP点。因为abaqus每个部件下面只允许有一个RP点,创建set比较方便(用dict.values()函数返回一个包含字典value的list,而且这个len(list)=1)。如下所示。

定义RP set

# 在part 中创建参考点
p = mdb.models[Model_Name].parts[Part_Name]
p.ReferencePoint(point=RP_location)   #定义参考点
# 修改RP点名称
p.features.changeKey(fromName=\'RP\',toName=RP_Name)
r = p.referencePoints.values()  
# referencePoints是一个字典,用values函数来返回所有值的列表,又因为每一个部件只有一个RP点,所以r[0]就是我们建立的RP点
refPoints=(r[0], )
# 把rp点放进集合
p.Set(referencePoints=refPoints, name=Set_Name)
a = mdb.models[Model_Name].rootAssembly
region1=a.instances[Instance_Name].sets[Set_Name]

定义surface

# 进入装配环境下创建surface
a = mdb.models[Model_Name].rootAssembly
s = a.instances[Instance_Name].faces
# 返回一个face object
Face=s.findAt((
             (z,y,z),         
             ),
             )
# 返回一个face squence
Faces=Faces[0].getFacesByFaceAngle(angle=20.0) 
# 创建surface
region2=a.Surface(side1Faces=Faces,name=Surf_Name)

创建coupling

mdb.models[Model_Name].Coupling(name=\'coupling\', controlPoint=region1, surface=region2,influenceRadius=WHOLE_SURFACE, couplingType=KINEMATIC, localCsys=None, u1=ON, u2=ON, u3=ON, ur1=ON, ur2=ON, ur3=ON)

参考资料

  • [1]ABAQUS中用Python调取(多个)参考点

来源:https://www.cnblogs.com/aksoam/p/17005555.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » RP 点归入Set And Coupling 约束创建

相关推荐

  • 暂无文章