Abaqus二次开发的一些自制脚本

这些Python脚本展示了如何利用Abaqus的二次开发环境进行一系列操作,包括设置视图样式、查看作业的Mises应力、创建多个窗口展示不同变量、创建部件、设置材料、装配、分析步和网格划分,并提交作业。脚本详细说明了如何通过Python自动化Abaqus的工作流程,提高分析效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Abaqus软件二次开发环境提供的脚本结构就是基于Python语言进行的定制开发。
学了一些有关二次开发的课程,制作了以后可能用得到的脚本。

复制代码,新建py文件,在File–Run Script即可一键运行脚本

  • 白色背景,Mises字体变大,只留下应力图和坐标轴
session.graphicsOptions.setValues(backgroundStyle=SOLID, 
    backgroundColor='#FFFFFF')
session.viewports['Viewport: 1'].viewportAnnotationOptions.setValues(legendFont='-*-verdana-medium-r-normal-*-*-120-*-*-p-*-*-*')
session.viewports['Viewport: 1'].viewportAnnotationOptions.setValues(title=OFF, state=OFF, annotations=OFF, compass=OFF)
session.viewports['Viewport: 1'].view.setValues(session.views['Front'])

在这里插入图片描述

  • 查看某个作业的Mises应力
# -* - coding:UTF-8 -*-
#第一行必须含有,中文编码
#-----------------------------------------------------------
#以下代码PythonReader自动生成
from abaqus import *
from abaqusConstants import *
#创建窗口的大小
session.Viewport(name='Viewport: 1', origin=(0.0, 0.0), width=328.826019287109, 
    height=175.681488037109)
session.viewports['Viewport: 1'].makeCurrent()
session.viewports['Viewport: 1'].maximize()
from caeModules import *
from driverUtils import executeOnCaeStartup
executeOnCaeStartup()
session.viewports['Viewport: 1'].partDisplay.geometryOptions.setValues(
    referenceRepresentation=ON)
#以上为初始代码
#-----------------------------------------------------------
o3 = session.openOdb(name='D:/Temp/Job-1.odb')# 这里修改作业路径
session.viewports['Viewport: 1'].setValues(displayedObject=o3)
#查看应变
session.viewports['Viewport: 1'].odbDisplay.display.setValues(plotState=(
    CONTOURS_ON_DEF, ))

在这里插入图片描述

  • 打开四个窗口,同时查看某个作业的应力、位移、动态图等
# -* - coding:UTF-8 -*-
#第一行必须含有,中文编码
#-----------------------------------------------------------
#以下代码PythonReader自动生成
from abaqus import *
from abaqusConstants import *
#创建窗口的大小
session.Viewport(name='Viewport: 1', origin=(0.0, 0.0), width=328.826019287109, 
    height=175.681488037109)
session.viewports['Viewport: 1'].makeCurrent()
session.viewports['Viewport: 1'].maximize()
from caeModules import *
from driverUtils import executeOnCaeStartup
executeOnCaeStartup()
session.viewports['Viewport: 1'].partDisplay.geometryOptions.setValues(
    referenceRepresentation=ON)
#以上为初始代码
#-----------------------------------------------------------
o3 = session.openOdb(name='D:/Temp/Job-1.odb')# 这里修改作业路径
session.viewports['Viewport: 1'].setValues(displayedObject=o3)
#查看应变
session.viewports['Viewport: 1'].odbDisplay.display.setValues(plotState=(
    CONTOURS_ON_DEF, ))
#-----------------------------------------------------------
#再创建三个窗口
session.Viewport(name='Viewport: 2', origin=(6.58749961853027, 
    -4.65925931930542), width=399.641632080078, height=173.762969970703)
session.viewports['Viewport: 2'].makeCurrent()
session.viewports['Viewport: 2'].maximize()
session.viewports['Viewport: 1'].restore()

session.Viewport(name='Viewport: 3', origin=(13.1749992370605, 
    -4.65925931930542), width=399.641632080078, height=167.185180664063)
session.viewports['Viewport: 3'].makeCurrent()
session.viewports['Viewport: 3'].maximize()
session.viewports['Viewport: 2'].restore()

session.Viewport(name='Viewport: 4', origin=(19.7624988555908, 
    -4.65925931930542), width=399.641632080078, height=160.607406616211)
session.viewports['Viewport: 4'].makeCurrent()
session.viewports['Viewport: 4'].maximize()
session.viewports['Viewport: 3'].restore()
session.viewports['Viewport: 4'].restore()
#四个窗口排列组合
session.viewports['Viewport: 1'].setValues(origin=(0.0, 85.511116027832), 
    width=222.328109741211, height=90.1703720092773)
session.viewports['Viewport: 2'].setValues(origin=(222.328109741211, 
    85.511116027832), width=222.328109741211, height=90.1703720092773)
session.viewports['Viewport: 3'].setValues(origin=(0.0, -4.65926361083984), 
    width=222.328109741211, height=90.1703720092773)
session.viewports['Viewport: 4'].setValues(origin=(222.328109741211,-4.65926361083984), width=222.328109741211, height=90.1703720092773)
#改变其他窗口,显示E、U和动画
session.viewports['Viewport: 2'].makeCurrent()
session.viewports['Viewport: 2'].odbDisplay.setPrimaryVariable(
    variableLabel='E', outputPosition=INTEGRATION_POINT, refinement=(INVARIANT, 
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值