标准化钢箱梁abaqus模型建立,使用RSG的插件二次开发

本实例需要解决的问题是利用上翼缘长SB和钢箱梁高H进行钢箱梁的参数化建模
然后加命令流与GUI图形界面结合,做成一个小插件,以方便下次的使用。

首先,abaqus中的python建模命令流语句太过复杂,
所以我们通过实际建模来获得完整的代码命令
目前有两种方法:
1.是使用python reader 直接读取显示(之前有过介绍,读者可以去前面的博客中下载)
2.是通过宏录制,点开file中的Macro Manager进行录制,中止后会在目录中绘成一个py文件。

有了基础代码 
我们只需要以此定义一个函数和变量,
再python中用 def function(x,y) :定义函数
x,y就是我们要设置的变化,在这里指的是长和宽

#附上函数代码

 
 
from abaqus import *
from abaqusConstants import *
import math


def createPlateFunction(SB1, SB2, H):
    s = mdb.models['Model-1'].ConstrainedSketch(name='__profile__',
                                                sheetSize=10000.0)
    g, v, d, c = s.geometry, s.vertices, s.dimensions, s.constraints
    s.setPrimaryObject(option=STANDALONE)
    s.rectangle(point1=(0.0, 0.0), point2=(SB2, H))

    s.Line(point1=(0.0, H), point2=(-SB1, H))
    s.HorizontalConstraint(entity=g[6], addUndoState=False)
    s.PerpendicularConstraint(entity1=g[2], entity2=g[6], addUndoState=False)
    s.Line(point1=(-SB1, H), point2=(-SB1, (H - 500)))
    s.VerticalConstraint(entity=g[7], addUndoState=False)
    s.PerpendicularConstraint(entity1=g[6], entity2=g[7], addUndoState=False)
    s.Line(point1=(-SB1, (H - 500)), point2=(0.0, (H - 750)))
    p = mdb.models['Model-1'].Part(name='Part-1', dimensionality=THREE_D,
                                   type=DEFORMABLE_BODY)
    p = mdb.models['Model-1'].parts['Part-1']
    p.BaseShellExtrude(sketch=s, depth=5000.0)
    s.unsetPrimaryObject()
    p = mdb.models['Model-1'].parts['Part-1']
    session.viewports['Viewport: 1'].setValues(displayedObject=p)
    del mdb.models['Model-1'].sketches['__profile__']

有了函数代码之后我们就着手建立图形界面
在菜单中选择plug-ins 下来之后选择abaqus中的RSG dialog
plug就是插头的意思,一会生成的插件也会出现在这里。
打开RSG后出现这个界面
我们在左侧选择菜单栏进行组合,

此处注意设置keywrod和你设的变量一致
这就是一个简单的界面
然后在kernel中导入保存好的py文件,就是上面出现的那个函数文件
点击OK保存路径,将会生成6个文件,这就是我们的插件文件
接着关闭abaqus重新运行,就会在plug-ins中发现新写好的插件gxl1
我们就能很快的进行钢箱梁边跨建模,然后进行组合,大大减少建模时间。

猜你喜欢

转载自blog.csdn.net/cywtiancai/article/details/80553599