本次脚本将要指定数据库文件,并输出指定位置(set)的位移信息。
编程思路:
写注释行,尽量详细解释脚本语句,增强可移植性;
导入相应模块;
本次实例要输出场输出位移信息,必须访问分析步、帧;
创建对象时,分步创建多个变量表示对象(推荐):
创建变量表示odb对象,打开输出数据库;
创建变量表示第一个分析步;
创建变量表示第一个分析步的最后一帧;
创建变量表示节点集;(本次案例节点集只有一个节点)
创建变量表示访问第一个分析步最后一帧的位移U.
脚本部分源代码:
#!/user/bin/python
# -* - coding:UTF-8 -*-
# 本脚本的功能是读取输出数据库 viewer_tutorial.odb中半球形冲头中心点的位移值
#
#导入odb数据库模块
from odbAccess import *
#打开viewer_tutorial.odb文件(放在工作目录下)
odb = openOdb(path='viewer_tutorial.odb')
#创建变量表示第1个分析步
step1=odb.steps['Step-1']
# 创建变量表示第1个分析步的最后一帧
lastFrame = step1.frames[-1]
# 创建变量表示半球冲头中心施加荷载的节点集 'PUNCH',它属于部件实例PART-1-1
center = odb.rootAssembly.instances['PART-1-1'].nodeSets['PUNCH']
# 创建变量表示第1个分析步最后一帧的位移U
displacement = lastFrame.fieldOutputs['U']
23行用到了getSubset方法,其作用是获取集合区域
操作脚本如下:
操作脚本
结果如下:
Node label: 1000
Displacement in X direction: -7.891572e-34
Displacement in Y direction: -76.45553
Displacement: 76.4555282593
注:本文中涉及的模型文件和完整脚本文件可在Up的公众号:易木木响叮当,中回复“读取场输出数据”自动获取。