3. 模型版本命名规范设计
在 HyperMesh 的实际协作中,模型文件往往经历多轮网格划分、连接调整、材料更新与工况迭代。如果文件名只依赖“另存为”时随手输入的 model_final_2.hm,很快就会陷入无法判断哪一版才是当前有效版本的困境。命名规范的本质,是把“谁、在什么时候、对哪个模型、做了第几轮修改、处于什么状态”这五类信息压缩进一个可排序、可检索、可校验的字符串中,使文件系统本身成为一条轻量的追溯链。
一、命名规则的字段结构
推荐采用“项目—对象—阶段—版本—日期—责任人—状态”的分段式命名,各段之间用下划线连接,段内不使用空格,避免跨平台传输时被截断或转义。一个可直接落地的格式如下:
项目代号_模型对象_阶段_版本号_日期_责任人_状态.hm
示例:PRJ-A12_BodyBIW_Mesh_v03_20250612_zhangq_Review.hm
各字段的取值约定需要提前固化,否则不同人写出的名字仍然无法对齐:
- 项目代号:取自项目立项编号,如
PRJ-A12,全项目唯一,不使用中文或空格。 - 模型对象:描述该文件承载的装配范围或子系统,如
BodyBIW(白车身)、FrontCrash(前碰子系统)、FullVehicle(整车)。同一对象在项目内必须使用同一拼写。 - 阶段:标识模型所处的工程阶段,建议限定为
CAD、Mesh、Conn、Load、Solve、Post六类,分别对应几何导入、网格划分、连接建立、工况加载、求解提交与后处理。 - 版本号:见下一节的策略说明。
- 日期:统一使用
YYYYMMDD八位格式,保证按文件名排序时天然按时间递增。 - 责任人:使用企业账号或拼音缩写,如
zhangq,不使用昵称。 - 状态:限定为
WIP(进行中)、Review(待评审)、Release(已发布)、Obsolete(已作废)四种,状态字段是判断文件能否被下游引用的关键。
二、版本号策略:主版本与次版本分离
版本号建议采用 v主版本.次版本 两段式,例如 v03.2。主版本递增表示模型发生了影响下游的实质性变更:几何替换、网格重划、连接拓扑调整、材料或属性重新指派。次版本递增表示不影响下游接口的局部修正:单元质量清理、个别 RBE3 权重调整、注释补充、未改变连接关系的重命名。
这样区分的好处是,下游 CAE 工程师只需关注主版本变化,而网格工程师可以在同一主版本内自由迭代次版本。判断标准可以固化为三条:若变更导致模型节点数变化超过 1%、连接单元数量变化、或任何工况的边界条件位置改变,则升主版本;否则升次版本。主版本递增时次版本归零,例如从 v03.2 直接进入 v04.0,而不是 v03.3。
v03.0 的内容恢复后命名为 v05.0,并在变更说明中注明“回退自 v03.0”。这样版本序列始终单调递增,避免出现同名不同内容的文件。三、日期与责任人标识的配合
日期字段记录的是该版本完成并保存的日期,而不是开始修改的日期。责任人字段记录的是该版本的主要修改者,而非文件所有者。当多人协作时,建议在文件内部另设一个变更记录表,记录每次保存的修改人、修改内容与关联的版本号,文件名中的责任人只保留最终提交者。这样文件名保持简洁,详细追溯由文件内记录承担。
日期与版本号存在冗余,但这种冗余是有意的:版本号保证同一对象内的顺序,日期保证跨对象、跨项目的全局排序。当需要按时间线梳理某项目的模型演进时,直接按日期字段排序即可获得完整视图。
四、命名体系的可追溯性校验
一套命名规范是否有效,可以用三个问题快速检验:第一,拿到任意一个文件名,能否在不打开文件的情况下判断它是否可用于当前分析?第二,能否仅凭文件名还原出该版本的修改顺序?第三,当两个文件冲突时,能否依据命名规则确定唯一有效版本?如果三个问题都能回答,说明字段设计基本完备。
下面这张图展示了命名规则各字段的解析关系,以及从文件名到追溯判断的映射路径。图中以示例文件名 PRJ-A12_BodyBIW_Mesh_v03_2_20250612_zhangq_Review.hm 为对象,逐段拆解字段含义,并给出该文件在版本序列中的位置与可用状态判断。
五、落地时的常见问题与处理
规范制定后最容易出现的问题是“字段太长、输入麻烦”。解决方式不是删减字段,而是提供命名生成工具:在 HyperMesh 的 Tcl 脚本中封装一个保存命令,自动读取当前项目代号、对象名、阶段与责任人,按规则拼接文件名并递增版本号。这样工程师只需选择阶段与状态,其余字段由脚本填充,既保证一致性,又降低手工输入负担。
另一个常见问题是状态字段被滥用。例如有人把 WIP 文件直接发给下游,导致对方误用未评审模型。处理办法是在团队约定中明确:只有 Release 状态的文件才允许被其他专业引用;Review 状态仅用于评审传递;WIP 文件不得离开个人工作目录。文件名中的状态字段与文件存放目录应保持一致,例如 Release 文件统一放入共享的 /release 目录,WIP 文件保留在个人目录。
最后需要强调的是,命名规范不是一次性文档,而应随项目阶段演进做小幅调整。例如在进入求解阶段后,可能需要在文件名中增加工况代号字段,如 _LC01。调整时应同步更新命名生成脚本与团队约定,并对已有文件做一次批量重命名,确保新旧文件在同一规则下可比较。只有文件名本身成为可信的追溯入口,后续的版本对比、变更评审与模型归档才有稳定的基础。