相同NSM文件在不同erwin文件中命名缩写转换失效问题咨询
CA erwin 7.3 NSM命名标准文件跨工程失效原因及修复方案
核心产生原因
- 工程独立绑定机制差异:erwin 7.3的NSM规则不是全局生效配置,每个工程单独存储自身绑定的命名标准引用与规则副本。同一份NSM文件在一个工程绑定生效,不代表打开其他工程时会自动套用该规则,未完成绑定流程的工程不会触发词汇转缩写逻辑。
- 规则作用域配置偏差:正常生效的工程中,NSM规则已开启逻辑层、物理层全对象覆盖,失效工程通常存在两类配置问题:要么仅给逻辑实体/属性挂了规则,未给PDM层的表、列对象开启规则应用权限;要么工程内自定义了本地命名规则,优先级高于外部导入的NSM,直接覆盖了缩写转换逻辑。
- 导入缓存冲突:如果失效工程之前绑定过其他版本的NSM,直接覆盖导入新NSM时会出现旧缓存残留,表现为NSM文件路径显示正确,但词汇-缩写映射表实际未加载到工程配置中。
- 自动转换开关关闭:部分工程会默认关闭「逻辑模型转物理模型时自动应用命名标准」的开关,从逻辑属性生成PDM列时不会触发自动缩写替换。
失效工程中实现逻辑属性到PDM列自动转换的操作步骤
- 清理旧规则缓存
打开目标失效工程,点击顶部菜单栏路径Tools > Naming Standards > Reset Naming Standards,清空工程内留存的所有历史命名规则配置,避免缓存冲突导致新规则加载失败。 - 重新绑定NSM并配置作用域
进入Tools > Naming Standards > Attach选中本地存储的目标NSM文件完成绑定,随后进入命名标准设置面板确认以下配置:- 规则应用范围覆盖实体、属性、表、列、约束、索引全对象类型
- 转换方向勾选「逻辑名→物理名」方向,按需开启反向转换
- 将NSM缩写替换规则的优先级调至最高,取消勾选「允许对象自定义名称覆盖命名标准」选项
- 批量执行全模型转换
配置完成后点击Tools > Naming Standards > Apply Naming Standards,在弹窗中选择作用范围为整个模型,转换层级选择「逻辑模型同步到物理模型」,确认后工具会批量完成所有逻辑属性到PDM列的名称映射、词汇转缩写操作。 - 异常补处理
批量转换完成后抽样校验列名转换结果,若存在个别对象未按规则转换,选中对应对象后右键选择Apply Naming Standards to Selected单独触发规则即可。如果操作后规则仍未生效,关闭工程重新打开再执行一次批量转换,这是erwin 7.3版本的已知偶发bug。
操作前务必备份原工程文件,避免批量转换出现名称异常时无法回滚。
内容的提问来源于stack exchange,提问作者TonyRen
相关产品推荐
相关产品推荐

