2. CATIA产品配置数据模型

在CATIA中做产品配置与系列化设计,首先要理解它的数据模型不是“一个文件装一个模型”的平面结构,而是一棵由多种对象类型分层嵌套、并通过参数与关系横向连接的多层结构。只有把产品结构、装配体、零件、特征、参数、关系、知识工程对象这七类对象的组织方式看清楚,才能判断“配置数据应该放在哪一层、由谁驱动、改一个参数会波及哪些对象”。

一、从产品结构到特征:纵向的七层组织

CATIA装配设计的顶层容器是产品结构(Product Structure),对应 .CATProduct 文档。它以树状形式组织节点,每个节点可以是一个装配体、一个零件实例,也可以是一个子产品。产品结构本身不承载几何,它承载的是“谁包含谁、谁引用谁、谁在什么位置”的装配语义。

向下第一层是装配体(Assembly)。装配体是产品结构中的一个可再分节点,内部由若干组件(Component)通过约束、定位、发布(Publication)等关系组合而成。装配体既可以作为顶层总成,也可以作为子总成被更高层引用,因此同一份装配数据可以在不同产品结构中复用。

再向下是零件(Part),对应 .CATPart 文档,是几何与特征的载体。零件通过实例化(Instance)进入装配体,同一个零件文档可以被多次实例化,形成多个实例,每个实例拥有独立的位姿,但共享同一份几何定义。这正是系列化设计中“一物多型、一型多件”的基础。

零件内部是特征(Feature)。特征是有序的建模历史:草图、凸台、凹槽、孔、倒角、阵列等,按创建顺序构成特征树。特征之间存在父子依赖,修改上游特征会重建下游特征。特征树是零件几何的“生成过程记录”,也是参数与关系最常挂接的位置。

特征之上是参数(Parameter)。参数是命名的数值、字符串或布尔量,例如 Length=120mm、Material="45钢"、IsLeft=true。参数可以属于零件、属于特征、也可以属于产品结构节点。参数是配置数据的“可变量”,是系列化设计的输入接口。

参数之间、参数与特征之间通过关系(Relation)连接。关系包括公式(Formula)、规则(Rule)、检查(Check)、设计表(Design Table)等。公式表达“参数=表达式”,规则表达“如果…则…”,检查表达“必须满足…”。关系把孤立的参数变成有约束、有逻辑的配置网络。

最上层是知识工程对象(Knowledge Object),包括知识包(Knowledge Package)、类型(Type)、行为(Behavior)、知识模板(Knowledge Template)等。知识工程对象把参数、关系、特征、装配规则封装成可复用、可实例化的“设计知识单元”,使配置逻辑不再散落在各个零件里,而是成为可管理、可继承、可发布的资产。

CATIA 产品配置数据模型:纵向层级与横向驱动 产品结构 → 装配体 → 零件 → 特征 → 参数 → 关系 → 知识工程对象 产品结构 Product Structure .CATProduct · 树状节点 · 装配语义 装配体 Assembly 组件 · 约束 · 定位 · 发布 零件 Part .CATPart · 实例化 · 一物多型 特征 Feature 草图 · 凸台 · 孔 · 阵列 · 父子依赖 参数 Parameter 数值 · 字符串 · 布尔 · 配置输入 关系 Relation 公式 · 规则 · 检查 · 设计表 知识工程对象 Knowledge Object 知识包 · 类型 · 行为 知识模板 · 可实例化设计知识 封装参数 + 关系 + 特征 + 装配规则 封装 / 实例化 配置数据落点 产品结构节点:选型、变型、有效性 装配体:子总成替换、定位规则 零件/特征:尺寸、材料、特征抑制 参数/关系:驱动值与约束逻辑 参数驱动特征 关系约束特征 配置数据在生命周期中的位置 设计阶段:参数与关系定义配置逻辑 制造阶段:产品结构决定BOM与选型 维护阶段:实例化数据支撑变型追溯 知识模板实例化 纵向:包含与实例化关系 | 横向:参数与关系驱动 | 顶层:知识工程封装复用

二、纵向是“包含与实例化”,横向是“参数与关系驱动”

把这七类对象放在一起看,会形成两个方向的组织逻辑。

纵向是包含与实例化。产品结构包含装配体,装配体包含零件实例,零件包含特征,特征引用参数。这条链决定了“改一个零件,哪些装配体会跟着变”。例如某零件文档被三个装配体实例化,修改该零件的特征,三个装配体在更新后都会反映变化;但如果只是修改某个实例的位姿,则只影响该实例,不影响零件文档本身。理解这一点,是判断配置数据应该放在零件层还是实例层的关键。

横向是参数与关系驱动。参数不直接产生几何,它通过关系作用于特征。例如一个法兰零件,BoltCount=6、BoltCircle=90mm,通过公式让阵列的实例数等于 BoltCount、阵列半径等于 BoltCircle/2。当配置切换到 BoltCount=8 时,关系重新计算,阵列特征自动重建。横向驱动让“配置”从人工改图变成参数化重算。

三、配置数据在产品生命周期中的位置

配置数据不是设计阶段的一次性产物,它贯穿产品生命周期,只是在不同阶段扮演不同角色。

在设计阶段,配置数据主要表现为参数、关系、设计表和知识模板。设计人员定义“哪些尺寸可变、可变范围是多少、变型之间满足什么规则”。这一阶段的核心产物是可配置的模型,而不是某一个具体型号的模型。

在制造与采购阶段,配置数据表现为产品结构上的选型结果和有效性。同一个产品结构,通过选择不同的子总成、不同的零件实例、不同的材料参数,生成具体型号的BOM。此时配置数据决定“造什么、买什么、装什么”。

在维护与改型阶段,配置数据表现为实例化记录和变型追溯。通过产品结构可以查到某台设备用了哪个版本的零件、哪个参数取值,从而支撑备件替换和改型设计。配置数据在这里是“历史可追溯的设计依据”。

四、一个可执行的配置数据组织示例

下面以一个“减速机输出轴组件”为例,说明配置数据如何分层放置。示例参数为教学假设值,不代表实际产品。

层级 对象 配置数据示例 作用
产品结构 减速机总成 型号 = R37 / R47 / R57 决定选用哪一级子总成
装配体 输出轴组件 轴承类型 = 深沟球 / 圆锥滚子 决定子件替换与定位规则
零件 输出轴 轴径 = 25 / 30 / 35 mm 决定零件实例的几何规格
特征 键槽 键槽宽 = 8 / 10 / 12 mm 由参数驱动,随轴径联动
参数 轴径、键槽宽 轴径 = 30mm,键槽宽 = 轴径/3 配置输入与派生值
关系 公式、规则 若轴径≥32,则键槽宽=12 约束参数取值逻辑
知识工程对象 输出轴知识模板 封装轴径、键槽、材料规则 在新项目中实例化复用

在这个示例中,如果只改产品结构层的“型号”,装配体层和零件层不会自动变化,除非已经建立了从型号到子总成、从子总成到零件参数的映射关系。因此,配置数据组织的关键不是“把参数放在哪”,而是“把驱动关系放在哪一层”。通常建议:产品结构层放选型与有效性,装配体层放替换与定位规则,零件层放尺寸与材料参数,特征层放由参数派生的几何约束,知识工程层放可复用的封装逻辑。

判断配置数据放置位置的一个实用方法:问自己“这个变化应该影响一个实例、一个零件文档,还是整个产品系列?”只影响单个实例的,放在装配体实例属性;影响同一零件所有实例的,放在零件参数;影响整个系列的,放在知识模板或设计表。
不要把配置逻辑全部堆在顶层产品结构上。顶层只应保留选型与有效性判断,具体尺寸联动应下沉到零件参数与关系。否则一旦子总成被复用,顶层逻辑无法跟随,配置就会失效。

理解这七类对象的数据组织方式,本质上是在理解CATIA配置设计的“责任分层”:产品结构管选型,装配体管组合,零件管几何,特征管生成,参数管变量,关系管逻辑,知识工程管复用。配置数据在产品生命周期中的位置,也正由这七层各自承担的角色决定。