2. HyperMesh界面与碰撞模型工作环境定制
HyperMesh 的默认界面面向通用有限元前处理,而碰撞安全模型有其鲜明的作业特征:模型规模大(整车百万级单元)、连接关系密集(焊点、粘胶、铰链、螺栓)、工况多(正碰、侧碰、偏置碰、柱碰、行人保护)、求解器以 LS-DYNA 与 Radioss 为主。如果每次打开软件都从零调整面板、菜单和工具栏,效率损失会非常可观。本节的目标是把 HyperMesh 从"通用工具"改造成"碰撞专用工作台",核心手段是四件事:用户配置文件、快捷键、宏命令、碰撞专用工具栏与模板加载。
一、用户配置文件:让每次启动都回到自己的工作状态
HyperMesh 的用户配置由一组文件共同决定,它们通常位于用户目录下的 Documents/Altair/<版本>/hm 或安装目录的 hm/scripts 中。最关键的几个文件是:
hmmenu.set:菜单与面板的可见性、位置、自定义菜单项;hmsettings.tcl:启动时自动执行的 Tcl 脚本,用于设置单位制、默认求解器模板、图形显示、自动保存等;hm.key:键盘快捷键映射;command.cmf:命令记录文件,可回放操作,是生成宏命令的原始素材。
实际工程中推荐的做法是:在 hmsettings.tcl 中固定碰撞作业的"基线环境"。例如把默认求解器接口设为 LS-DYNA,把长度单位设为 mm、质量单位设为 t、时间单位设为 s(即 mm-t-s 一致单位制,对应力单位为 MN、应力单位为 MPa),把自动保存间隔设为 10 分钟,把图形背景设为浅色以便截图评审。下面是一段可直接参考的示例配置:
# hmsettings.tcl —— 碰撞作业基线环境(示例)
*setvalue profile.name LS-DYNA
*setvalue units.length mm
*setvalue units.mass t
*setvalue units.time s
*setvalue graphics.background "white"
*setvalue autosave.interval 10
*setvalue autosave.enable 1
# 默认打开碰撞常用面板
*setvalue panel.default "Analysis > Safety"
需要强调的是,上述参数属于教学示例,实际项目中应以企业标准或主机厂规范为准。单位制一旦确定,全文与所有图示必须保持一致,否则后续焊点直径、材料密度、时间步长都会出现量级错误。
二、快捷键:把高频操作压缩到一次按键
碰撞前处理的高频操作集中在视图控制、选择过滤、单元质量检查、连接创建四类。HyperMesh 允许通过 hm.key 或 Preferences 中的 Keyboard 面板重新映射。建议按"左手键盘、右手鼠标"的原则分配,例如:
F:Fit 视图,快速回到整车包围盒;R:Rotate,配合鼠标中键旋转;Z:Zoom 框选放大到局部接头;W:Wireframe 线框显示,检查穿透与重叠;Q:Quality Index,快速查看单元质量云图;M:Mask,按组件屏蔽非关注区域。
快捷键的价值在于减少鼠标在面板间的往返。对于每天要处理数十个焊点、上百个连接的前处理工程师,单次节省 2 秒,一天累计就是可观的工时。
三、宏命令:把重复动作固化为可复用脚本
宏命令的本质是把 command.cmf 中记录的命令序列提取出来,保存为 .tcl 或 .cmf 文件,再绑定到按钮或快捷键。碰撞前处理中最典型的可宏化动作包括:批量创建 ACM 焊点、按组件批量赋厚度、批量重命名 PID、批量导出关键字卡片。
以"按给定坐标批量创建焊点"为例,思路是读取一个包含 x、y、z 的文本文件,循环调用 *createentity 与 *createmark,再用 *spotweld 或 *feabsorb 生成连接单元。示例脚本骨架如下:
# batch_spot.tcl —— 批量焊点(示例骨架)
set fp [open "spots.txt" r]
while {[gets $fp line] >= 0} {
if {[string trim $line] == ""} { continue }
lassign $line x y z
*createentity nodes id=0 x=$x y=$y z=$z
}
close $fp
*createmark nodes 1 "all"
# 后续按实际焊点间距与直径生成连接单元
宏命令调试时建议先在副本模型上运行,确认节点数量、ID 连续性、连接单元类型无误后再用于正式模型。判断成功的依据是:模型树中节点数增量与输入行数一致,焊点单元无重复 ID,且质量检查中无零长度或负体积单元。
四、碰撞专用工具栏与模板加载
HyperMesh 的工具栏可以按作业阶段组织。碰撞前处理建议建立四个自定义工具栏:模型准备(几何清理、中面抽取、网格划分)、连接建模(焊点、粘胶、螺栓、铰链)、工况设置(刚性墙、初速度、重力、接触)、检查导出(穿透检查、质量检查、关键字导出)。每个工具栏只放本阶段真正用到的按钮,避免面板过载。
模板加载则决定了求解器卡片、材料本构、单元公式的默认集合。加载 LS-DYNA 模板后,材料面板会自动提供 *MAT_024、*MAT_020、*MAT_123 等碰撞常用本构;单元面板会提供 *SECTION_SHELL 与 *SECTION_SOLID。模板文件通常以 .tpl 或 .xml 形式存在,可通过 Load Template 加载,也可在 hmsettings.tcl 中指定默认路径,实现启动即加载。
五、定制后的验证与常见问题
完成定制后,建议用一个小模型做一次"冷启动验证":关闭 HyperMesh,重新打开,检查默认求解器是否为 LS-DYNA、单位制是否为 mm-t-s、自定义工具栏是否出现、快捷键是否生效、宏命令按钮是否可点击。若某项未生效,优先排查 hmsettings.tcl 的语法错误(Tcl 对大小写和括号敏感),其次检查文件是否放在当前用户目录而非安装目录。
常见问题包括:模板加载后材料面板仍显示旧本构,通常是模板路径未更新或缓存未清除;宏命令运行报错,多因节点 ID 冲突或输入文件存在空行;快捷键与系统输入法冲突,可改用组合键。判断定制是否成功的最终标准不是"界面好看",而是"打开软件后能否在最短时间内进入碰撞建模状态,且单位、求解器、连接类型与项目规范一致"。
hmsettings.tcl、hm.key 与常用宏脚本纳入版本管理(如 Git),团队共享同一套基线配置,避免各人环境不一致导致模型关键字差异。