Abaqus二次開發(fā)一鍵輸出模態(tài)動畫(GIF格式)

2017-04-21  by:CAE仿真在線  來源:互聯(lián)網(wǎng)

Abaqus輸出動畫是后處理工作中的一部分,但是Abaqus輸出的常見的動畫格式只有AVI。如果需要插入到PPT中,需要第三方軟件轉(zhuǎn)換成GIF格式,如此一來,導出模態(tài)動畫需要步驟如下:

Abaqus二次開發(fā)一鍵輸出模態(tài)動畫(GIF格式)abaqus有限元技術(shù)圖片1

  1. Abaqus界面設(shè)置,包括調(diào)整模型視角,viewport窗口調(diào)整,動畫參數(shù)設(shè)置等。

  2. 激活動畫,輸出AVI格式。

  3. 通過第三方軟件轉(zhuǎn)成GIF,插入PPT中。

  4. 繼續(xù)輸出下一階模態(tài)動畫。

如果遇到有多個工況,模態(tài)階數(shù)數(shù)量又多,那這些看似簡單無腦的操作,變得相當?shù)姆爆崯o趣。

這里介紹一種一鍵生成GIF模態(tài)動畫的方法,主要省去了轉(zhuǎn)換格式(AVI->GIF)的時間。甚至可以實現(xiàn)點擊按鈕,即可自動生成多介模態(tài)動畫,并自動命名。

Abaqus二次開發(fā)一鍵輸出模態(tài)動畫(GIF格式)abaqus有限元技術(shù)圖片2

這個方法的思路是:用Python語言編寫一段輸出動畫的宏,宏里面調(diào)用第三方軟件(ImageMagick)把Abaqus輸出的AVI轉(zhuǎn)換成GIF,并實現(xiàn)自動命名,然后把.py宏包裝植入到Plug-ins菜單中,這樣既可通過自定義工具條添加按鈕來調(diào)用宏。

Abaqus二次開發(fā)一鍵輸出模態(tài)動畫(GIF格式)abaqus有限元技術(shù)圖片3

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

首先,需要下載安裝格式轉(zhuǎn)換軟件,這里推薦使用ImageMagick,具體安裝方法自行百度。安裝順利的話會有如下文件,其中mogrify.exe是我們的宏所需要調(diào)用的程序。

Abaqus二次開發(fā)一鍵輸出模態(tài)動畫(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二次開發(fā)一鍵輸出模態(tài)動畫(GIF格式)abaqus有限元分析案例圖片5

Abaqus二次開發(fā)一鍵輸出模態(tài)動畫(GIF格式)abaqus有限元分析案例圖片6


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



開放分享:優(yōu)質(zhì)有限元技術(shù)文章,助你自學成才

相關(guān)標簽搜索:Abaqus二次開發(fā)一鍵輸出模態(tài)動畫(GIF格式) abaqus分析培訓 abaqus技術(shù)教程 abaqus巖土分析 鋼筋混凝土仿真 abaqus分析理論 abaqus軟件下載 abaqus umat用戶子程序編程 Abaqus代做 Abaqus基礎(chǔ)知識 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓 

編輯
在線報名:
  • 客服在線請直接聯(lián)系我們的客服,您也可以通過下面的方式進行在線報名,我們會及時給您回復電話,謝謝!
驗證碼

全國服務(wù)熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓QQ咨詢:點擊咨詢 點擊咨詢
項目QQ咨詢:點擊咨詢
email:kf@1cae.com