首页/文章/ 详情

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

1年前浏览644

        在千辛万苦获得模拟结果后,如何展示能让大家更好的全面观察到仿真结果呢?其实借助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 = 0session.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仿真世界
    获赞 147粉丝 185文章 282课程 0
    点赞
    收藏
    未登录
    还没有评论
    课程
    培训
    服务
    行家
    VIP会员 学习 福利任务 兑换礼品
    下载APP
    联系我们
    帮助与反馈