首页/文章/ 详情

Python在Abaqus中的二次开发—RSG插件

1年前浏览2925

相信很多使用abaqus的研究生学子们,会遇到这样的问题:所要建立模型太过于复杂,每次进行建模时,都需要花上大量的时间在建模上面。那么怎么解决这个问题呢?

Python是一种很便利的语言,我们采用该语言建立脚本,再配合abaqus自带的RSG系统,可以设计操作界面,只需输入相应参数,即可快速建模。把花在建模上时间用在其他研究上,岂不是更有效率?

那么具体该怎么操作呢?请接着往下看!!

1.建立建模的脚本语言

我们可以利用“宏管理”,来记录建模的过程,然后修改其相对应的代码,针对需要自定义的参数设置自变量即可。(以最简单的立方体建模为例,下面是经过修改的代码)





















































# -*- coding: mbcs -*-# Do not delete the following import linesfrom abaqus import *from abaqusConstants import *import __main__
def revit(partname,k1,k2,k3):    import section    import regionToolset    import displayGroupMdbToolset as dgm    import part    import material    import assembly    import optimization    import step    import interaction    import load    import mesh    import job    import sketch    import visualization    import xyPlot    import displayGroupOdbToolset as dgo    import connectorBehavior    s = mdb.models['Model-1'].ConstrainedSketch(name='__profile__',        sheetSize=200.0)    g, v, d, c = s.geometry, s.vertices, s.dimensions, s.constraints    s.setPrimaryObject(option=STANDALONE)    s.ConstructionLine(point1=(-15.0, 0.0), point2=(18.75, 0.0))    s.HorizontalConstraint(entity=g[2], addUndoState=False)    s.ConstructionLine(point1=(0.0, 20.0), point2=(0.0, -18.75))    s.VerticalConstraint(entity=g[3], addUndoState=False)    s.rectangle(point1=(-15.0, 15.0), point2=(20.0, -20.0))    s.ObliqueDimension(vertex1=v[3], vertex2=v[0], textPoint=(-5.59237670898438,        20.2889671325684), value=50.0)    s.ObliqueDimension(vertex1=v[2], vertex2=v[3], textPoint=(27.7161102294922,        5.3327522277832), value=40.0)    s.SymmetryConstraint(entity1=v[0], entity2=v[3], symmetryAxis=g[3])    s.SymmetryConstraint(entity1=v[0], entity2=v[1], symmetryAxis=g[2])    s=mdb.models['Model-1'].sketches['__profile__']    s.Parameter(name='a1', path='dimensions[0]', expression=k1)    s.Parameter(name='a2', path='dimensions[1]', expression=k2,        previousParameter='a1')    p = mdb.models['Model-1'].Part(name=partname, dimensionality=THREE_D,        type=DEFORMABLE_BODY)    p = mdb.models['Model-1'].parts[partname]    p.BaseSolidExtrude(sketch=s, depth=k3)    s.unsetPrimaryObject()    p = mdb.models['Model-1'].parts[partname]    session.viewports['Viewport: 1'].setValues(displayedObject=p)    del mdb.models['Model-1'].sketches['__profile__']
2.建立插件
在abaqus中依次选择“plug-ins—abaqus—RSG”,在出现的功能框中依次进行设计即可。

3.插件使用

插件建立好之后,会有一个abaqusplug-ins文件夹,将该文件夹中的内容复 制到abaqus的插件文件夹下,即可使用。

这种方法是不是节约了很多时间呢??
来源:土木爱研小站
Abaqus二次开发python
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-08-16
最近编辑:1年前
语墨
硕士 不怕困难,勇往直前
获赞 70粉丝 76文章 135课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈