之前分享过在templex的案例,这怎么又想着写这个呢,这也是同事问到了一个问题,如何在HyperView中通过templex语言获取当前云图最大值。在 Altair HyperView 的强大后处理生态中,Templex 表达式如同一把瑞士军刀,为用户提供了前所未有的自动化和定制化能力。
它允许您直接访问后处理环境中的数据,例如解析曲线值,获取云图值等,包括在二次开发中,笔者也会使用templex语言去查询结果。在没有二次开发的情况下,也可以结合report功能,生成动态报告、创建智能注释和执行复杂的数据提取。本文将深入探讨 Measure功能相关的 Templex 表达式,帮助您将 HyperView 的效能发挥到极致。
Templex 是 HyperView 内嵌的一种强大的表达式语言。通过特定的语法结构,您可以引用当前会话中的几乎所有对象和数据,Page、Window、Curve、note以及本文的重点——Measure。这些表达式可以在 Tcl Windows、HyperView:Notes和文本客户端TextView中直接使用。
Measure 表达式提供了一种标准化方式来访问测量数据。其通用语法结构如下,理解每个占位符的含义是关键:
"p"<page_id>"w"<window_id>"measure"<measure_id>.<item_index>.<x_option>.<y_option>.<vector_type>
<page_id>
和 <window_id>
:指定测量对象所在的图形页和窗口的编号。<measure_id>
:测量组的唯一标识号。这是在创建测量组时由 HyperView 自动分配的。<item_index>
:指定测量组中的特定测量项(如第几个节点对、单元等)。关键字 "all"
表示选择组内的所有项。<x_option>
和 <y_option>
:数字代码,用于选择测量值的特定分量(如 X坐标、Y坐标、幅值等)。重要提示: 对于非分组表达式,<x_option>
必须为 0
(默认的时间/频率)。<vector_type>
:指定返回数据类型。"x"
:返回 X 向量(通常是时间或频率)。"y"
:返回对应的 Y 向量(测量值)。"vals"
:在特定时间步返回该项的所有值(如 X, Y, Z, Magnitude)。"min"
, "max"
, "extreme"
:返回极值。用于获取单个测量项在整个时间历程上的数据。
获取 X 向量(时间/频率):p1w1measure3.7.0.3.x
获取 Y 向量(测量值):p1w1measure3.7.0.3.y
用于在特定时间步获取组内所有测量项的数据,非常适合做“快照”分析。
p1w1measure3.all.2.3.y
用于一次性提取某个测量项在某个时刻的全部信息。
p1w1measure3.2.vals
快速从海量数据中提取关键统计信息,无需手动遍历所有曲线。
p1w1measure3.0.3.min
p1w1measure3.0.3.max
p1w1measure3.0.3.extreme
p1w1measure3.ids
p1w1measure3.label
正确使用 x_option
和 y_option
是成功的关键。以下是最常用测量类型的选项代码:
Distance Between | Default (Time) | ||
Relative Displacement | |||
Magnitude | |||
Position | Default (Time) | ||
Angle Between | Default (Time) | ||
True Angle | |||
Yaw Pitch Roll | Default (Time) | Yaw | |
Pitch | |||
Roll |
.all.
) 返回的是某个时间步下所有项的数据;而非分组表达式返回的是某个项所有时间步的数据。结论
掌握 HyperView 的 Measure Templex 表达式,意味着您可以从被动的数据观察者转变为主动的数据管理者。无论是创建包含关键结果的自定义报告,还是设置监控特定临界值的智能注释,这项技能都能显著提升您的 CAE 后处理工作流效率与深度。建议您打开 HyperView,对照文中的示例亲手尝试,逐步解锁这项强大功能的全部潜力。
下图为获取当前模型的最大值:通过表达式获取云图结果,再通过[0]对返回结果进行取值。