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)等。知识工程对象把参数、关系、特征、装配规则封装成可复用、可实例化的“设计知识单元”,使配置逻辑不再散落在各个零件里,而是成为可管理、可继承、可发布的资产。
二、纵向是“包含与实例化”,横向是“参数与关系驱动”
把这七类对象放在一起看,会形成两个方向的组织逻辑。
纵向是包含与实例化。产品结构包含装配体,装配体包含零件实例,零件包含特征,特征引用参数。这条链决定了“改一个零件,哪些装配体会跟着变”。例如某零件文档被三个装配体实例化,修改该零件的特征,三个装配体在更新后都会反映变化;但如果只是修改某个实例的位姿,则只影响该实例,不影响零件文档本身。理解这一点,是判断配置数据应该放在零件层还是实例层的关键。
横向是参数与关系驱动。参数不直接产生几何,它通过关系作用于特征。例如一个法兰零件,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配置设计的“责任分层”:产品结构管选型,装配体管组合,零件管几何,特征管生成,参数管变量,关系管逻辑,知识工程管复用。配置数据在产品生命周期中的位置,也正由这七层各自承担的角色决定。