PCB CoDesign
ことわざにもあるように、「三人寄れば文殊の知恵」です。基板設計者が長年抱いてきた夢のひとつは、複数人が同じ基板を同時に作業できるようにすることです。この作業は、門外漢にはそれほど複雑に見えないかもしれません――「基板のあの部分のBobの配線を取り込んで、自分の基板コピーに反映する」といった具合です。しかし、それを実現するには、いくつかの重要な機能を組み合わせて提供する必要があります。
これらには次のものが含まれます。
-
複数の設計者が同じPCB設計にアクセスでき、他の設計者の作業に影響を与えることなく各自の変更を加えて保存できるシステム。
-
同一基板のバージョン間の差分を正確に比較し、相違点を特定できる仕組み。
-
検出された差分を解決し、どちらの変更を採用するかを設計者が選べるツール。
-
多数の差分を自動的に処理し、競合を発生させずに解決できるツール。
これらの課題を解決するために、Altium Designer には PCB CoDesign 機能が用意されており、Workspace からチェックアウトした基板リビジョンと、同じ基板の Workspace 上の最新リビジョンとの差分を確認できます。PCB CoDesign 機能は、PCBドキュメントに保存されているデータの変更(PCBレイアウト、オブジェクトプロパティ、レイヤースタック、デザインルール、制約)を検出できます。
競合が検出された場合は、ローカルの変更を保持するか、最新コミットのリモート変更を受け入れるかを選択し、そのうえでマージして、設計の重なりを確実に解消できます。
PCB CoDesign 機能は PCB CoDesign パネルからアクセスして操作します。使用するには、PCBプロジェクトが接続された Workspace のバージョン管理下にある必要があります。
比較とマージのワークフロー
Altium Designer が、PCBドキュメントが最新ではない(つまり、あなたがドキュメントをチェックアウトして以降に誰かが Workspace に作業を保存した)状態、または競合状態(つまり、あなたがそのドキュメントの編集・保存済みバージョンを保存する前に、誰かがそのドキュメントを Workspace に保存した状態、see details below)であることを検出した場合、基板の最新リビジョンへ更新するか、マージして相手の変更を自分の基板バージョンに取り込む必要があります。これは次の方法で実行できます。
-
Projects パネルの VCS ステータスアイコンをクリックし、表示されるメニューから該当コマンドを選択します。
-
Out of date – Compare To Remote Document Version command
-
Modified – Compare To Remote Document Version command
-
Conflict Prevention – Compare To Remote Document Version & Merge command
-
Conflict Detected – Resolve Conflict: Compare To Remote Document Version & Merge command
-
-
PCB CoDesign パネルを開き、Compare、Compare To Remote Document Version、または Compare & Merge ボタンをクリックします。
-
PCBドキュメントが Modified 状態(
)の場合は、Projects パネルのドキュメント項目の History & Version Control » Compare To 右クリックメニューから Local Changes to Remote Document Version コマンドを使用するか、メインメニューの Projects » History & Version Control » Compare To command を使用します。
-
PCBドキュメントが Conflict Detected 状態(
)の場合は、Projects パネルのドキュメント項目の History & Version Control » Resolve Conflict 右クリックメニューから Compare To Remote Version & Merge コマンドを使用します。
-
設計スペース下部に表示される通知内の Compare または Compare & Merge ボタンをクリックします。
比較が完了すると、検出された差分が PCB CoDesign パネルに一覧表示されます。この一覧には、PCBドキュメントのベースリビジョン(チェックアウトしたリビジョン)と、Workspace 上の最新リビジョン(別ユーザーが行った変更を含む)との間で検出された差分が表示されます。
差分一覧はカテゴリ(Rules、Components、Polygon pours、Copper など)ごとにグループ化されています。カテゴリを展開すると、そのカテゴリにおける具体的な差分、つまりどのオブジェクトが追加・変更・削除されたかを確認できます。
-
– オブジェクトが最新リビジョンで追加された
-
– オブジェクトが最新リビジョンで変更された
-
– オブジェクトが最新リビジョンから削除された
Modified タイプの差分については、項目にカーソルを合わせるか展開することで、変更内容の詳細も確認できます。
Up Arrow / Down Arrow キーを使用して差分一覧を移動できます。差分カテゴリが選択されている場合は、Spacebar を押して展開/折りたたみできます。
PCB CoDesign パネルに一覧表示された差分から、PCBエディタの設計スペースへクロスプローブできます。
-
PCB CoDesign パネルの一覧でカテゴリをクリックすると、設計スペース内でそのカテゴリの変更がハイライト表示されます。
-
PCB CoDesign パネルの一覧で特定の変更をクリックすると、設計スペース内でその変更のみがハイライト表示されます。
-
Shift+Clickおよび/またはCtrl+Clickの操作で、パネル内の複数項目を選択できます。
色分けにより、追加・変更・削除・未変更(PCB CoDesign パネルで選択した際のピン間接続における未変更オブジェクト)を判別できます。
パネル上部の
コントロールをクリックして開く設定から、変更表示の方法を構成します。
-
Show on PCB オプション(ショートカット:
Ctrl+Shift+A)を有効にすると、PCBドキュメントの設計スペースで差分がハイライト表示されます。 -
Show on PCB オプションが有効な場合、さらに Zoom selected object オプションを有効にすると、PCB CoDesign パネルで差分項目をクリックした際に、設計スペース内の該当オブジェクトへクロスプローブできます。スライダーで、選択オブジェクトへ寄る際のズーム倍率を調整します。
また、Shift+B キーボードショートカットを押し続けることで、現在の状態と変更前の状態を切り替えることもできます。パネル内のヒントには、現在どちらの状態がアクティブかが表示されます。
パネル下部の
ボタンをクリックして、検出されたすべての差分をマージします。マージ処理中であることを示すポップアップが表示されます。差分はPCBドキュメントのローカル作業コピーにマージされ、他の設計者が利用できるようにするには、Workspaceに保存する必要がある点に注意してください。
変更がマージされると、Projects パネル内のPCBドキュメントのVCSステータスはMergedに変更され、
アイコンが表示されます。アイコンをクリックして、設計をWorkspaceに保存するか、ローカル変更を取り消します。
設計は、プロジェクト名の横にあるSave to Server コントロールを使用してProjects パネルからWorkspaceに保存することも、PCB CoDesign パネルでSave to Server ボタンを使用して保存することもできます。
競合解決
別の作業方法として3-way比較があります。これは、他の誰かもボードで作業している場合に使用します。あなたと同僚のBobが、Workspaceからボードのコピーをチェックアウトするシナリオを想像してください。2人ともそれぞれのボードコピーで作業し、部品配置や配線を行います。Bobは担当エリアの作業を終えてWorkspaceに保存します。同時に、あなたも担当エリアで作業し、変更をローカルに保存します。これにより競合が発生し、PCB CoDesign パネルで対処できます。
比較を開始するには、Projects パネルのVCSステータスアイコンConflict Prevention (
)またはConflict Detected (
)をクリックし、表示されるメニューからそれぞれ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 の操作で必要なエントリを選択し、選択内のいずれかのエントリに対して希望する設定を選びます。あるいは、検出された競合領域の上部にあるバナー領域のドロップダウンを使用して、検出されたすべての競合に対するモードを一括で選択します。
Up Arrow / Down Arrow キーで競合リストを移動できます。Left Arrow/ Right Arrow キーで、選択した競合のモード(Combined/Local/Remote)を切り替えます。競合カテゴリが選択されている場合は、Spacebar を押して展開/折りたたみを行います。
すべての競合に対して希望するモードを選択したら、変更をPCBドキュメントのローカルコピーにマージできます。







)の System Colors 領域にある Not Changed / Modified Comparison Colors および Added / Removed Comparison Colors 項目のカラースウォッチを使用します。

