Python二次开发教程:从.rpy到.py脚本文件转换与宏录制技巧
[id_592485573]id_460760698]

一、脚本
.rpy文件
工作目录下有后缀为.rpy 的文件,这些文件记录了用户在 abaqus 界面的所有操作。
可以直接把.rpy 转换成后缀为.py 的脚本文件,然而这种方式由于操作过多,会使得代码量显得很大。
通过宏录制
打开 File,进入 Macros manager,然后选择当前工作目录,最后找到宏的名称。
获得一个 py 代码文件,这个文件仅包含所录制的操作,它位于工作目录下,文件名为 abaqusMacros.py,宏的名称在该 py 文件中是函数名。
宏录制的局限性:只只对界面上的操作,无法录制下后处理的步骤
导入脚本程序
运行脚本需通过 File 进行导入,导入后便能如同.rpy 后缀文件那样作用于当前界面。
若该.py程序有修改,需要重新导入
提示:脚本文件会被载入到项目的工作目录中,因此可以新建一个专门用于存放脚本文件的文件夹,而不必将其放在工作目录下。
实例:薄壁管建模
宏录制采用 m 单位制,其外径为 0.5m,内径为 0.45m,拉伸长度为 1m。
# -*- coding: mbcs -*-
不要删除以下导入行。
from abaqus import *
from abaqusConstants import *
import __main__
def pipe_m():
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
s1 = mdb.models['Model-1'].ConstrainedSketch(name='__profile__', sheetSize=1.0)
g, v, d, c = s1.geometry, s1.vertices, s1.dimensions, s1.constraints
s1.setPrimaryObject(option=STANDALONE)
s1.CircleByCenterPerimeter(center=(0.0, 0.0), point1=(0.0, 0.5))
s1.CircleByCenterPerimeter(center=(0.0, 0.0), point1=(0.0, 0.45))
p = mdb.models['Model-1'].Part(name='PIPE-m', dimensionality=THREE_D,
type=DEFORMABLE_BODY)
p = mdb.models['Model-1'].parts['PIPE-m']
p.BaseSolidExtrude(sketch=s1, depth=1.0)
s1.unsetPrimaryObject()
p = mdb.models['Model-1'].parts['PIPE-m']
session.viewports['Viewport: 1'].setValues(displayedObject=p)
del mdb.models['Model-1'].sketches['__profile__']
把 import 语句以及函数里面的语句抽取出来并复制到 py 文件里,接着在 abaqus 中导入这个文件,这样就能生成一个相同的薄壁管。
二、插件制作
注意:系统语言要改回英文
使用 abaqus 内置的 RSG 功能来构建一个简单的 GUI 界面,具体步骤为:Plug-ins,接着是 Abaqus,然后是 Really Simple GUI Dialog Builder 。
GUI图标
在设计插件用户界面时可以传入图片格式的参数含义说明: