3DExperience:Product Modeler
从工业实际模型到持久模型Product Modeler简化版滑板是由七个组装好的实体部件组成属于三种类型:一个板子(粉色)。两个支架(灰色)。四个轮子(绿色)。在Product modeler中该滑板可表示为以下结构Reference对部件或组装部件模型的引用。Instance实例给定位置上的引用的模型该实例所在装配体的引用聚合该实例。Representation表示零件的形状和几何形状的模型。Links实例和引用之间的链接:聚合:实例总是由引用聚合(SkateBoard R与Deck I的关系)。……的实例:实例总是与引用相关联(Deck I和Deck R的关系Pointers从引用指向其表示的指针。RepresentationsRepresentations的主要任务是通过描述零件的形状和几何来表示零件。由于这些形状和几何不属于Product Modeler而是属于Part Modeler因此表示对象被分解为Product Modeler中的Representation Reference和Part Modeler中的Shape对象。这两个对象(Representation Reference和Shape)在逻辑上是不同的。虽然Representation Reference可以访问到Shape句柄(即指针)但它实际上也用聚合行为封装了形状。如果Representation Reference被删除则Shape也将被删除。Representation Reference是一个叶子对象因此在语义上不同于作为结构化对象的Reference 。要将Representation Reference集成到Instance/Reference模型中需要通过专用实例进行实例化:Representation Instance。相对于图一用Representation Instance替换了Representation该Representation Instance被Reference聚合也是聚合了形状的Representation Reference的实例化。Representation用来表示这三个(RI,RR,Shape)对象的整体。Representation Reference对象只聚合实例即要么是作为节点对象聚合来自Ref的Instance要么是作为叶子对象聚合Rep Instance。拥有一个专用的生命周期。它们可以独立于Ref进行版本控制、更改或删除。例如删除Ref时不能删除Rep Ref及其聚合的Shape。多表示。Ref可以聚合多个Rep例如实际部件的精确Rep以及用于显示和干扰检查的灯光Rep。作为多表示的一个例子轮子可以有一个精确的Rep一个不浅的Rep比如一个圆柱体表示它的边界块一个精确但浅的显示的图形数据模拟的结果或者一个绘图。注意对于Product Modeler所有Rep都是等效的。它们之间的区别由应用程序设置。因此上述滑板现在有4种类型、17个Product Modeler对象两个装配体Ref(Skateboard R和TW Asm R)以及三个零件的Rep(Deck RTruck RWheel R)。六个Instance(Deck I,Front I,Rear I, Truck I,Right I,Left I)。三个Rep Instance(Deck RI,Truck RI, Wheel RI)。三个Rep Ref(Deck RR,Truck RR,Wheel RR)。三个Shape不是Product Modeler的一部分。如果你想知道这个模型到底是怎样的需要仔细思考。例如它的轮数不是从轮的显示的Instance数推断出来的:两个轮Instance而是四个实际的轮。因为它是一个节约模型所以不能直接处理每个实际对象。你必须通过展开不同的对象来解释它沿着从根到叶对象的链接运行以计算实际对象。例如从Skateboard R到Front I, TW Asm R一直到Right I它的Rep是前右轮。因此必须对这个模型进行解释以理解真实的模型例如显示它。这在从持久模型到会话模型中进行了讨论但是在此之前应该满足另外两个组装设计需求。模型的约束和发布装配是通过将各部件相对于其他部件进行定位来实现的。这是必要的但不够的。例如轮子和支架的轴是同轴的需要同轴约束。即使移动轮子也必须与卡车轴保持同轴。可以使用Assembly Design Workbench在车轮和卡车之间设置约束确保同轴。该约束很自然地添加到产品结构图中与它约束的对象位于同一级别。在本例中约束(Cnst1)使用经过实例的路径指向支架和车轮各自形状的旋转轴然后跳转到Rep Instance、Rep Ref最后指向Shape。为了完成设计应该设置第二个约束将左轮和支架约束为同轴。从PLM Core modeler的角度来看约束是一个Connection一个更通用的对象用于在PLM Modeler内或来自不同PLM Modeler的对象之间建模链接模式。另一个经典的Connection用法是将材料与Ref关联起来。现在假设更换了支架部件的Shape例如用另一个Shape替换原有的。由Truck R聚合的RI被更改为与新创建聚合新Shape的Truck2 RR关联的Truck2 RI。前一个Instance被删除约束Cnst1现在指向一个消失的Instance:约束被破坏。程序集所有者可以手动将约束重定位到新Rep Instance和新Shape。这意味着支架部件所有者和装配体所有者(如果他们不是同一个人)要就设计更改进行沟通。此外如果支架部件被属于不同所有者的几个程序集共同使用通信过程将很困难。因此使用名为发布(Publication)的中间对象使指向机制持久存在要简单得多也更有效。使用发布Truck R设计者确保零件将始终会提供给组装设计师一个Truck的旋转轴无论Truck R的设计者对Shape进行了任何更改。发布是一种接口可以依赖于此发布设置约束。轮子也是相同的情况。约束不再只通过Instance指向Shape而是指向两个发布对象这两个发布对象组成一个稳定的契约来访问Shape内的几何元素。从PLM Core modeler的角度来看发布是一个Port是一个更通用的对象可用于对其他数据模式建模。Port的另一个经典用法是在logic modeler或functional modeler中连接两个系统。Instance/Reference模型PLM Core modeler由六种类型的对象组成Reference.InstanceRepresentation ReferenceRepresentation InstanceConnecitonPort从这六个对象构建的任何modeler都是Instance/Reference模型比如Product Modeler但也包括Process, Logical, and Functional modelers。Instance/Reference模型是永久的模型即使这个示例与工业程序集相比很简单(仅具有三个Instance/Reference级别)也能表示要处理的对象以及在设计、浏览或扫描程序集时要处理的机制。这样的程序集是在客户机会话期间创建和设计的并保存在数据库中。程序集保存为Vault服务器中的Instance/Reference模型而Shape及其几何图形则在Store server中进行流处理。从持久模型到会话模型如果Instance/Reference模型综合地表示一个程序集并有效地将其保存在数据库中则此模型不符合会话需求。下图显示了CATIA 3D编辑器窗口中的滑板。滑板显示为三维模型和树结构通常称为规范树。这是会话中同一模型的两个视图。在3D视图中可以看到滑板有四个轮子如果只查看Instance/Reference模型而不解释就是两个轮子。因此这个3D视图不是Instance/Reference模型的粗略视图。它构建在一个名为Occurrence Model的模型之上该模型是由Instance/Reference模型创建的。Occurrence Model不是持久性的没有保存在数据库中。每当从数据库中读取Instance/Reference模型并将其加载到会话中时就会重新构建该模型。这两个模型都驻留在会话内存中可以交互访问也可以通过编程访问。Occurrence ModelOccurrence Model是根据数据库中加载到会话的Instance/Reference模型创建的。下图显示了如何创建。创建Occurrence Model通过沿着从根对象到叶对象的所有可能路径运行来扩展或展开Instance/Reference模型。彩色线条显示了这些路径。Step 0为根Ref创建Occurrence。Step 1沿着蓝色路径运行从根到Deck I、Deck R、Deck RI一直到Deck RR及其尖部创建Deck Occurrence。Step 2沿着黄色路径运行从根通过Front I到TW Asm R创建Front TW Asm Occurrence。然后从TW Asm R通过Truck I, Truck R, Truck RI到达Truck RR及其尖部生成Front Truck Occurrence。Step 3沿着红色路径运行从根通过Front I到TW Asm R和Step2中一样创建Front TW Asm Occurrence。然后从TW Asm R到Right IWheel RWheel RI直到Wheel RR及其尖部创建 Front Right Wheel Occurrence。沿着绿色路径运行从根通过Front I到TW Asm R和Step2中一样创建Front TW Asm Occurrence。然后从TW Asm R到Left IWheel RWheel RI直到Wheel RR及其尖部创建 Front Left Wheel Occurrence。依此类推直到运行通过所有叶子引用实例的所有可能路径。将为沿着这些路径遇到的每个Instance创建一个Occurrence。这就是为什么Occurrence也被称为Instance路径从根开始从一个Instance跳到另一个Instance。例如Front Left Wheel Occurrence 是通过从根节点跳转到Truck Wheel Assembly Front Instance和wheel Left Instance来构建的。Occurrence模型不使用Rep Ref、Rep Instance、Connection和Port对象。它不包括Rep及其零件模型。一个不同的模型Occurrence模型实现了和Instance/Reference模型一样的接口也实现了它自己特有的接口。一个在会话中创建的模型与Instance/Reference模型相反Occurrence模型的创建不是自动的。当您通过CAA API在批处理会话中加载根产品时需要你自己Occurrence事件模型生成。使用CATIPrdOccurrenceMngt接口的GetOrCreateRootOccurrence方法来实现。交互模式下在编辑根产品时自动创建Occurrence模型。框架编辑器调用它自己的Occurrence模型生成。Instance/Reference模型的展开视图Occurrence模型表示Instance/Reference模型的展开视图。Occurrence模型的UML模式如下:一个Occurrence能够集合0个或者N个Occurrence。当它是根Occurrence时Occurrence表示Ref(在Instance/Reference模型中)其他情况下表示Instance(在Instance/Reference模型中)。一个例子您可以观察到这个结构不包含Representation。Occurrence模型只表示PLM Product Instance/Reference。一个上下文相关的结果Occurrence模型是上下文相关的原因有两个:它的根Reference应用于展开视图的过滤器。同一个Instance/Reference模型的两个配置意味着两个Occurrence模型。(未实现)创建Occurrence模型时必须指定两个上下文。为什么是Occurrence模型创建Occurrence模型以简化Occurrence发生时可用的操作的管理更改图形属性。在滑板上你可以想象左后轮是红色的右后轮是绿色的这种变化是可能的但不会持久。改变位置矩阵当这两个操作有效时更改Occurrence模型将更改 Instance/Reference模型。 Instance/Reference模型总是最新的并且表示要保存的模型的“引用”。此Occurrence从未保存在数据库中。下表是Instance/Reference模型对象的接口以及用途。InterfacesProduct’s Type ClassMeaningCATIPLMComponentallT retrieve general information about the PLM Object (identifier, PLM class type)CATICkeObjectallHandling PLM Attributes (Get/Set)CATIAliasallNLS name of the PLM objectCATIPLMNavReferenceProduct referenceNavigation purposeCATIPLMNavInstanceProduct instanceNavigation purposeCATIPLMNavRepReferenceProduct rep referenceNavigation purpose applicative container managementCATIPLMNavRepInstanceProduct rep instanceNavigation purposeCATIPLMProductsProduct reference (*)Authoring apisCATIPrdAggregatedRepresentationsProduct referenceAuthoring apisCATIPLMRepInstancesProduct referenceAuthoring apisCATIPrdObjectall except connectionCATIMovableProduct instance (*)CATIVisPropertiesallCATIPLMNavOccurrencenothing(except temporary the product references)(*)表示其他一些产品对象实现了接口但不能考虑其他实现。例如CATIPLMProducts是由Product Instance和Product Reference实现的但是Product Instance上的实现在时间上没有保证。下表是一些对Occurrence模型对象有意义的接口。InterfacesMeaningCATIPLMNavOccurrenceNavigation purposeCATIMovableChange the occurrence positionCATIVisPropertiesChange the occurrence graphical propertiesCATICkeObjectYes, using CATCkeObjectAttrReadServices or CATCkeObjectAttrWriteServices you can get or modify PLM attributes associated with the instance/reference modelCATIAliasNLS name of the occurrenceCATIPLMProductsDo not use itCATIPLMRepInstancesDo not use itCATIPrdObjectDo not use itCATIPLMComponentNot ImplementedCATIPLMNavReferenceNot ImplementedCATIPLMNavInstanceNot ImplementedCATIPLMNavRepReferenceNot ImplementedCATIPLMNavRepInstanceNot ImplementedCATIPrdAggregatedRepresentationsNot Implemented规范树和3D模型上面说到Occurrence模型不包Rep对象及其部分那么哪些对象构成了3D模型呢规范树可以解释。将Occurrence Model和规范树并排放置可以看出使用Occurrence Model对象很好地构建了规范树但不仅仅是- 带有图标和是Occurrences。- 带有图标的是Rep Instance连接到Shap以及他们的几何体。PS这是V6 2012及其以前的图标在此之后的图标发生变化需要参考新的图标。同样Connection和Port是规范树中看到的其他Instance/Reference模型对象但这里没有显示。PS看了文档再写下来比和直接看文档费时多了。看来以后还是要少写。

相关新闻

互联网架构演进之路

互联网架构演进之路

互联网架构演进之路 搜狐技术产品 公众号「搜狐技术产品」,让你更懂产品技术 4 人赞同了该文章 作者 | 风之谷本文旨在介绍大型互联网架构的演进过程,针对每种架构将简单介绍其原理以及特点。 互联网产品常常面临庞大的用户量,日均数十亿P…

2026/10/10 1:46:00 阅读更多 →
JAVA练习364- H 指数

JAVA练习364- H 指数

题目概览 给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。 根据维基百科上 h 指数的定义:h 代表“高引用次数” ,一名科研人员的 h 指数 是指他(她&#x…

2026/10/13 2:35:44 阅读更多 →
Zookeeper Watcher——数据变更的通知

Zookeeper Watcher——数据变更的通知

ZooKeeper提供了分布式数据的发布订阅功能。一个典型的发布订阅模型系统定义了一种一对多的订阅关系,能够让多个订阅者同时监听某个主题对象,当这个主题对象自身状态变化时,会通知所有订阅者,使它们能够做出相应的处理。在 ZooKeeper中,引入了 Watcher机制来实现这种分布式的通…

2026/10/2 16:56:25 阅读更多 →

最新新闻

Trae实测:从对话生成到Agent执行,AI编程工具如何改变开发流程

Trae实测:从对话生成到Agent执行,AI编程工具如何改变开发流程

最近AI Coding已经热到不需要再解释背景了。从最早的代码补全,到能直接对话生成整段功能,再到现在的Agent式“你提需求、它动手改代码”,这一波工具迭代的速度,确实让很多开发者的日常工作方式都变了。我陆陆续续试过不少同类产品…

2026/10/13 2:35:32 阅读更多 →
Maven settings.xml 配置详解:镜像、私服与 profile 实战

Maven settings.xml 配置详解:镜像、私服与 profile 实战

简介:一份面向Java开发者的Maven全局配置速查与理解资源,定位于帮助解决依赖下载缓慢、仓库路径混乱、多环境构建不一致等常见问题,适合刚接触Maven或需要系统梳理settings.xml的开发者。资源为单个xml配置文件,压缩包仅2KB&#…

2026/10/13 2:35:32 阅读更多 →
.NET Core接口加密实战:RSA+AES-GCM混合加密方案

.NET Core接口加密实战:RSA+AES-GCM混合加密方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 2:35:32 阅读更多 →
从 Lodash 迁移到 Remeda:sample 随机采样的等价替换与原生实现

从 Lodash 迁移到 Remeda:sample 随机采样的等价替换与原生实现

开发工具 【免费下载链接】remeda A utility library for JavaScript and TypeScript. 项目地址: https://gitcode.com/gh_mirrors/re/remeda 点击查看 免费下载 本文以 Remeda 官方迁移映射文档 packages/docs/src/content/mapping/lodash/sample.md 为核心骨架&a…

2026/10/13 2:35:32 阅读更多 →
SpringBoot集成Smart-Socket实现云快充TCP长连接实战

SpringBoot集成Smart-Socket实现云快充TCP长连接实战

简介:本资源是一套基于SpringBoot与Smart-Socket实现云快充协议的充电桩对接源代码,面向Java后端开发者及智慧能源平台建设者,解决城市级充电平台中与硬件设备(充电桩)高效、标准化通信的技术难点。项目聚焦底层Socket…

2026/10/13 2:35:32 阅读更多 →
SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0学生信息管理系统实战

SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0学生信息管理系统实战

接手过一个学生信息管理系统的小项目,技术栈正好是SpringBoot2 Vue3 MyBatis-Plus MySQL8.0,标题里这套组合一眼看去很常见,但真正从零落地的时候,细节远比想象中多。当初团队里有人建议用老掉牙的JSP那套,也有人建…

2026/10/13 2:34:32 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →