22
2026.6
作者
8
阅读量
一把麻花钻,五种系统五种写法。上篇讲了三层结构的分工,但结构之上有个更底层的问题:在定义数据之前,你得先知道你在定义什么。ISO 13399-1信息模型解决的就是这件事。

一、同一把刀,四个系统,四个对象
一把Φ10mm麻花钻进入四套系统,变成四个不同的东西。
CAD看三维实体——螺旋槽的精确几何。CAM要转速和进给——不看长什么样,看能钻多深。对刀仪盯着实测直径和跳动,单位是微米。PLM当库存物料——批次号、供应商。
四次定义,四个"直径",各自指向不同语义:建模尺寸、实测值、规格标称值、批次公差。四个数字即便恰好相等,也并不意味着是同一个东西。
四套系统本来就在描述刀具的不同部分。真正的问题是:描述开始之前,没有约定你到底在描述刃部、柄部还是整把刀。
二、四种项目类型是数据边界,不是分类标签
ISO 13399-1的答案极其简单:所有切削刀具数据,必须首先归入四种项目类型之一。
切削项目(cutting_item):刃部。唯一和工件发生切削的实体。
刀具项目(tool_item):整体。切削项目加上刀体、刀柄。
适应性项目(adaptive_item):连接件。夹头、变径套。不切削,但决定刀能不能装到机床上。
装配项目(assembly_item):记录前三者的装配关系。
看起来只是一套分类法。但核心不在这里。
这四种类型不是在给数据加标签,而是在给数据划边界。
同一个"直径",归属cutting_item时指切削直径,归属adaptive_item时指接口直径,归属tool_item时指最大外径。同一个词,落入不同边界,工程含义截然不同。
计算机不理解"语境",但理解"归属"。属性挂在哪个项目类型名下,语义就被锁定,不需要推理,不需要猜测,由数据结构严格确定。
边界之内,语义自洽。边界之间,通过assembly_item建立关联。CAM软件从数据库读到"diameter=10mm",如果这条属性归属cutting_item,答案直接可见:它是切削直径,不是柄部直径。
三、EXPRESS不是编程语言,是数据语法
四种项目类型回答了"我们在描述什么"。下一个问题:怎么把这条规则写得足够严格,让计算机自己能验证?
答案是EXPRESS。它不是编程语言——不执行任何操作。它是一套数据定义语言,只做三件事:定义实体有哪些类型、每种类型有哪些属性、类型之间是什么关系。
工程师看来像产品BOM树。但EXPRESS有一个决定性不同:机器可解析。软件能据此自动验证——cutting_item有没有漏必填属性?装配关系是否闭合?这些检查,不需要人。
于是,信息模型成了数据流水线的第一道质量关口。它检查的不是"数据值对不对",而是"数据结构合不合法",在怀疑直径数值之前,先确认这条直径是否挂在了正确的实体上。
四、为什么必须是第一层
回到贯穿全文的问题:ISO 13399为什么把信息模型放在Part 1,而不是附录或导读?
因为字典层和交换层在结构上依赖于它。
字典(Part 2-5)要定义"切削部分直径"的唯一编号。但定义之前,必须先知道"切削部分"作为独立实体存在于体系中。模型没有先把cutting_item确立为实体,字典找不到锚点——你给谁分配编号?
交换层(Part 100+)要传输"切削部分直径=10mm"。传输之前,必须先知道它归属于cutting_item还是tool_item,归属不同,接收端的解释就不同。
换句话说,信息模型不是"顺便先定义一下",它是字典和交换的底层基础设施。字典为已有实体命名,交换为已有实体传值。模型不先行,字典和交换没有语义锚点。
Part 1只有几十页,却是系列第一条。信息模型定义"参数可以存在"这件事,存在必须先于命名和传输。
记忆点
1. 四种项目类型不是分类标签,是数据边界。同一属性落入不同边界,工程含义不同。
2. 信息模型必须在第一层——字典为已有实体命名,交换为已有实体传值。模型不先行,一切没有锚点。
下篇预告:参考字典——给每个刀具特征一个身份证号。Part 1搭好数据骨架,Part 2/3/4/5要往骨架上填内容了。