首页/文章/ 详情

ANSA二次开发创建螺栓预紧力

2月前浏览132
  之前发的ANSA二次开发创建螺栓和Box(代码篇)有很多小伙伴留言,其中有人问怎么没有预紧力,螺栓不是这么建模的。
其实螺栓的建模方式实在太多,甚至每个座椅厂都是不一样的,然后每家座椅厂都有自己的建模道理。就是谁也不服谁,都说自己对标过,然后问能不能给证明的资料,就都说这是机密。

主机厂也就不管了,让我说整这么复杂干嘛,我就觉得rbe2挺好的(不是)。
回归正题,在我们要二次开发前,必然是要对自己开发的功能是非常熟悉的,所以我们必须自己手动建立一遍螺栓预紧力。

在LSDYNA下,点击这个按钮添加预紧力

点击后会让你建立一个beam的SET和预紧力的加载曲线,如下图:

所以我们二次开发的思路就是创建一个SET,然后把我们的BEAM添加到这个SET里,然后再创建一个Curve,这是我们的预紧力加载曲线,最后创建预紧力,上面创建的SETID号和LCID号填进去就可以了,就是这么简单。
下面给大家看下代码:











beam=base.CreateEntity(constants.LSDYNA,'ELEMENT_BEAM_ELFORM_9',val1)#创建梁单元的预紧力s1_id=[]SET1S=base.CollectEntities(constants.LSDYNA,None,'SET')
SID1=SET1S[-1]._id+1
beam_set=base.CreateEntity(constants.LSDYNA,'SET',{'SID':SID1})base.AddToSet(beam_set,beam)
这里就是先收集SET,然后得到SET的最大的ID号,再把前面创建的Beam添加到SET里。

















#创建预紧力加载曲线deck=constants.LSDYNAcurves= base.CollectEntities(deck, None, 'DEFINE_CURVE')curve_num = len(curves)print(curve_num)curves_of_table = []
#Create individual curvescurve1 = base.CreateLoadCurve("DEFINE_CURVE", {"Name""2000N","SFO""1",'LCID':1+curve_num})val = ((0,0.),(0.002,2000),(1,2000))base.SetLoadCurveData(curve1, val)base.CreateEntity(deck,'INITIAL_AXIAL_FORCE_BEAM',{"BSID":SID1,"Name""2000N",'LCID':1+curve_num})
这里也是先收集曲线的ID,得到最大的ID号,后创建曲线,这里创建了2000N的预紧力,大家可以随意修改数值,最后创建我们的螺栓预紧力。
是不是非常简单,大家有关二次开发的问题都可以来知识星球问我,还能带着大家一起赚点小钱。

来源:FEAer
二次开发ANSAUM螺栓
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-07-05
最近编辑:2月前
FEAer
本科 | CAE工程师 到点就下班的CAE打工人
获赞 93粉丝 149文章 140课程 2
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈