Abaqus二次开发一键输出模态动画(GIF格式)

2017-04-21  by:CAE仿真在线  来源:互联网

Abaqus输出动画是后处理工作中的一部分,但是Abaqus输出的常见的动画格式只有AVI。如果需要插入到PPT中,需要第三方软件转换成GIF格式,如此一来,导出模态动画需要步骤如下:

Abaqus二次开发一键输出模态动画(GIF格式)abaqus有限元技术图片1

  1. Abaqus界面设置,包括调整模型视角,viewport窗口调整,动画参数设置等。

  2. 激活动画,输出AVI格式。

  3. 通过第三方软件转成GIF,插入PPT中。

  4. 继续输出下一阶模态动画。

如果遇到有多个工况,模态阶数数量又多,那这些看似简单无脑的操作,变得相当的繁琐无趣。

这里介绍一种一键生成GIF模态动画的方法,主要省去了转换格式(AVI->GIF)的时间。甚至可以实现点击按钮,即可自动生成多介模态动画,并自动命名。

Abaqus二次开发一键输出模态动画(GIF格式)abaqus有限元技术图片2

这个方法的思路是:用Python语言编写一段输出动画的宏,宏里面调用第三方软件(ImageMagick)把Abaqus输出的AVI转换成GIF,并实现自动命名,然后把.py宏包装植入到Plug-ins菜单中,这样既可通过自定义工具条添加按钮来调用宏。

Abaqus二次开发一键输出模态动画(GIF格式)abaqus有限元技术图片3

=====正文=====

首先,需要下载安装格式转换软件,这里推荐使用ImageMagick,具体安装方法自行百度。安装顺利的话会有如下文件,其中mogrify.exe是我们的宏所需要调用的程序。

Abaqus二次开发一键输出模态动画(GIF格式)abaqus有限元分析案例图片4

下面附上完整代码:

from abaqus import *

from abaqusConstants import *

from viewerModules import *

import animation

import subprocess, os


convertToGIF = ' '.join(('"E:\ConverToGif\\mogrify.exe"',

'-format gif',

'"%1"',))

def Single_Mode():

vp = session.viewports[session.currentViewportName]

odb = vp.displayedObject

display = vp.odbDisplay

frame_index = display.fieldFrame[1]

i=frame_index

for step in odb.steps.values():

if step.domain == MODAL:

frames = tuple(step.frames)[0:]

t=frames[i]

session.animationController.setValues(animationType=SCALE_FACTOR, viewports= (session.currentViewportName,),)

session.animationController.play(duration=UNLIMITED)


file_name = 'Mode_%i_%.0fHz.avi'%(t.mode,t.frequency)

session.writeImageAnimation(fileName=file_name, format=AVI,

canvasObjects=(vp, ))

session.animationController.setValues(animationType=NONE)

p = subprocess.Popen(convertToGIF.replace('%1',file_name), stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=False)

if not p.wait() :

print 'Animation mode %i successfully saved.'%i

else:

print 'Error during animation mode %i.'%i

print p.communicate()

os.remove(file_name)

实用效果如下:

Abaqus二次开发一键输出模态动画(GIF格式)abaqus有限元分析案例图片5

Abaqus二次开发一键输出模态动画(GIF格式)abaqus有限元分析案例图片6


注:文章来源 http://www.jishulink.com/content/post/310604



开放分享:优质有限元技术文章,助你自学成才

相关标签搜索:Abaqus二次开发一键输出模态动画(GIF格式) abaqus分析培训 abaqus技术教程 abaqus岩土分析 钢筋混凝土仿真 abaqus分析理论 abaqus软件下载 abaqus umat用户子程序编程 Abaqus代做 Abaqus基础知识 Fluent、CFX流体分析 HFSS电磁分析 Ansys培训 

编辑
在线报名:
  • 客服在线请直接联系我们的客服,您也可以通过下面的方式进行在线报名,我们会及时给您回复电话,谢谢!
验证码

全国服务热线

1358-032-9919

广州公司:
广州市环市中路306号金鹰大厦3800
电话:13580329919
          135-8032-9919
培训QQ咨询:点击咨询 点击咨询
项目QQ咨询:点击咨询
email:kf@1cae.com