PCB 协同设计

概览

本文介绍了 Altium Designer 中的 PCB CoDesign 如何通过比较 PCB 修订版本、识别差异,并引导您解决冲突或合并更改,帮助多位设计人员协同设计同一块 PCB。文章概述了使用此功能的要求、访问入口,以及如何利用 PCB CoDesign 面板审查布局、规则、层叠、约束和其他 PCB 文档更改,然后将合并后的更新保存回已连接的 Workspace。如果您希望更清楚地了解 PCB 协同编辑的实际操作方式,以及如何在保持设计可控的同时处理重叠修改,本文值得一读。请继续阅读,了解整个工作流程如何衔接。

- 了解使用 PCB CoDesign 的必要条件,包括 Workspace 连接、版本控制条件以及支持的存储库配置。
- 了解如何比较本地与远程 PCB 修订版本、检查检测到的差异,以及使用面板工具在设计空间中审查更改。
- 了解如何处理冲突与合并,包括何时保留本地更改、接受远程更新,以及将合并结果保存回 Workspace。
使用 AI 深入了解:

俗话说,众人拾柴火焰高。让多人同时设计同一块电路板,一直是电路板设计人员梦寐以求的功能。在外行看来,这项任务似乎并不复杂——只需将 Bob 在电路板某个区域完成的布线合并到我的电路板副本中即可——但要实现这一点,需要结合几项关键能力。

其中包括:

  • 一个允许多位设计人员访问同一 PCB 设计的系统,让他们能够开展工作并保存各自的更改,而不影响其他设计人员的工作。

  • 一种能够准确比较并识别同一电路板不同版本之间差异的机制。

  • 用于解决所检测差异的工具,让设计人员可以选择采用谁的更改。

  • 能够自动处理大量差异并解决这些差异,而不产生冲突的工具。

为满足这些需求,Altium Designer 提供了 PCB 协同设计功能,让您能够查看从工作区检出的电路板修订版与工作区中该电路板最新修订版之间的差异。PCB 协同设计功能可检测 PCB 文档中所存储数据的更改,包括 PCB 布局、对象属性、层叠结构、设计规则和约束。

如果检测到任何冲突,您可以选择保留本地更改或接受最新提交中的远程更改,然后进行合并,从而妥善解决设计重叠问题。

PCB 协同设计功能通过 PCB CoDesign 面板访问和操作。使用此功能要求 PCB 项目当前已纳入所连接工作区的版本控制。

在 高级设置对话框中启用 PCB.CollaborativeEditing 选项后,即可使用 PCB 协同设计功能。

  • 您必须连接到工作区才能使用此功能。

  • 请注意,仅支持托管在 Git 存储库中的项目。若要在处理托管于 SVN 存储库的项目时使用 PCB 协同设计功能,必须先将其迁移到 Git 存储库。当项目存储在外部 SVN 存储库中,并通过简单同步方式镜像到 Altium 365 工作区时,或者当项目存储在由 Enterprise Server 工作区的 版本控制服务管理的 SVN 存储库中时,您可以将该项目迁移到工作区内置的 Git 存储库。了解有关 从外部 VCS 迁移到工作区原生 VCS 和 从工作区的 SVN 迁移到工作区的 Git 的更多信息。

  • 建议使用 PCB 协同设计功能的设计人员采用相同版本的 Altium Designer。

使用 PCB CoDesign 面板底部的 Leave Feedback 控件,可直接向 Altium 开发人员发送反馈,提出仅与 PCB 协同设计功能相关的建议或问题。

比较与合并工作流程

每当 Altium Designer 检测到您的 PCB 文档已过期(即自您检出文档后,有人已将其工作保存到工作区)或处于冲突状态(即在您将自己编辑并在本地保存的文档版本保存到工作区之前,有人已将该文档保存到工作区,详情见下文)时,您需要更新到电路板的最新修订版,或执行合并,将他人的更改纳入您的电路板版本。可通过以下方式完成:

  • 单击 Projects 面板中的 VCS 状态图标,然后从显示的菜单中选择相应命令:

    • Out of date () – Compare To Remote Document Version 命令

    • Modified () – Compare To Remote Document Version 命令

    • Conflict Prevention () – Compare To Remote Document Version & Merge 命令

    • Conflict Detected () – Resolve Conflict: Compare To Remote Document Version & Merge 命令

  • 打开 PCB CoDesign 面板,然后单击 Compare、Compare To Remote Document Version 或 Compare & Merge 按钮

  • 对于处于 Modified 状态 () 的 PCB 文档,使用 Projects 面板中文档条目的 History & Version Control » Compare To右键菜单中的 Local Changes to Remote Document Version 命令,或主菜单中的 Projects » History & Version Control » Compare To 命令

  • 对于处于 Conflict Detected 状态 () 的 PCB 文档,使用 Projects 面板中文档条目的 History & Version Control » Resolve Conflict 右键菜单中的 Compare To Remote Version & Merge 命令

  • 单击设计空间底部显示的通知中的 Compare 或 Compare & Merge 按钮。

Javascript ID: PCBCoDesign_CompareMerge_AD24_7

比较完成后,检测到的差异将列在 PCB CoDesign 面板中。该列表显示 PCB 文档的基础修订版(您检出的修订版)与工作区中的最新修订版(包含其他用户所做的更改)之间检测到的差异。

比较过程中,单击弹出窗口中的 Cancel 按钮,或使用 Esc 快捷键可取消比较。

差异列表按类别分组:Rules、Components、Polygon pours、Copper 等。展开某个类别可查看该类别中的具体差异列表,即该类别中哪些对象已被添加、修改和/或删除:

  •   – 该对象已在最新修订版中添加

  •   – 该对象已在最新修订版中修改

  •   – 该对象已从最新修订版中删除

对于 Modified 类型的差异,您还可以将光标悬停在其条目上,或展开该条目,以查看修改详情。

您可以使用 Up Arrow / Down Arrow 键遍历差异列表。选中某个差异类别后,按 Spacebar 可展开/折叠该类别。

您可以从 PCB CoDesign 面板中列出的差异交叉探查到 PCB 编辑器的设计空间。

  • 单击 PCB CoDesign 面板列表中的某个类别,可在设计空间中高亮显示该类别的更改。

  • 单击 PCB CoDesign 面板列表中的某项具体更改,可在设计空间中仅高亮显示该项更改。

  • 使用 Shift+Click 和/或 Ctrl+Click 方式可在面板中选择多个条目。

通过颜色编码,您可以看出哪些对象已添加、已修改、已移除或未更改(在 PCB CoDesign 面板中选中引脚到引脚连接时,其中未更改的对象)。

比较颜色可在 视图配置面板 中配置,方法是使用该面板 Layers & Colors 选项卡的 System Colors 区域中 Not Changed / Modified Comparison Colors 和 Added / Removed Comparison Colors 条目的色块()。

单击面板顶部的  控件,可访问用于配置更改显示方式的设置。

  • 启用 Show on PCB 选项(快捷键: Ctrl+Shift+A),可在 PCB 文档设计空间中高亮显示差异。

  • 启用 Show on PCB 选项后,还可以启用 Zoom selected object 选项,以便在单击 PCB CoDesign 面板中的差异条目时,交叉探查设计空间中受影响的对象。使用滑块可调整聚焦所选对象时使用的缩放系数。

  • 为便于理解大型网络中的更改(显示在 Copper 类别中),网络中的铜对象会拆分为更小的实体——引脚到引脚连接。

    在 高级设置对话框中启用 PCB.CollaborativeEditing.Connections 选项后,即可使用此功能。

    Javascript ID: Pnl_PCBCoDesign_Pin2Pin_AD25_2
  • PCB 协同设计功能支持比较和应用对 联合体(PCB 上定义的图元分组)的更改。与联合体相关的更改显示在 PCB CoDesign 面板更改列表中的 Unions 类别中。此外,如果其他类别中的相应对象属于某个联合体,这些更改也会按联合体分组。 

  • 当双方都更改了同一对象的属性,且属性值没有冲突时,这些更改不会产生冲突,可以合并。

您还可以按住 Shift+B 快捷键,在当前状态与进行任何更改之前的状态之间切换。面板中的提示会显示当前处于哪种状态。

在  控件的弹出菜单中启用 Zoom selected object 选项后,使用 Shift+B 快捷键时,设计空间也会缩放以显示相应的更改区域。

Javascript ID: PCBCoDesign_States_24_7

单击面板底部的  按钮,可合并检测到的所有差异。此时会显示一个弹出窗口,指示合并正在进行。请注意,差异将合并到 PCB 文档的本地工作副本中;您应将其保存到工作区,以便其他设计人员访问。

更改合并后,Projects 面板中 PCB 文档的 VCS 状态将变为 Merged,并显示  图标。单击此图标可将设计保存到工作区,或撤销本地更改。

也可以在 Projects 面板中使用项目名称旁的 Save to Server 控件,或在 PCB CoDesign 面板中使用 Save to Server 按钮,将设计保存到工作区。

  • PCB 文档将保持 Merged 状态,直到出现新的冲突。在本地保存更改不会将状态更改为 Modified。

  • 当 PCB CoDesign 面板中正在显示比较结果时,如果另一位用户将项目保存到工作区,或您在本地修改了 PCB, PCB CoDesign 面板中会显示需要更新比较的通知,并提供用于刷新比较数据的按钮。

     

  • 使用 PCB CoDesign 面板中的 Save to Server 按钮,或 Projects 面板中 Merged 图标菜单中的 Save to Server 命令时,请注意:在随后出现的 Save to Server 对话框中,默认仅选中已合并的 PCB 文档以保存到工作区。处于 Merged 状态的文档在 Save to Server 对话框中始终被选中以保存到工作区,且无法取消选择。请根据需要选择要保存到工作区的其他文档。

  • 请注意,从 Git 版本控制的角度来看,Merged 状态仍表示存在冲突,只有将项目保存到工作区后,该冲突才会解决(这是 Git 处理合并冲突的方式)。

  • 成功执行合并后,面板中会出现  按钮,如有需要,可使用该按钮撤销合并结果。

解决冲突

另一种工作方式是三方比较,适用于其他人也在同一块电路板上工作的情况。设想这样一个场景:您和同事 Bob 都从工作区签出了一份电路板副本。双方各自在自己的电路板副本上进行元件布局和布线。Bob 完成了他负责的电路板区域,并将其保存回工作区。与此同时,您也在处理自己负责的电路板区域,并将更改保存在本地。这就产生了冲突,可以通过 PCB CoDesign 面板来处理。

要开始比较,可以单击 Projects 面板中的 Conflict Prevention ()或 Conflict Detected ()VCS 状态图标,然后从出现的菜单中分别选择 Compare To Remote Document Version & Merge 或 Resolve Conflict: Compare To Remote Document Version & Merge 命令;也可以单击 PCB CoDesign 面板中的 Compare & Merge 按钮。比较完成后,面板中将列出检测到的差异,检测到的冲突则列在面板底部。

您可以从 PCB CoDesign 面板中列出的冲突交叉探查至 PCB 编辑器设计空间。

  • 单击 PCB CoDesign 面板列表中的某个类别,可在设计空间中高亮显示该类别的冲突。

  • 单击 PCB CoDesign 面板列表中的某个特定冲突,可在设计空间中仅高亮显示该冲突。

  • 使用 Shift+Click 和/或 Ctrl+Click 操作方式,可在面板中选择多个条目。

对于每个检测到的冲突,或特定类别中所有检测到的冲突,您可以选择应用本地更改(Local)还是 Workspace 中最新提交的更改(Remote)。您还可以将所需设置快速应用于当前选中的所有更改条目。为此,请使用 Shift+Click 和/或 Ctrl+Click 方式选中所需条目,然后为其中一个选中的条目选择所需设置。或者,使用检测到的冲突区域顶部横幅中的下拉菜单,一次性为所有检测到的冲突选择所需模式。

  • 对于存在冲突的多边形覆铜,您还可以将两个冲突对象合并为一个多边形覆铜(Combined)。 

  • 对于存在冲突的铜对象,您可以针对每个引脚到引脚的连接,选择应用本地更改还是远程更改。

您可以使用 Up Arrow / Down Arrow 键遍历冲突列表。使用 Left Arrow/ Right Arrow 键切换所选冲突的处理模式(Combined/Local/Remote)。选中某个冲突类别后,按 Spacebar 可将其展开或折叠。

为所有冲突选择所需模式后,您便可以将更改合并到 PCB 文档的本地副本中。

  • 合并多边形覆铜并选择 Combined 或 Remote 选项时,请注意,合并后的多边形需要重新覆铜(例如,可以在设计空间中右键单击该多边形,然后从右键菜单中选择 Polygon Actions » Repour Selected)。如果在 Preferences 对话框的 PCB 编辑器 – 常规页面上启用了 Repour Polygons After Modification 选项,则多边形覆铜将在合并后自动重新覆铜。

  • 列出检测到的冲突时,将忽略以下属性:

    • 多边形覆铜的 PourIndex 属性。

    • 元件的 ChannelOffset 属性。

    • 规则的 RulePriority 属性。

AI-LocalizedAI 翻译
如您发现任何问题,请选中相关文本/图片,并按 Ctrl + Enter 键向我们提交反馈。
Contents
功能可用性

您可使用的功能取决于您所采用的 Altium 解决方案——Altium Develop、Altium Agile Teams、Altium Agile Enterprise,或 Altium Designer(在有效订阅期内)。

如果您在实际软件中未看到文档中介绍的某项功能, 请联系 Altium Sales 了解更多信息。

旧版文档

Altium Designer 文档不再提供版本区分。如果您需要访问 Altium Designer 旧版本的文档,请前往其他安装程序页面的旧版文档部分。

Contents