在CAE后处理中,不同求解器输出的结果文件格式各异——LS-DYNA的d3plot、Abaqus的ODB、Nastran的OP2等。当我们需要在HyperGraph中绘制曲线时,这些格式并不总是直接可读。HgTrans就是解决这个问题的关键工具:它将求解器结果文件从原始格式转换为Altair二进制格式(ABF),使HyperGraph能够高效读取和绘制数据。
HgTrans是HyperWorks提供的结果文件翻译器,其核心功能是将求解器结果文件从原始格式转换为Altair Binary Format(ABF)。ABF是Altair专为HyperGraph优化的二进制格式,具有读取速度快、数据组织结构化、支持时间历程数据等特点。HgTrans运行在两种模式下:GUI模式(图形界面交互操作)和批处理模式(命令行自动化)。
Windows
Linux
altair/scripts 目录下的 hgtrans 脚本 从File菜单选择"Open Result File",HgTrans支持以下文件格式:
加载文件后,HgTrans会列出文件的基本信息,包括第一个和最后一个数据点、检测到的请求数量等,按Subcase、Data Type、Request、Component四个维度组织。
HgTrans提供五种转换策略,覆盖从简单到复杂的各种使用场景:
数学表达式示例:在Math Expression下的Vector字段输入 2*p1w1c1.y(时间/频率数据),转换后的ABF文件中该通道的值将自动乘以2。这对于单位转换、缩放等场景非常实用。 对于需要重复执行的转换任务,批处理模式提供命令行自动化能力。hgtrans.exe 位于 <安装目录>\hwdesktop\hw\bin\win64\(Windows)或 /altair/scripts/(Unix)。
HgTrans配置文件采用Tcl脚本格式,通过一系列 hgtrans 命令控制转换过程。配置文件的工作流程包含五个阶段:
## 1. 文件设置
hgtrans control SetFile $filename hgtrans control SetOutputFile $abffilename
## 2. 指定通道(选择要转换的数据)
hgtrans config SetChannelSelected "Subcase 1" "Unknown" \ "Nodal Point 8000501 - Resultant Acceleration" "Column 2" true
## 3. 数据预处理(应用数学表达式)
hgtrans config SetChannelOverride "Subcase 1" "Unknown" \ "Nodal Point 8000501" "Column 2" "batch(t,v,0,60)"
## 4. 标准化标签(搜索替换重命名)
hgtrans control AddLabelAliasRule "*Point" "Node" \ "Subcase 1" "Unknown" "request"
## 5. 全局设置与执行
hgtrans control SetCompressionLevel high hgtrans control SetTimeScaleFactor 0.001 hgtrans control StartTranslation
配置文件支持以下高级功能:SetChannelSelected 选择特定通道、SetChannelOverride 对数据应用数学表达式(如时间范围筛选 batch(t,v,0,60))、AddLabelAliasRule 对请求/分量/数据类型的标签进行搜索替换重命名,以及SetTimeScaleFactor 时间缩放因子等全局设置。
实战要点:HgTrans配置文件是团队协作的利器——将标准转换流程保存为配置文件后,团队成员只需执行hgtrans -c config.tcl result.dat -o output.abf即可得到一致的结果。配合-z压缩选项,可显著减小文件大小而不影响HyperGraph的加载性能。