今天,我们来深入探讨制造规划领域中CAA二次开发的核心内容——PPR(Product Process Resource)上下文模型及其API应用。
一、为什么关注PPR上下文模型?
在制造业数字化转型浪潮中,制造规划(Manufacturing Planning)是连接产品设计与实际生产的桥梁。在3DEXPERIENCE平台中,PPR上下文是制造规划的核心模型,它将产品、工艺、资源三者有机连接。
二、PPR上下文模型详解
PPR Context是通过一个带有专用扩展的产品来建模的,它可以链接到:
-
0到N个根设计产品结构
-
0到N个根制造项结构
-
0到N个根工作计划&制造操作结构
-
0到N个"区域"能力资源结构
PPRContext (IProduct)
关键点:
-
PPR Context与设计产品结构的链接称为"instance-reference"链接
-
与制造项结构和工作计划结构的链接使用PLM连接
-
不能通过CAA API直接获取后两者链接,但可通过范围链接导航获取
✅ 重要认知:PPR Context 本身是一个 Product,但它不是设计产品,而是一个制造上下文容器。
✅ 最佳实践:不要尝试遍历"根区域"结构中的能力资源,因为这些引用可以通过Header Operations引用使用CAA API获取。
✅Tip:如何判断一个Product是否是PPR Context?
CATBoolean IsPPRContext(IProduct* ipProduct)
三、核心接口详解
- DELIPPRResourceAuth —— 资源操作权威接口
| 方法 | 功能 | 注意事项 |
| CreateResource(CATUnicodeString iName, CATUnicodeString iType) | 创建资源实例 | iType 必须是系统预定义类型(如 “Machine”, “Tool”) |
| AssignOperation(IResource* iResource, IManufacturingOperation* iOp) | 将操作分配给资源 | 资源必须处于同一 PPR Context 下 |
| CreateScope(ISystem* iSystem, IResource* iResource) | 建立系统与资源的范围链接 | ISystem 通常来自 Header Operation |
⚠️ 陷阱:CreateResource 不会自动将资源加入 PPR Context 的结构树!需手动通过 IProduct::AddOccurrence() 添加(如果需要可视化)。
- DELIPPRResourceNav —— 资源导航接口
// 获取资源所在位置(通常是设备或工位)
🔍 应用场景:在生成工艺卡时,自动列出某操作所需的全部资源(主设备 + 辅助工具)。
四、关键操作详解
- 创建资源(Creating a Resource)
// 使用DELIPPRResourceAuth::CreateResource() API创建资源
- 将操作分配给资源实例(Assigning an Operation to a Resource Occurrence)
// 使用DELIPPRResourceAuth::AssignOperation()分配操作
- 资源导航API(Resource Navigation APIs)
// 获取资源所在位置
- 系统与资源引用之间的范围链接(Scope Link)
// 创建范围链接
五、实战建议
对于刚开始接触CAA二次开发的工程师,建议按照以下步骤进行:
-
熟悉PPR Context模型:理解PPR Context与各种结构的关系
-
从简单API开始:先实现创建资源、分配操作等基础
-
功能逐步扩展:在熟悉基础后,尝试处理更复杂的范围链接和导航
-
利用示例:深入研究示例代码
-
文档先行:仔细阅读CAA官方文档,了解每个API的详细用法
六、总结
PPR Context是制造规划模块的核心,理解其结构和API使用是CAA二次开发的关键。通过本文的深入解析,相信你已经对PPR Context有了清晰的认识,也掌握了几个关键API的使用方法。
评论