Abaqus二次開發(fā)一鍵輸出模態(tài)動畫(GIF格式)
2017-04-21 by:CAE仿真在線 來源:互聯(lián)網(wǎng)
Abaqus輸出動畫是后處理工作中的一部分,但是Abaqus輸出的常見的動畫格式只有AVI。如果需要插入到PPT中,需要第三方軟件轉(zhuǎn)換成GIF格式,如此一來,導(dǎo)出模態(tài)動畫需要步驟如下:
-
Abaqus界面設(shè)置,包括調(diào)整模型視角,viewport窗口調(diào)整,動畫參數(shù)設(shè)置等。
-
激活動畫,輸出AVI格式。
-
通過第三方軟件轉(zhuǎn)成GIF,插入PPT中。
-
繼續(xù)輸出下一階模態(tài)動畫。
如果遇到有多個工況,模態(tài)階數(shù)數(shù)量又多,那這些看似簡單無腦的操作,變得相當?shù)姆爆崯o趣。
這里介紹一種一鍵生成GIF模態(tài)動畫的方法,主要省去了轉(zhuǎn)換格式(AVI->GIF)的時間。甚至可以實現(xiàn)點擊按鈕,即可自動生成多介模態(tài)動畫,并自動命名。
這個方法的思路是:用Python語言編寫一段輸出動畫的宏,宏里面調(diào)用第三方軟件(ImageMagick)把Abaqus輸出的AVI轉(zhuǎn)換成GIF,并實現(xiàn)自動命名,然后把.py宏包裝植入到Plug-ins菜單中,這樣既可通過自定義工具條添加按鈕來調(diào)用宏。
=====正文=====
首先,需要下載安裝格式轉(zhuǎn)換軟件,這里推薦使用ImageMagick,具體安裝方法自行百度。安裝順利的話會有如下文件,其中mogrify.exe是我們的宏所需要調(diào)用的程序。
下面附上完整代碼:
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)
實用效果如下:
注:文章來源 http://www.jishulink.com/content/post/310604
相關(guān)標簽搜索:Abaqus二次開發(fā)一鍵輸出模態(tài)動畫(GIF格式) abaqus分析培訓(xùn) abaqus技術(shù)教程 abaqus巖土分析 鋼筋混凝土仿真 abaqus分析理論 abaqus軟件下載 abaqus umat用戶子程序編程 Abaqus代做 Abaqus基礎(chǔ)知識 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn)