抽象的
从模拟中获取结果可能是一项繁琐的任务,尤其是当需要具有不同结果类型的不同组件的多个图像时。手动提取具有一致视点和角度的图像可能很困难。我们可以使用 ANSYS Mechanical 提供的脚本工具快速提取具有一致视点的轮廓图像。本博客展示了一种从 ANSYS Mechanical 中提取图像结果的方法。
介绍
ANSYS Mechanical 的脚本语言使用 Python。就本文而言,我们只需要 Python 的基本知识即可使用 ANSYS Mechanical 脚本。
创建观点
运行模拟后,在解决方案树下添加所需的结果。使用不同的关键词在结果树中命名结果。这些关键词最好能指示视图的角度或特征,例如顶部、底部、等距等。
从自动化选项卡打开脚本。
在录制下拉菜单下,启用摄像头和图形选项。
单击开始录制,并将摄像机定位到您想要的视点。
如果您已经在正确的位置,则滚动进出将在脚本树中生成视点。
将自动生成将相机角度调整到正确视点的代码。您要为代码保存的视点将是最终生成的视点。在上图中,第 26 行到第 32 行是我对视图所做的最终更改,也是我保存以供将来使用的内容。
将代码行复制并存储在其他地方。您可以通过在 shell 中运行来验证视点是否正确。对每个所需的视点重复此操作。
创建脚本
以下脚本是我们提取图像结果的方式。您可以直接在脚本窗口内编写并保存脚本,也可以在外部编辑器中编写并稍后导入。
results = DataModel.GetObjectsByType(DataModelObjectCategory.Result) #循环遍历结果 for result in results: #选择并激活结果 result.Activate() childName = result.Name if "Top" in childName: #将视点设置为Top #region 设置相机属性 Graphics.Camera.FocalPoint = Point([-0.00018029026087923981, -0.0033479135575506299, 0.0015000000130385163], 'm') Graphics.Camera.ViewVector = Vector3D(-1.3843506307354876e-17, -6.3284600262193711e-17, 1) Graphics.Camera.UpVector = Vector3D(-9.7144514654701197e-17, 1, -5.5511151231257827e-17) Graphics.Camera.SceneHeight = Quantity(0.054822925918460219, 'm') Graphics.Camera.SceneWidth = Quantity(0.033196032597538533, 'm') #endregion if "Iso" in childName: #将视点设置为 Iso #region 设置相机属性 Graphics.Camera.FocalPoint = Point([0.0070694886974773073, -0.020734897355522169, 0.010410070907910943], 'm') Graphics.Camera.ViewVector = Vector3D(0.6157636972780397, -0.66153217289823363, 0.42803066868510714) Graphics.Camera.UpVector = Vector3D(-0.31553782822796811, 0.29073861716904603, 0.90327566968440387) Graphics.Camera.SceneHeight = Quantity(0.054822925918460219, 'm') Graphics.Camera.SceneWidth = Quantity(0.033196032597538533, 'm') #endregion # export the result as a 2D PNG file Graphics.ExportImage("C:\\Desktop\\Images\\" + result.Name + ".png") print "完成导出结果" |
“for”循环遍历我们在解决方案树中定义的每个结果。
“if”语句在结果树中查找每个结果名称中的关键字,并执行命令以更改该结果的视点。在此示例中,“Top”和“Iso”是我选择的关键字,用于表示顶视图和等距视图。您可以修改关键字和视点以满足您的需求。您还可以添加更多“if”语句以添加其他视点。
设置视点后,程序会将结果图像保存到指定的文件夹中。
包含“Graphics.ExportImage”的行将把图像导出到您指定的文件夹位置,并相应地命名图像。解决方案树中的每个结果都有唯一的名称非常重要,因为它将覆盖现有图像。
下图显示了图像如何出现在您指定的文件夹中。
结论
ANSYS Mechanical 中的脚本是一种功能强大的工具,可以节省时间并提高模拟报告的质量。本博客提供了一种自动从 ANSYS Mechanical 中提取图像结果的方法。