配置管理(CM)是行业的核心,无论是传统行业还是软件行业。尽管软件行业在这一领域进行了数十年的大规模投资,达到了一定的成熟度,配置管理(CM)不再是问题,但传统行业的某些领域仍然使用旧的配置管理(CM)实践,阻碍了其他数字变更的大规模使用,例如数字孪生。当 配置管理(CM)仍然是专家的问题并且在工业流程中没有简化时,效率低下、生产力损失和数据质量差的情况随处可见。一般来说,这意味着许多产品缺陷和客户不满意。
在本文中,我们将尝试研究执行配置管理(CM)的两种不同方法:
动态的,其中产品的配置是计算的结果(通常基于复杂的过滤);
静态配置,产品的配置受益于我们可以在 PLM 中找到的图形数据(有关更多信息,请参阅PLM 和图形数据)。
奇怪的是,这个话题在网络上并没有被广泛讨论,但它是行业在设计过程、制造阶段或售后服务阶段的绩效(和非绩效)核心,
我们将探索第一种工业配置管理,即基于产品树过滤的动态配置管理。
在零件数据管理 (PDM) 系统中,产品由树表示,树叶是零件或零件组(通常称为“设计解决方案”)。
产品树结构通常是多种灵感的成果,其中我们可以发现:
产品的功能划分(通常来自产品的系统工程视图);
产品的监管视图(例如,按照航空航天领域系统的 ATA 代码对飞机产品进行拆分);
产品的组织视图,例如在设计产品的工程办公室的各个组织(机械工程、电气工程、发动机、空调等)中映射产品;
PDM /PLM系统技术功能(有时与 CM 相关)和之前的限制之间的混合。
产品树或“产品结构”包含产品及其所有选项,有时称为“产品的 150% 视图”。当然,所有选项不会同时适用于产品的单个实例。
在这种情况下,最大的挑战是:
能够获得特定产品实例的适用部件(或适用设计解决方案)的准确列表;
能够管理某个时刻适用于产品未来实例的选项目录;
能够管理全局的变化,例如当某些部件变得过时并且必须用其他部件替换时。
此外,必须保留所制造或构建的产品的配置以供维护。这可能意味着能够为在某个时候制造和/或建造的所有产品创建维护手册和备件清单。这意味着在某些产品生命周期的某些关键时刻跟踪其单独配置。
通常,旧的 PLM系统本身不管理版本管理。当树的一片叶子发生变化时,假设它是一个设计解决方案,必须通过复制前一个版本及其内容来手动创建新版本的设计解决方案,并在名称中使用版本号对其进行命名。
举个例子:自行车产品的刹车(见图1)正在发生变化,因为刹车供应商不再生产旧刹车。在PLM系统中,我们必须保留旧的刹车版本,因为这些信息对于支持已经制造的自行车很有用。我们通过复制旧的制动器设计解决方案、重命名它并更改需要更改的内容以考虑新版本的组件来创建新的制动器设计解决方案。
从某个时间点开始,从自行车产品的某个实例开始,所有刹车都将是新版本V2。一般来说,在工业上,当旧制动器的库存空了时,我们就会从旧版本转向V1新版本,V2表明产品配置的变化可以很快对产业产生影响。
在 PLM系统中,我们最终在一个分支的底部拥有两个版本的制动器。如果产品树受到系统工程方法的启发,我们应该有一个通用的“制动器分支”,对应于“制动器功能”,有两种可能的实现:
从自行车产品的第一个实例一直到实例编号 N(我们经常谈论产品“序列号”或 S/N,以以独特的方式识别产品的实例)使用制动器V1,
制动器V2将从实例号 N+1 开始使用并用于将来(参见图 1)。

图 1:PDM 中的基本适用性
对于序列号为K的产品,制动器V1版本适用于S/N 如果K小于或等于N
从N+1 开始,制动器V2版本适用。
在 PLM 系统中,传统上,适用性附加在链接上,如图 1 所示。在这种情况下,适用性是产品 S/N 的区间:制动器V1适用于 S/N 在范围内的自行车[1, N],并且制动器V2适用到S/N在范围内的产品[N+1, 无穷大]。
定义了所有链接的适用性后,可以使用特定 S/N过滤完整的产品树,以查看适用于该 S/N 的产品。过滤后的树将对应于产品树的子集,该子集对应于序列号为 的产品中存在的特定选项K。
当然,如果我们尝试使用不存在的S/N(即将来)过滤产品树,我们可能会检索(取决于过滤机制的实现方式)所有可能适用的设计解决方案的列表现在起。在图 1 的情况下,可以肯定的是,V1对于任何高于 N的 S/N,制动器 的 不再适用。如果没有对 S/N 选项进行任何特定定义,我们可能会看到超过 100% 的产品,因为我们还没有定义该 S/N 的具体功能,并且我们可以使用此过滤器获得所有可用选项(产品目录) 。
为了维护选项目录并管理选项兼容性,我们需要将这些数据存储在某处(参见图 2)。

图 2:基本 PLM产品目录
在某些情况下,这些关键数据将在 PLM外部、Excel 或单独的 Access 数据库中维护,这将依赖于手动操作进行同步(错误和不一致的根源);有时,这些数据将保存在 PLM系统内部。
兼容性表是该产品目录的重要组成部分。他们经常实施相互依赖的重要规则。图 2 显示了一个示例:基本制动器的V2与 基本车轮的V3和 高级车轮V2兼容。
产品目录至关重要,因为它能够:
为营销和销售部门创建产品选项的愿景(以某种方式定义营销和销售与工程部门之间的通用语言);
将选项列表附加到产品的特定序列号;
确保这些选项彼此兼容。
产品目录介绍了 PLM系统内部的 S/N 愿景。从现在开始,在没有任何产品目录愿景的情况下,我们只能接受“S/N 区间”的适用性。但是,如果我们将序列号具体化并附加到一组特定的选项,我们就可以问自己在系统内部管理此信息的最佳方式是什么。
当然,如图 2 所示,组件有版本,我们必须跟踪这些版本之间的更改。变更跟踪至关重要,因为它会对行业产生影响,特别是对库存、采购、所有制造过程和维护过程。变更管理是为证明变更的合理性并掌握其影响而采取的一组必要行动。
在航空航天等一些行业中,还会对变更进行跟踪,以向当局证明飞机可以“继承”过去的认证,因为对其进行的更改只是“小”更改。如果更改很大,则需要对部分或全部机型进行重新认证。
基本上,在产品的生命周期中,所有实体都会发生变化并进行版本控制,包括各种选项的兼容性表。更改对象对于准确跟踪我们进行更改的原因很重要,在复杂的制造产品中,变更管理确保尊重变更的主要目标:修复某些内容、增强其他内容、考虑过时的影响等。
在航空航天等某些领域,这种变化被认为非常重要,因为它与飞行器的适航认证相关,整个产品是通过变化而不是通过物理组件来看到的。
为了解释这个问题,我们将情况稍微简化一下。变更是一个实体,它将描述一个或多个设计解决方案被一个或多个新设计解决方案替换。如果我们认为原始设计解决方案是“通过变更创建的”(Change 1在图 3 中创建了 Brakes V1),我们可以将产品视为“变更堆栈”。

图 3:管理变更的适用性
在图3中,我们可以看到制动器的几种状态:
Change 1创建了设计解决方案Brakes V1。
Change 2修改了Brakes V1。
在我们的示例中,这种情况通常称为“改造”。设计解决方案Modification to brakes V1必须被设想为适用于Brakes V1. 例如,当原始Brakes V1设计方案中忘记了某个部件,但由于某些原因,我们无法直接更改设计方案时,就会发生这种情况Brakes V1。
要应用此改造,和Change 1都Change 2适用,但某些产品可能仅使用Change 1,因此它们可能存在缺陷。
当然,制造和支持人员必须意识到这Modification to brakes V1不是完整的设计解决方案,而是应用于组件的先前版本(此处Brakes V1)的某种“增量”。
Change 3用一个全新的设计解决方案取代了以前的解决方案,该解决方案仅指向Brakes V2.
有趣的是,在这个模型中,如果更改适用于某个产品序列号,我们就知道设计解决方案是否适用于该产品序列号。产品不再是一组组件:它是一组“更改”。
我们将这种进行方式称为“管理配置管理方法”,管理该产品隐藏定义并确保变更过程后面其认证的管理迭代。
这种配置管理的主要后果是,仅通过对 S/N 范围进行过滤,无法从产品树中检索产品的特定 S/N:我们必须进行某种复杂的“计算”,以从将产品描述为一组更改,以查找适用于该序列号的真正设计解决方案。
我们可以注意到,这种工作方式使每个人的工作变得复杂,因为公司中的每个人都需要一个静态的 S/N 视图,至少在某个版本中是这样:
设计部门需要在一定的产品环境下进行相关修改;
制造部门需要知道 S/N 的准确配置才能构建它;
售后支持需要所有序列号的精确配置,以确保维护手册和备件清单覆盖所有制造的产品。
配置计算过程的问题在于它嵌入了业务规则。一个例子就是我们刚刚在图 3 中显示的改造情况。我们本可以决定永远不使用这种“增量”机制,而仅通过替代方法进行工作。用于找回 S/N 配置的规则集是业务规则,它们可能会随着时间而变化。
这可能会导致真正的问题,因为随着时间的变化,根本不能保证当我们重新计算过去的序列号配置时,我们会再次找到与我们交付给制造团队的配置完全相同的配置。这常常被错误地解释为 PLM系统不可靠,无法支持已交付产品的配置。
该模型在变更之间建立了“沿袭”,在大多数情况下,不会启用设计解决方案的“分叉”,如图 4 所示。

图 4:分叉设计解决方案
Brakes V3显然是 Brakes V1的分叉,因此变更应该在两者之间。但是,在标准的“面向堆栈的变更系统”中,将Change 4与 Brakes V2 的下一个迭代相关联,但事实并非如此。
这种沿袭迫使我们将产品视为一组连续的变更、一堆或一堆变更。这意味着,如果设计方案修改错误,就不可能得到过去的设计方案并从此时开始,而这正是分叉机制的意义所在。必须“撤消”您所做的所有修改才能返回到之前的状态。
撤销通常是一个手动的、成本高昂且容易出错的过程(对于来自软件行业的人来说难以置信,因为分叉是配置管理中的一项非常基本的操作)。
这种变更堆叠方法将 PDM 系统转变为我们所说的“CLM”,即变更生命周期管理,不是 PLM(产品生命周期管理)。
这句话非常重要,因为在某种程度上,基于变更堆栈的管理CM方法提出了一种与以产品为中心、变更为次要水平的PLM世界不同的方法。CLM 系统将变更放在首位,将产品放在“后面”,从而关闭了 PLM 中静态图形数据使用的大门。正如我们将在本文的其余部分中看到的那样,这种工作方式会在所有制造公司中造成问题级联。
在我们看来,基于过滤的 CM 系统(面向简单适用性或面向变化的适用性)是问题的结构性根源。而且,当调查它们的起源时,它们似乎与 90 年代 PDM 系统的局限性密切相关。
事实上,PDM 系统已演变成 PLM 系统,利用产品图数据并使 CM 的愿景更接近软件行业中的情况,我们可以将这种方法称为“100% 计算配置”或“静态配置管理”。这种工作方式是唯一能够在数字孪生级别上进行工作的方式。
事实上,如果您对产品的愿景是动态过滤计算的结果,而动态过滤计算的结果不够持久,无法创建您需要在图形数据中执行的许多链接,那么您如何处理数字产品呢?
如果我们尝试在 CM 动态的环境中实施并行工程,我们会立即面临问题。假设我们正在处理组件C1,并且该组件适用于我们的 S/N T0。在某个时间点T1,我们发现声明的配置计算C1不再适用。
首先,我们必须找到什么是适用的而不是C1(让我们假设它是C2),这可能并不容易,但如果我们是变更委员会的一部分该怎么处理?
我们可能创建了C1的一些附加数据,然后问题是如何使这些数据适用于C2。通常,我们会遇到这样的情况:我们创建了附加到C1的制造说明或支持文档。在这种情况下,我们有很多办法来处理该工程配置变更。
我们可以看到的常见解决方法是将配置保留在另一个数据库中,如图 5 所示。

图 5:使用动态 CM 解决问题
所有中间配置计算都将存储在带有时间戳的单独区域中。其他每个参与者都可以在某个稳定版本上工作一段时间,而不会受到适用性的不断变化的干扰。
然后,当版本准备就绪时,可以计算我正在处理的版本与上一个版本之间的增量。理想情况下,我们可以计算许多累积变化的单个增量(就像软件行业正在做的那样)。然后,我们可以根据累积的更改采取行动,分析对链接对象的影响并执行所需的更改。
没有动态配置的系统持久性机制的最严重后果是制造和支持必然按照设计部门的节奏工作,而它们的流程和业务对象可能需要不同的生命周期。
我们现在将探讨配置管理的第二个要点:基于持久非可变图形数据的静态配置管理。
在过去的几十年里,制造产品的愿景发生了很大变化。如果制造商被用来制造其产品的几乎所有部件,他们就会逐渐转变为装配商,将制造子系统的角色交给分包商(所谓的“供应商”)。在很多情况下,供应商不仅制造组件,而且还负责设计它们。
制造业进入了与软件业相同的约束。为了构建你的产品,你必须组装你没有制造的组件,因此你必须掌握它们与你自己的产品的兼容性。然后,您必须与供应商就“接口”达成一致。
回到我们的制动器示例,作为自行车制造商,我们从外部供应商购买制动器,该供应商将为我们公司以及其他自行车制造商提供制动器。我们必须在合同中定义自行车和制动器之间的接口。这些接口可以是机械的,但在一般情况下也可以是电气的、基于流体的等。
组件之间清晰的接口定义是组件可重用性的条件。它还使制造商能够在其特定领域进行研发活动并进行创新,从而实现一定的专业化。这也创造了一个可能意味着大型全球供应链的零部件市场。
在机器、汽车或航空航天领域,装配商必须控制他们使用的组件的配置。与软件一样,在产品的生命周期中,同一组件将有许多版本可用于批量生产。对于每个参与者,每个参与者都需要以下信息:
为了将其集成到产品树中(并且可能集成到产品 3D 模型中);
为了将其组装到产品的其他部件上;
为了长期支持它。
即使组装商主要组装非内部制造的部件,许多制造商也倾向于专用工厂,以实施相同的以部件为导向的工业战略。大型制造商与供应商面临同样的限制,如果他们想保留某些领域的专业知识,最好将这些专业知识集中在一组物理位置。
因此,现代制造的挑战是将产品作为一组组件进行管理,每个组件都有自己的生命周期,并且其中大多数或多或少由供应商掌握。
该模型有很多优点:
考虑到许多组件可以从一种模型重复使用到另一种模型,创建产品变体、产品系列、产品线或不同品牌会更容易;
组件的可重用性使得各个组件层面能够更好地创新;
工业流程分为零部件装配流程和总装流程,这意味着良好的物流性能能够将零部件运输到不同的装配线。
该模型的主要缺点是进入增量组件改进的周期,而无需重新设计任何产品。事实上,重新设计产品是一项更大的任务,可能会改变各个组件的范围。当供应链通过许多内部和外部组件进行优化时,全球创新可能会出现下降的趋势。在此背景下,新的参与者可以通过更有效的方式进入该行业。
这种工业实现的第一个结果是必须在不同级别上管理配置:
在组件级别,配置必须支持变体和选项;
在产品级别,配置必须支持哪些组件适用。
对于一些大型制造产品,例如汽车、船舶或飞机,我们可以有中间级别,即聚合较小组件的“大组件”。产品的配置成为一个多级配置管理系统。
产品树表示应具体化该组件树,如图 6 所示。

图 6:组件的层次结构
我们看到产品是由几层组件组成的。通过看图,我们可以分析各个层次:
蓝色级别是设计解决方案级别。在该示例中,这是唯一的一层用于表达产品P的详细设计。
黄色层是“小型组件”层(前缀SA)。只有SA2内部生产,所有其他小型组件均来自供应商。
紫色层是“大型装配”层(前缀BA)。BA1并且BA2由制造公司掌握,因为它们由它们的小装配组合而成,但BA3直接来自供应商。
我们可以看到,数据的组织方式意味着以下几点:
产品在组件中的划分通常来自设计的早期阶段,尤其是系统工程阶段,该阶段创建了一个能够定义各种组件及其接口的产品架构。
在尝试物理组装数字组件之前,需要经常测试它们的数字配合情况。我们可以将此过程称为“数字孪生”级别的组件数字集成。请注意,此过程可能非常复杂,因为它可能意味着在多个级别上对多个接口进行验证。
产品架构和数字集成是现代制造的核心。我们可以注意到,这两项活动几十年来一直是软件行业的核心,并且制造领域逐渐向软件行业实践靠拢,即使行业中的一些约束(在界面层面)更加复杂。
如果我们添加产品树中各个组件的版本,我们会得到图 7。

图 7:组件与版本的层次结构
该图中显示了一些组件的生命周期及其链接。
我们先来分析一下DS1。这个设计方案有很多版本。这些版本通过具有唯一 ID 的更改链接在一起(例如,Change 1a2c3标记DS2v1.0和DS2v1.1之间的链接)。
在该模式中,所选择的约定是,下部组件版本的任何更改都意味着上部组件的更改。DS2v1.1被SA2v1.18使用,DS2v2.0由SA2v12.1使用,黑色箭头表示其结构依赖性。
产品的头部P指向所有组件的所有头部(最新版本)。当然,并不是因为产品头部指向了这些组件,它们就适用于产品的每个实例。
在图的顶部,我们有一个产品实例P,其 S/N是1212分别使用BA1 v25.4和BA2 v56.6 。每个大装配体都指向其中的小装配体,而这些小装配体则指向它们所组成的设计解决方案。
首先要注意的是,不再有计算机制:S/N 1212的版本v234.3指向已完全定义的大型装配的现有版本。如果在树上的任何级别(在图 7 中,在设计解决方案级别、小型或大型装配级别)进行升级,版本管理将能够创建 S/N1212的新版本指向具体版本。
请注意,当一个版本通过链接“连接”时,它在未来永远不会改变,十年后,图表的过去部分将完全相同。
这种创建图形数据的方法是管理适用性、配置和更改的另一种更有效的方法(与过滤方法相比) 。
正如我们在文章第一部分中看到的,适用性的概念是双重的:
表明特定产品S/N正在使用特定组件;
表明,对于未来的S/N,从某个S/N开始,要使用的组件应该是某个版本中的某个组件(有时称为“有效性”)。
查看版本树,例如DS2,我们可以看到我们可以解关联 的版本DS2和 的版本SA2:当SA2仅升级一次时,DS2设计解决方案有 2 个不用于与小型程序集协作的中间版本(v1.2和v1.7)。
在图形结构模式下,可以从2个角度看出其适用性:
真实使用:某个组件在某个版本中确实使用了其他组件。使用的版本实际上适用于聚合子组件的组件。
未来适用性:它是由将来可以使用的组件集定义的。在某种程度上,这是一个开放的选择,因为所有组件的所有版本在系统中都永远可用。它还可以链接到产品目录中提供的明确功能(见下文)。
在图 7 中,如果我们假设我们可以生成的组件链接到最后一个,我们将能够使用BA1 的v25.4、BA2的v56.6和BA3的v4.12及其所有依赖关系图生成产品。
我们还可以注意到,在图 7 中,特定的“study S/N”XXX01指向位于过去(DS2的版本v1.2 study A)的设计解决方案的分支。这使得有可能回到过去可能更好的设计解决方案并从中开始。
如果动态过滤模型需要或多或少复杂的算法来找到真实的 S/N,图 7 显示 S/N(在某个版本中)是组件树的头部,该组件树定义为与适当行业相关的水平。而且,每次组件发布版本发生变化时,都可以进行影响研究,看看这种变化是否也会影响S/N。
在这种情况下,图形结构数据可以使所有版本的 S/N 配置在系统内永久受到保护。顺便说一下,我们可以在这里看到该系统可以称为“产品生命周期管理(PLM)”系统,因为它包含产品线、产品组件(无论级别)和所有序列号的完整历史记录。以某种方式,所有配置都在那里,被求解计算(因为没有更多的计算)。
事实上,所有版本的配置都在 PLM 内得到保护,这对于许多流程(尤其是并行工程流程)至关重要。让我们举个例子。
让我们假设工程部门将版本发送SA2 v12.0到制造准备阶段。有些人将研究此版本的小型装配体和DS1和DS2特定版本的装配解决方案。与此同时,工程部门DS2v2.1 。每个人都可以并行工作而不会发生任何冲突。这比我们之前看到的情况要好得多。
在图模型中,变更将标记同一组件的两个版本之间的各种链接。
更改仅限于同一组件这一事实非常重要,因为它与更改可以聚合“之前”状态(由多个组件组成)和“之后”状态(也由多个组件组成)的模型有很大不同)。这种变化不再存在,可能会被装配级别的变化所取代。装的下一个版本可以嵌入与同一装的先前版本不同的组件。
在这个模型中,改变的对象仅限于改变。
对于某个产品实例(序列号),查找其与历史记录中某个版本(例如经过认证的基线)相比的变化增量将包括聚合导致其所有子组件的所有版本的所有变化。
在图 7 中,组件SA2将版本从v11.8更改为v12.0同时跳过 DS2的两个版本。在某种程度上,更改3df59对应于更改12bb5aze1291a44ho 的并合集(因为SA2的 v11.8v12.0使用DS1的相同版本的)。
为了能够提交变更,需要SA2层级能够直接比较DS1版本v2.0和v1.1的工具,与我们在文章第一部分中看到的变更管理相反,每个组件的每个真实状态都是安全的,不需要创建技巧来重构真实的组件或设计解决方案。
在 PLM 中使用图形数据可以将更改置于产品背后并进入 PLM 世界,而不是继续在 CLM 世界中工作。
这种模式应该被视为真正的产品导向模式。该模型与过滤树模型有两个主要区别:
所有配置都在图模型中得到解决和明确;
为了获得过去产品序列号和基线之间的变化集,我们必须执行一些图形分析,比较序列号图和基线图,并收集能够从过去开始的所有变化一个到另一个。
一句话,产品第一,变革第二。具有这种管理的系统可以称为产品生命周期管理系统。
值得注意的是,这是一个“已解决的图表”,其中包含所有版本、所有组件、无论其大小、所有序列号的所有设计解决方案(或零件),创建产品目录非常容易(见图 7) 。
事实上,产品目录是:
某个时间点所有适用元素的头部,具有所需的粒度级别;
各种选项之间的兼容性和不兼容性表。
我们还可以看到,如果我们在 PLM 内部实施选择基准(适用于所有产品的主要组件集,BA1如图 7 所示)和所有选项的流程,产品实例定义可以创建序列号作为图中的新头,指向所有组件的正确版本(如图 7 所示)。在该模型中,没有计算:第一个版本中的序列号是产品目录的直接结果。制造和支持可以直接使用。
在某种程度上,我们在营销和销售、工程、制造和支持之间定义了直接且明确的联系。
许多被软件行业视为基本和标准的功能将引起不使用 PLM(或使用具有过滤配置方法的 PLM)的行业的极大兴趣。
例如,对某些组件的修改可以通过分叉一个组件(如v1.2 study A的DS2version )以在并行分支中修复它来解决。为了恢复主分支上的修复,我们将在分支中的版本和主分支的头版本之间创建合并。然后可以像在软件行业中一样使用分支。当然,必须定义一些合并策略才能适用于设计解决方案由 3D 模型、零件列表(所谓的物料清单或“BOM”)和文档组成的环境。
我们已经看到了图形结构数据提供的研究能力:在任何时候都可以制造假冒(fake)产品,其中适用于当今的特定组件被替换为:
新组件,新研究成果:对于创新或满足特定的不寻常客户需求非常有用;
假冒组件:当必须制作数字模型但没有提供产品某些区域的确切细节时非常有用(以防止竞争盗版);
旧组件:对特定的旧配置进行一些分析(我们可以在其中应用可能的改造);
我们需要创造一种我们不打算(至少一开始)生产的产品的任何其他情况。
PLM 中的完整图表代表了产品线的数字孪生,因为所有可能的产品都在产品线中。从某种意义上说,产品线的PLM是全局数字孪生,包含每个S/N,即每个产品的数字孪生。
由于 PLM 包含图形结构的数据,因此可以在我们想要的任何级别建立任何链接,因此添加与某个“节点”相关的数据的链接。
我们在本文中看到,在 PDM/PLM 系统中进行配置管理有两种方法:
基于动态过滤
基于图形结构
我们认为,第一个问题会给工程部门带来许多问题和效率低下,而在制造和支持部门则更是如此。然而,第二个是保护所有数据,使事情变得简单并支持并行工程。
从第一个到第二个的迁移是我们一直在致力于的一项复杂但非常有趣的任务(参见Madics 会议 2019)。它可以给行业带来很多价值、简单性和生产力。它还为更多的产品架构活动、更多的数字集成工作、多个版本的组件之间的更多数字增量工具打开了大门,图形结构是 PLM 系统的核心。