原文作者:上海交通大学 材料工程硕士-孤光一点萤
原文链接:abaqus 二次开发+GUI简单案例 - 知乎
文末图书推荐:abaqus+python二次开发图书
路径:File→Macro Manager→Create→输入名称“Macro1”点击Continue,如下图所示:录制宏,然后操作建立一个环形的体。


2. 然后去工作目录找到,abaqusMacros.py
打开是如下代码:
from abaqus import *
from abaqusConstants import *
import __main__
def myfirst():
import section
import regionToolset
import displayGroupMdbToolset as dgm
import part
import material
import assembly
import step
import interaction
import load
import mesh
import optimization
import job
import sketch
import visualization
import xyPlot
import displayGroupOdbToolset as dgo
import connectorBehavior
session.viewports['Viewport: 1'].setValues(displayedObject=None)
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.CircleByCenterPerimeter(center=(0.0, 0.0), point1=(0.0, -15.0))
s.CircleByCenterPerimeter(center=(0.0, 0.0), point1=(5.0, -16.25))
p = mdb.models['Model-1'].Part(name='Part-1', dimensionality=THREE_D,
type=DEFORMABLE_BODY)
p = mdb.models['Model-1'].parts['Part-1']
p.BaseSolidExtrude(sketch=s, depth=20.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__']
3. 更改代码:如下
from abaqus import *
from abaqusConstants import *
from caeModules import *
from driverUtils import executeOnCaeStartup
# RIn = 5.0 # Inner radius
# Num = 10.0 # Number of electrodes
# Tfilm = 0.5 # Thickness of film
# Tgap = 1.4 # Thickness of Gap
# H = 110.0
def Battery(pN,RIn,Num,Tfilm,Tgap,H):
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)
for i in range(0,int(Num)):
s.CircleByCenterPerimeter(center=(0.0, 0.0), point1=(RIn+Tgap*i+Tfilm*i, 0.0))
s.CircleByCenterPerimeter(center=(0.0, 0.0), point1=(RIn+Tgap*i+Tfilm*(i+1), 0))
p = mdb.models['Model-1'].Part(name=pN, dimensionality=THREE_D,
type=DEFORMABLE_BODY)
p = mdb.models['Model-1'].parts[pN]
p.BaseSolidExtrude(sketch=s, depth=H)
s.unsetPrimaryObject()
p = mdb.models['Model-1'].parts[pN]
session.viewports['Viewport: 1'].setValues(displayedObject=p)
del mdb.models['Model-1'].sketches['__profile__']
4. 然后做GUI,操作路径:
Plug-ins→Abaqus→RSG Dialog Builder
如下图所示,点击红色区域六次:

生成如下图所示的

分别更改label: Type:Keyword:三个变量,更改完的效果如下图所示:

然后点击上图中的Kernel页面:

将上面的代码粘贴到这个页面。然后保存到工作目录,如下图所示:

关掉软件,然后打开,Plug-ins→Battery(之前做的插件)设置如下信息:

生成的结果效果图如图所示:


UP主的推荐

Abaqus有限元软件在道路工程中的应用 3版,马涛,廖公云,黄晓明编著,东南大学出版社
¥158起
去看看
UP主的推荐

CAE分析大系 ABAQUS Python二次开发攻略
¥119.61起
去看看
UP主的推荐

ABAQUS有限元分析从入门到精通(微瑕旧书)
¥39.4起
去看看
UP主的推荐

Python语言在Abaqus中的应用 第2版
¥59.9起
去看看
可以搭配这几本研究一下abaqus的二次开发,可直接点击链接购买,谢谢支持
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删