2019年1月30日13:05:51
手把手教你怎么用Abaqus进行GUI二次开发攻略
1.前言:
最近研究了下GUI二次开发,做了如下几个插件,学到了一些东西特地就跟大家做个分享,其中插件注册到了顶部菜单栏,而不是plugin下面。接下来,循序渐进,带你ABAQUS二次开发从入门到‘放弃’教程
注:本文面向有一定ABAQUS基础的人员,下文中对ABAQUS的基本的,简单的操作,不作赘述,有问题,可以下方留言。
2.快速上手
本节目标:假设我们要生成一个的实体,自己给定构件名称长高宽,制作成插件:
- 启动ABAQUS软件,注意观察在ABAQUS的工作目录内有一个名为“abaqus.rpy”的文件将会生成,建议采用notepad++ 或者editplus软件打开,建议采用notepad++,因为是免费,不需要受到侵权困扰,记住,不要用电脑自带的文本编辑器打开!!!网上有很多盛传的ABAQUSreader等工具,也可以采用,但本人比较懒,满足需求就行,懒得折腾。
不知道自己工作目录在哪里的小伙伴,按照下图查找
打开文本后,发现如下代码,好,我们暂时不用管他
# `-*- coding: mbcs -*-`
`#`
# `Abaqus/CAE Release 6.14-4 replay file`
# `Internal Version: 2015_06_12-04.41.13 135079`
# `Run by yanguowei on Wed Jan 30 12:54:57 2019`
`#`
# `from driverUtils import executeOnCaeGraphicsStartup`
# `executeOnCaeGraphicsStartup()`
`#: Executing "onCaeGraphicsStartup()" in the site directory ...`
`**from abaqus import ***`
`**from abaqusConstants import** *`**
`session.Viewport(name='Viewport: 1', origin=(0.0, 0.0), width=207.385406494141,`
`height=31.0)`
`session.viewports['Viewport: 1'].makeCurrent()`
`session.viewports['Viewport: 1'].maximize()`
**`from caeModules import *`
`from driverUtils import executeOnCaeStartup`**
`executeOnCaeStartup()`
2.在ABAQUS界面生成 10mm × 20mm × 60mm 的长方体,首先创建一个 10 × 20的草图,然后拉伸60mm,名称为默认“Part-1”,然后回到notedpad文本,出现如下
点“是”
#: The model "Model-1" has been created.
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)
session.viewports['Viewport: 1'].view.setValues(nearPlane=168.36,
farPlane=208.764, width=139.755, height=65.8, cameraPosition=(-5.77065,
3.49905, 188.562), cameraTarget=(-5.77065, 3.49905, 0))
s.rectangle(point1=(0.0, 0.0), point2=(10.0, 20.0))
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=60.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__']
好,重头戏来了,大家寻找
#: A new model database has been created.
#: The model "Model-1" has been created.
session.viewports['Viewport: 1'].setValues(displayedObject=None)
s = mdb.models['Model-1'].ConstrainedSk