阿信老师您好!
我是宁波的一位CAE工程师,最近在学abaqus二次开发时遇到下面这样的问题:就是在把几何参考点和网格面coupling在一块时,几何参考点在命令中是
a=mdb.models["model-1"].rootassembly
r1=a.referencePointsrefPoint1=(r1[12], )
region1=a.Set(referencePoint1,name="m_set-3")
而我想直接使用
refPoint1=mdb.models["model-1"].rootassembly.features["RP-6"]
时会出现type error:referencePoints;found Feature,expecting tuple这样的错误。理论上来说,几何参考点在Feature中是元组类型可以直接选择的,为什么现在只能通过下标去选择啊?这样每次就要按照顺序去创建参考点,程序就很容易出错。查了很多资料都找不到原因,希望老师能解答一下!
感谢
------------------------分割线------------------------
宁波X工:
您好。这个问题的报错原因在于不能直接将feature对象(Object)用在构建set的语句中,构建set需要一个id或者index去定位相应的参考点。feature对象里面包含了id,因此找到feature对象对应的id就可以使用了。
Python是一种面向对象的语言(Object-Oriented Language),任何一种对象都包含了其相应的数据结构或者相关的要素,而ABAQUS的内置Python里面更是进行了魔改,有很多专用的对象,有时候一些对象并不是很明了,不过多摸索多看帮助就好了。
对于你的具体问题,进行如下修改即可实现。
a = mdb.models['Model-1'].rootAssembly
RF_ID = a.features['RP-1'].id #参考点对应的id
r1 = a.referencePointsrefPoints1=(r1[RF_ID], )
a.Set(referencePoints=refPoints1, name='Set-demo')
夏安!
阿信
2020.06.27