前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Q&A-5】如何使用feature对象进行ABAQU-Python二次开发

【Q&A-5】如何使用feature对象进行ABAQU-Python二次开发

作者头像
阿信老师CAE
发布2022-05-17 16:41:38
8200
发布2022-05-17 16:41:38
举报
文章被收录于专栏:ABAQUS二次开发

阿信老师您好!

我是宁波的一位CAE工程师,最近在学abaqus二次开发时遇到下面这样的问题:就是在把几何参考点和网格面coupling在一块时,几何参考点在命令中是

代码语言:javascript
复制
a=mdb.models["model-1"].rootassembly
r1=a.referencePointsrefPoint1=(r1[12], )
region1=a.Set(referencePoint1,name="m_set-3")

而我想直接使用

代码语言:javascript
复制
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里面更是进行了魔改,有很多专用的对象,有时候一些对象并不是很明了,不过多摸索多看帮助就好了。

对于你的具体问题,进行如下修改即可实现。

代码语言:javascript
复制
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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ABAQUS二次开发 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档