本实例需要解决的问题是利用上翼缘长SB和钢箱梁高H进行钢箱梁的参数化建模
然后加命令流与GUI图形界面结合,做成一个小插件,以方便下次的使用。
首先,abaqus中的python建模命令流语句太过复杂,
所以我们通过实际建模来获得完整的代码命令
所以我们通过实际建模来获得完整的代码命令
目前有两种方法:
1.是使用python reader 直接读取显示(之前有过介绍,读者可以去前面的博客中下载)
1.是使用python reader 直接读取显示(之前有过介绍,读者可以去前面的博客中下载)
2.是通过宏录制,点开file中的Macro Manager进行录制,中止后会在目录中绘成一个py文件。
有了基础代码
我们只需要以此定义一个函数和变量,
再python中用 def function(x,y) :定义函数
再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就是插头的意思,一会生成的插件也会出现在这里。
plug就是插头的意思,一会生成的插件也会出现在这里。
打开RSG后出现这个界面

我们在左侧选择菜单栏进行组合,

此处注意设置keywrod和你设的变量一致
这就是一个简单的界面
然后在kernel中导入保存好的py文件,就是上面出现的那个函数文件
然后在kernel中导入保存好的py文件,就是上面出现的那个函数文件
点击OK保存路径,将会生成6个文件,这就是我们的插件文件

接着关闭abaqus重新运行,就会在plug-ins中发现新写好的插件gxl1


我们就能很快的进行钢箱梁边跨建模,然后进行组合,大大减少建模时间。