首页/文章/ 详情

凭我掌握了Templex语言,我九点上班,九点半就下班

4天前浏览18
 

引言

之前分享过在templex的案例,这怎么又想着写这个呢,这也是同事问到了一个问题,如何在HyperView中通过templex语言获取当前云图最大值。在 Altair HyperView 的强大后处理生态中,Templex 表达式如同一把瑞士军刀,为用户提供了前所未有的自动化和定制化能力。

它允许您直接访问后处理环境中的数据,例如解析曲线值,获取云图值等,包括在二次开发中,笔者也会使用templex语言去查询结果。在没有二次开发的情况下,也可以结合report功能,生成动态报告、创建智能注释和执行复杂的数据提取。本文将深入探讨 Measure功能相关的 Templex 表达式,帮助您将 HyperView 的效能发挥到极致。

一、什么是 Templex 表达式?

Templex 是 HyperView 内嵌的一种强大的表达式语言。通过特定的语法结构,您可以引用当前会话中的几乎所有对象和数据,Page、Window、Curve、note以及本文的重点——Measure。这些表达式可以在 Tcl Windows、HyperView:Notes和文本客户端TextView中直接使用。

二、Measure 表达式核心语法解析

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":返回极值。

三、表达式类型详解与示例

1. 非分组测量表达式

用于获取单个测量项在整个时间历程上的数据。

  • 获取 X 向量(时间/频率)p1w1measure3.7.0.3.x

    • 含义:获取第1页第1窗口下第3测量组中第7个测量项,其默认X轴(时间)的数据。
  • 获取 Y 向量(测量值)p1w1measure3.7.0.3.y

    • 含义:获取上述同一测量项在整个时间域上的幅值(Y Option=3)数据。

2. 分组测量表达式

用于在特定时间步获取组内所有测量项的数据,非常适合做“快照”分析。

  • 获取所有项的某个分量值p1w1measure3.all.2.3.y
    • 含义:在第1页第1窗口第3测量组中,获取在某个时间步下,所有测量项基于Y坐标(X Option=2)的幅值(Y Option=3)。

3. 获取特定时间步的所有值

用于一次性提取某个测量项在某个时刻的全部信息。

  • p1w1measure3.2.vals
    • 含义:返回第3测量组中第2项在当前时间步的所有值。对于“Distance Between”测量,这将返回 X, Y, Z 分量和 Magnitude(合成幅值)。

4. 极值查询表达式

快速从海量数据中提取关键统计信息,无需手动遍历所有曲线。

  • 最小值p1w1measure3.0.3.min
  • 最大值p1w1measure3.0.3.max
  • 极端值(最大绝对值)p1w1measure3.0.3.extreme
    • 含义:以上表达式分别返回第3测量组中所有项、所有时间步长的幅值(Y Option=3)的最小值、最大值和最大绝对值。返回值通常包含极值本身、极值发生的时间以及对应的时间步编号。

5. 元数据查询表达式

  • 获取组内所有IDp1w1measure3.ids
    • 用途:返回该测量组中所有测量项的实际ID号(如节点号、单元号),用于报告和识别。
  • 获取测量组标签p1w1measure3.label
    • 用途:返回用户为该测量组设置的名称(Label),使报告更具可读性。

四、Measure Option 速查表

正确使用 x_option 和 y_option 是成功的关键。以下是最常用测量类型的选项代码:

测量类型 (Measure Type)      
Val      
X Option 含义      
Y Option 含义      
Distance Between
0      
Default (Time)
X Coordinate      
Relative Displacement
1      
X Coordinate      
Y Coordinate      

     
2      
Y Coordinate      
Z Coordinate      

     
3      
Z Coordinate      
Magnitude

     
4      
Entity ID      
-      
Position
0      
Default (Time)
X Coordinate      

     
3      
Z Coordinate      
-      
Angle Between
0      
Default (Time)
X Projection      

     
3      
Z Coordinate      
True Angle
Yaw Pitch Roll
0      
Default (Time)Yaw

     
1      
X Coordinate      
Pitch

     
2      
Y Coordinate      
Roll

五、最佳实践与注意事项

  1. 验证表达式:任何无效的表达式都将返回 “N/A”。建议先在 Tcl 控制台中测试复杂表达式。
  2. 动态引用:在 HyperView Note 中使用时,表达式是动态的。当您改变时间步、切换测量组或重新动画时,Note 中的显示结果会自动更新。
  3. 自动化报告:结合 TextView 和循环语句,可以自动生成包含多个测量组极值的摘要报告,极大提升后处理效率。
  4. 理解上下文:分组表达式 (.all.) 返回的是某个时间步下所有项的数据;而非分组表达式返回的是某个项所有时间步的数据。

结论

掌握 HyperView 的 Measure Templex 表达式,意味着您可以从被动的数据观察者转变为主动的数据管理者。无论是创建包含关键结果的自定义报告,还是设置监控特定临界值的智能注释,这项技能都能显著提升您的 CAE 后处理工作流效率与深度。建议您打开 HyperView,对照文中的示例亲手尝试,逐步解锁这项强大功能的全部潜力。

下图为获取当前模型的最大值:通过表达式获取云图结果,再通过[0]对返回结果进行取值。


来源:TodayCAEer
HyperView二次开发通用控制Altair
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-09-17
最近编辑:4天前
TodayCAEer
本科 签名征集中
获赞 49粉丝 146文章 464课程 2
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈