Abaqus二次开发揭秘:360°动态后处理模型展示

获得仿真结果后,如何360°动态观察模型在不同方位的仿真结果呢?虽Abaqus自带的后处理暂无此功能,但我们可通过 python脚本来抓取不同方位的图片,然后使用MATLAB将捕获的图片制作成GIF动画。

图1


Abaqus二次开发中,有一条命令:

viewports['Viewport: 1'].view.setValues

可调整模型在视图中的不同角度显示。我们先通过__doc__方法查阅setValues的控制参数:

session.viewports['Viewport: 1'].view.setValues.__doc__


获得其控制参数如下:

'View.setValues(<options, drawImmediately, fieldOfViewAngle, nearPlane, farPlaneMode, farPlane, width, height, projection, cameraPosition, cameraUpVector, cameraTarget, viewOffsetX, viewOffsetY, autoFit , movieMode>) -> This method modifies the \n View\n object.\n This method is not available for a \n LayerView.\n


setValues下的drawImmediately,cameraPosition和cameraUpVector是我们需要的控制参数。cameraPosition,顾名思义,是照相机的位置,由x,y,z坐标确定;cameraUpVector为照相机的指向,即拍照的方向,是一个向量。结合图1视图,要让照相机摆放的位置绕着y轴摆放,且指向y方向,因此照相机位置应该是一个圆的轨迹线,而y向便可由(0,1,0)来设定。




照相机沿着圆的轨迹线,在不同位置视角下的图片捕获并保存下来,其代码如下所示:



# -*- coding: mbcs -*-from abaqus import *from abaqusConstants import *o1 = session.openOdb(name='Job-test.odb')session.viewports['Viewport: 1'].setValues(displayedObject=o1)session.viewports['Viewport: 1'].odbDisplay.setPrimaryVariable(    variableLabel='S', outputPosition=INTEGRATION_POINT, refinement=(INVARIANT,     'Mises'), )session.viewports['Viewport: 1'].odbDisplay.display.setValues(plotState=(    CONTOURS_ON_DEF, ))session.viewports['Viewport: 1'].odbDisplay.commonOptions.setValues(    deformationScaling=UNIFORM, uniformScaleFactor=1) Num=20angle=0for i in range(Num):    angle+= 2*pi/Num    session.viewports['Viewport: 1'].view.setValues(cameraUpVector=(0, 1, 0),        cameraPosition=(120*cos(angle),40,120*sin(angle)),drawImmediately=True)    #session.viewports['Viewport: 1'].view.setValues(session.views['Iso'])    session.printOptions.setValues(reduceColors=False)    session.printToFile(fileName='frame_'+str(i),     format=PNG, canvasObjects=(session.viewports['Viewport: 1'], ))






       


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空