首页/文章/ 详情

Abaqus-如何360°视角动态展示模型结果?

1年前浏览704

        在千辛万苦获得模拟结果后,如何展示能让大家更好的全面观察到仿真结果呢?其实借助Python可以实现模型360°转动的动态展示,以便能观察到不同位置的分布情况。

        Abaqus Python 脚本具有视口对象的 setViewpoint() 方法,允许分析人员更改他们在可视化模块中查看模型的方式。它的参数 viewVector 是一个由 3 个浮点组成的序列来指定视点和 cameraUpVector 来指定相机的方向。我们可以认为它就像我们站在 viewVector 指定的位置,并且我们的头部朝向 cameraUpVector 方向看模型的原点。因此我们可以很容易地在 Python 中设置一个循环,将视点移动到圆锥的一个圆上,从而形成模拟结果的 360° 视图。


        下面是一个示例脚本,它保存了一系列 n 个展开的安全气囊的米塞斯应力图像,从 360° 的 n 个视点观察。这些图像可用于按照此工作流程生成 360° 视图的 GIF 动画。






























from odbAccess import *from abaqusConstants import *odb = openOdb('mybag_3.odb')# 生成360°视角动图n = 20ang = pi/4file = 0
session.viewports['Viewport: 1'].setValues(displayedObject=odb)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, ))

for i in range(n):    ang += 2*pi/n    session.viewports['Viewport: 1'].view.setViewpoint(        viewVector=(sqrt(2)*sin(ang), sqrt(2)*cos(ang), .5),        cameraUpVector=(0, 0, 1),        drawImmediately=True)    session.printOptions.setValues(vpDecorations=OFF)    session.printToFile(        fileName=str(file),        format=PNG,        canvasObjects=(session.viewports['Viewport: 1'], ))    file += 1


来源:ABAQUS仿真世界
Abaqus
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-08-17
最近编辑:1年前
yunduan082
硕士 | 仿真主任工程... Abaqus仿真世界
获赞 152粉丝 212文章 307课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈