Altium NEXUS で回路図およびPCB上のクラスを操作する

This documentation page references Altium NEXUS/NEXUS Client (part of the deployed NEXUS solution), which has been discontinued. All your PCB design, data management and collaboration needs can now be delivered by Altium Designer and a connected Altium 365 Workspace. Check out the FAQs page for more information.

 

Parent page: 回路図とPCB間の設計変更の管理

クラスは、さまざまなコマンドがオブジェクトタイプのサブセット(例:部品のグループやネットのグループ)に対して動作できるように提供されています。1つのオブジェクトは複数のクラスに属することができます。

クラスは以下のために作成できます:

  • ネット
  • 部品
  • レイヤー
  • パッド
  • フロム・トゥ
  • ディファレンシャルペア
  • デザインチャネル
  • ポリゴン
  • xSignal

また、Structure Classesも作成できます。ストラクチャクラスは、任意のタイプのクラスをメンバーとして持つことができる特別なクラスです。

回路図からのクラスの生成と同期

回路図からPCBへ設計を転送する際、Altium NEXUSは部品クラスおよびネットクラスの生成をサポートしています。回路図から生成され、PCBと同期されるクラスには2種類あります:

  • 自動クラス - バス/ハーネス、部品、またはシート内容から派生;および
  • ユーザー定義クラス - 設計者が配置したデザインディレクティブから派生。

これらの生成はOptions for Project ダイアログのClass Generationタブで設定します(同期はComparatorタブのオプションで制御されます)。

必要な自動生成クラスの設定や、設計同期時にユーザー定義クラスを作成するかどうかは、Class Generationタブのオプションで設定します。
必要な自動生成クラスの設定や、設計同期時にユーザー定義クラスを作成するかどうかは、Class Generationタブのオプションで設定します。

自動生成されるネットクラス

ネットクラスは、以下のネットグループに対して自動生成できます:

  • Generate Net Classes for Buses - このオプションを有効にすると、設計内の各バスごとにネットクラスが自動生成されます。クラスのメンバーは、そのバス(クラスが生成された元のバス)を構成する個々のネットになります。

    生成されたネットクラスは、バスの名前を使用して命名されます。
  • Generate Net Classes for Components - このオプションを有効にすると、設計内の各部品ごとにネットクラスが自動生成されます。クラスのメンバーは、その部品(クラスが生成された元の部品)のピンが接続されている関連ネットになります。

    生成されたネットクラスは、<ComponentDesignator>_Netsの形式で部品のデジグネータを使用して命名されます。
  • Generate Separate Net Classes for Bus Sections - このオプションを有効にすると、各バスセクションごとに個別のネットクラスが自動生成されます。バスセクションは、より大きなバスの一部として指定されたバス(例:D[15..8]、元のバスD[15..0]から)によって作成されます。
  • Generate Net Classes for Named Signal Harnesses - このオプションを有効にすると、設計内の各名前付きシグナルハーネスごとにネットクラスが自動生成されます。クラスのメンバーは、その名前付きシグナルハーネス(クラスが生成された元のハーネス)によって集められた信号に関連付けられたネットになります。

    名前付きシグナルハーネスとは、ネットラベルが付与されたハーネスのことです。生成されたネットクラスは、シグナルハーネスに付与されたネットラベルの名前を使用して命名されます。
  • Sheet-Level Class Generation Grid - この領域では、個々の回路図シートレベルで部品クラスおよび/またはネットクラスの自動生成を制御できます。プロジェクトのすべてのソース回路図シートが、以下の情報とともにリストされます:
    • Sheet Name - 回路図ドキュメントの名前。

    • Full Path - ドキュメントが存在するフォルダへの絶対パス。

    • Component Classes - このオプションを有効にすると、シート用の部品クラスが生成されます。

    • Net Classes Scope - このフィールドで、シート用のネットクラスを生成するかどうか、また生成範囲を決定します。ドロップダウンには以下の選択肢があります:

      • None - このシート用のネットクラスを生成しない。
      • Local Nets Only - このシート用のネットクラスを生成するが、メンバーネットはシート内のローカルネットのみ。
      • All Nets - このシート用のネットクラスを生成し、シートに関連するすべてのメンバーネット(ローカルおよび他の場所に接続されるものも含む)を含める。

       

    • Structure Classes Generate Structure - このオプションを有効にすると、シート用のストラクチャクラスが生成されます。

    部品クラス生成の有効/無効や、ネットクラス生成範囲の一括設定は、カラムの右クリックコンテキストメニューから行えます。複数のシートエントリは標準の複数選択操作(Ctrl+click, Shift+click, click&drag)で選択できます。
    トップシート上の部品やネットの場合、それぞれの部品クラスやネットクラスは回路図ドキュメント名で命名されます。子シート上の部品やネットの場合、それぞれのクラスはシートシンボルのデジグネータで命名されます。
この領域の下部に表示されるテキストは、選択内容に応じて動的に変化し、自動生成されるクラスの概要を示します。

自動生成される部品クラス

回路図プロジェクトは複数のシートに分割されていることが一般的で、各シートが全体設計の論理ブロックを表します。これをサポートするため、各回路図シートごとに、そのシート上のすべての部品を含む部品クラスを自動生成できます。該当するComponent Classチェックボックスを有効にしてください。PCB部品クラスは、その回路図シートを参照するシートシンボルのデジグネータと同じ名前になります。シートに部品が含まれていない場合は、部品クラスは作成されません。

自動生成されるルーム

ルームは、部品配置を補助する多角形状のオブジェクトで、Generate Roomsチェックボックスが有効な各回路図シートごとに自動的に作成されます。

ルームの詳細については、PCB上でのルームの操作ページをご参照ください。

自動生成されるストラクチャクラス

ストラクチャクラスは、ネットクラス、部品クラス、下位階層のストラクチャクラスをメンバーとして含めることができます。オプションが有効な各シートごとにストラクチャクラスが作成され、そのシートで有効な場合はシートレベルの部品クラスやネットクラスも含まれます。PCBエディタでストラクチャクラスを編集し、他のネット/部品/ストラクチャクラスを追加できます。StructureモードのPCBパネルを使用して、そのストラクチャクラス内の部品やネットを検索できます。

ユーザー定義クラスの作成

また、該当する部品やネットにパラメータを付与することで、ユーザー定義の部品クラスやネットクラスを作成することもできます。PCB部品クラスやネットクラスは、User-Defined ClassesチェックボックスがOptions for Project ダイアログのClass Generationタブで有効になっている場合に作成されます。

ユーザー定義ネットクラス

オブジェクトページ: パラメータセット

ネット(またはバスやシグナルハーネス内のネット)をPCBネットクラスに追加するには、そのネット/バス/ハーネスにパラメータを付与する必要があります。これは、パラメータセットオブジェクトをネット/バス/ハーネスに接触させて配置することで行います(下図参照、Place » Directives » Parameter Setコマンド)。

パネルの「クラス」セクションで、ネットクラスの名前を入力します(下図参照)。

異なる場所に複数のパラメータセットオブジェクトを配置することで、複数の個別ネットを同じPCBネットクラスに追加できます。

ネットをPCBネットクラスに追加するには、回路図ネットにパラメータセットオブジェクトを付与し、そのパラメータセットオブジェクトにクラス定義を追加します。
ネットをPCBネットクラスに追加するには、回路図ネットにパラメータセットオブジェクトを付与し、そのパラメータセットオブジェクトにクラス定義を追加します。

ユーザー定義部品クラス

回路図上で、回路図とPCBの同期時に部品をPCB部品クラスに追加するよう指定できます。

それを行うには、コンポーネントにパラメータを追加し、パラメータNameの文字列をClassNameに設定し、パラメータValueの文字列を必要な値に設定します。

複数のネットにディレクティブを適用するためのブランケットの使用

オブジェクトページ: ブランケット

また、ブランケットディレクティブを配置して、複数のネットをまとめてPCBネットクラスに追加することもできます。ブランケットの機能は、そのブランケットの下にあるすべてのネット(ネットラベルやパワーポートなどのネット識別子で特定されるもの、またはブランケット内に終端頂点を持つネット)にディレクティブを適用できるようにすることです。

パラメータセットディレクティブをワイヤに接触させて配置する代わりに、下図のようにブランケットの端に接触させて配置します。パラメータセットオブジェクトの表示名ではなく、パラメータセット内のパラメータの値がPCBネットクラス名を定義する点に注意してください。下の例の画像では、パラメータセットは配線幅設計ルールの定義にも使用されています。

ブランケットディレクティブを使って、その下にあるすべてのネットを「Power」というPCBネットクラスにまとめています。パラメータセットオブジェクト名は命名には使用されず、あくまで視覚的な参照用です。
ブランケットディレクティブを使って、その下にあるすべてのネットを「Power」というPCBネットクラスにまとめています。パラメータセットオブジェクト名は命名には使用されず、あくまで視覚的な参照用です。

PCBでのクラスの操作

現在のPCBドキュメントのオブジェクトクラスは、Object Class Explorerダイアログを使って閲覧・管理することもできます。

 Object Class Explorerダイアログ
 Object Class Explorerダイアログ

作成したいクラスのクラス種別をクリックし、右クリックしてAdd Classを選択します。新しいクラスがデフォルト名New Classでリストに表示されます。クラス名をクリックして編集し、メンバーを追加できます。クラス名を右クリックしてRename Classを選択すると名前を変更できます。

選択したオブジェクト用の転送ボタンが用意されています。多くの場合、まずデザイン空間でオブジェクトを選択し、これらの転送選択ボタンを使ってクラスを構築する方が簡単です。事前にFind Similar Objectsダイアログ、PCBパネル、リストパネルなどで選択を作成している場合は、下図のボタンが利用可能です。このボタンを押すと、選択が非メンバー列からメンバー列に移動します。

コンポーネントクラスジェネレーター

Edit Component ClassダイアログにはClass Generatorボタンがあり、クリックするとComponent Class Generatorダイアログが表示されます。これにより、選択したプロパティに基づいてコンポーネントを含むコンポーネントクラスを素早く作成できます。

ストラクチャクラスの操作

Altium NEXUSは、回路図からPCBへの設計転送時にクラス(コンポーネントクラスおよびネットクラス)の生成を高品質かつ堅牢にサポートしてきました。このサポートはさらに進化し、PCBドキュメント内で階層構造のクラス生成を定義できるようになりました。基本的に、シートレベルでコンポーネントやネットのクラスをまとめ、そのシートから生成された親クラスにグループ化できます。この親クラス自体も上位の親クラスの子クラスとなり、最上位シートまで階層をたどることができます。最上位シートは、最上位の親クラス(または「スーパークラス」)のソースとなります。これらの生成された親クラスはストラクチャクラスと呼ばれます。ストラクチャクラスは、PCBドメイン内で回路図ドキュメント構造を再現するだけでなく、高度なナビゲーションや設計ルールのスコープ指定、フィルタリングなどの論理クエリにも利用できます。

ストラクチャクラスの概念

ストラクチャクラスは、あらゆる種類のクラスをメンバーとして持つことができる特別なクラスです:

  • ネットクラス
  • コンポーネントクラス
  • レイヤークラス
  • パッドクラス
  • From Toクラス
  • ディファレンシャルペアクラス
  • デザインチャネルクラス
  • ポリゴンクラス
  • その他のストラクチャクラス

プロジェクト内の各回路図シートから自動的にストラクチャクラスを生成し(コンポーネントやネットを含む)、設計をPCBに転送することで、プロジェクトの構造をPCB側で忠実に再現できます。

回路図シート単位でコンポーネントやネットを「区分化」する手段として、ストラクチャクラスオブジェクトはPCBにおける階層クラス構造の推進力となります。ストラクチャクラスを使えば、任意の深さの階層を構築できます。主に回路図ソースドキュメントの階層構造によって定義されますが、必要に応じてPCB側でストラクチャクラスを追加・管理・削除することも可能です。

クラス階層をPCBに導入 — ストラクチャクラスの概念により、プロジェクト階層を忠実に再現でき、各ストラクチャクラスは基本的に1つの回路図シートを表し、その上にメンバーコンポーネントやネットのサブクラスが生成されます。
クラス階層をPCBに導入 — ストラクチャクラスの概念により、プロジェクト階層を忠実に再現でき、各ストラクチャクラスは基本的に1つの回路図シートを表し、その上にメンバーコンポーネントやネットのサブクラスが生成されます。

ストラクチャクラスは、回路図シート自体の設計階層を反映します。コンポーネントクラスやネットクラスに関しては、特定のストラクチャクラスへの所属は、ソース回路図シートからコンポーネントクラスやネットクラスを生成する際に指定したオプションに依存します。

ストラクチャクラスのメンバーシップは、ニーズに合わせて調整できます。プロジェクト階層は自動的に反映できますが、初期メンバーはコンポーネントクラスやネットクラス、または他のストラクチャクラスとなります。既存のストラクチャクラスを利用したり、全体の階層内で新たに作成したりして、PCBドキュメントに必要な他のクラス種別を整理できます。

ストラクチャクラスの自動生成

PCB設計プロジェクトの回路図シートからストラクチャクラスを自動生成する設定は、Options for Project ダイアログ( Project » Project Options )のClass Generationタブで行います。プロジェクト内のソース回路図シートからストラクチャクラスを生成するには、対応するGenerateオプションをStructure Classes列で有効にします。

設計をPCBドキュメントと同期する際、どの回路図シートからストラクチャクラスを生成するかを指定します。
設計をPCBドキュメントと同期する際、どの回路図シートからストラクチャクラスを生成するかを指定します。

自動生成された各ストラクチャクラスは、対応する回路図サブシートを参照するシートシンボル/デバイスシートシンボルのデジグネータを使って命名されます。例外は最上位シートで、そのストラクチャクラスはシートのファイル名を使って命名されます。

コンパレータおよびECO生成サポート

ソース回路図ドキュメントとPCB間の同期は、Altium NEXUSの比較エンジンによって実現され、検出された差分はエンジニアリング変更命令(ECO)を通じて修正されます。ストラクチャクラスをサポートするため、コンパレータおよびECOジェネレーターも強化されています。

ストラクチャクラスに関連する差分検出のため、ComparatorタブのProject Optionsダイアログに新しいセクションDifferences Associated with Structure Classesが追加されました。

ストラクチャクラス用の追加比較テスト。
ストラクチャクラス用の追加比較テスト。

同期に必要な変更命令をサポートするため、対応する新しいセクションがProject Options ダイアログのECO Generationタブに追加されました — Modifications Associated with Structure Classes

ストラクチャクラス用の追加修正タイプ — ソース回路図とPCB間の同期を維持するために適用される変更命令を生成するために使用されます。PCBにストラクチャクラスを追加する例としてECOが示されています。
ストラクチャクラス用の追加修正タイプ — ソース回路図とPCB間の同期を維持するために適用される変更命令を生成するために使用されます。PCBにストラクチャクラスを追加する例としてECOが示されています。

ストラクチャクラスの手動定義

他の種類のクラスと同様に、PCBドキュメント内で構造クラスを手動で作成および管理することができます。これは、PCBパネルでクラス構造の階層をブラウズしながら、またはObject Class Explorerダイアログ(Design » Classes)から直接行うことができます。後者の場合、構造クラスはStructure Classesフォルダーの下に定義されており、右クリックメニューから必要に応じて追加、名前変更、削除などのコマンドを利用できます。新規または既存の構造クラスには、必要に応じてメンバーを定義します。これらのメンバーは、PCB設計で使用可能な任意のクラス型で構成できます。

他のクラスと同様に、Object Class Explorerダイアログから直接PCB上で構造クラスを作成・管理できます。
他のクラスと同様に、Object Class Explorerダイアログから直接PCB上で構造クラスを作成・管理できます。

PCB - Structure Classesパネルを使ったクラス構造階層のブラウズ

PCBパネル Structure Classesのモードでは、3つの主要な領域が以下のように変化します(上から順に):

  • PCBドキュメントで現在定義されているすべてのStructure Classesのリスト。回路図シートから自動生成されたものと、PCB自体で定義されたものの両方が含まれます。
  • 選択された構造クラスの定義メンバーであるすべてのClasses
  • 各クラスを構成する個々のClass Members(コンポーネント、ネットなど)。

PCBパネルのモードをStructure Classesに設定すると、PCBドキュメントの全体的なクラス階層をブラウズできます。パネル内の各領域でエントリをクリックすると、メイン設計ウィンドウの表示が適用されたフィルタリングに応じて変化します。
PCBパネルのモードをStructure Classesに設定すると、PCBドキュメントの全体的なクラス階層をブラウズできます。パネル内の各領域でエントリをクリックすると、メイン設計ウィンドウの表示が適用されたフィルタリングに応じて変化します。

構造クラス領域

パネルの最上部の領域には、PCBドキュメントで現在定義されているすべての構造クラスがリストされます。これには、PCBプロジェクトのソース回路図ドキュメントから自動生成されたもの(アイコンで表示)、およびPCBドキュメント自体で手動定義されたもの(アイコンで表示)が含まれます。構造クラスの横にある矢印アイコンをクリックすると、そのクラスから派生した構造クラス階層が表示されます。最上位の構造クラスを展開することで、完全な階層を確認できます。

例となるPCBの構造クラス
例となるPCBの構造クラス

構造クラスのエントリをダブルクリックすると、Edit Structure Classダイアログが開き、クラス名の変更やメンバー(任意のクラス型)の再定義が可能です。

必要に応じて構造クラスを編集するための馴染みのあるダイアログ。
必要に応じて構造クラスを編集するための馴染みのあるダイアログ。

この領域の右クリックメニューには、以下のコマンドが用意されています:

  • Select All – 階層の現在のブランチ内のすべての構造クラスエントリを選択します。

  • Clear Filter – 設計空間のフィルタリングをクリアします。

  • Report – 定義されているすべての構造クラスのフラットリストを示すレポートを生成します。レポートはReport Previewダイアログでプレビュー表示されます。

  • Properties – 現在選択(フォーカス)されている構造クラスのEdit Structure Classダイアログにアクセスします。このコマンドはエントリをダブルクリックするのと同じです。

  • Add Class – 新しい構造クラスを追加します。定義(名前とメンバー)はEdit Structure Classダイアログから行います。

  • Delete Class – 選択した構造クラスを削除します。

クラス領域

パネルの中央領域には、上部領域で現在選択されている構造クラスのすべてのクラスメンバーがリストされます。

選択された構造クラスの例となるクラスメンバー。
選択された構造クラスの例となるクラスメンバー。

クラスエントリをダブルクリックすると、関連する編集ダイアログが開き、クラス名の変更やメンバーの再定義が可能です。

コンポーネントクラスエントリの関連編集ダイアログ。
コンポーネントクラスエントリの関連編集ダイアログ。

この領域の右クリックコンテキストメニューには、以下のコマンドがあります:

  • Select All – この領域内のすべてのクラスエントリを選択します。

  • Clear Filter – 設計空間のフィルタリングをクリアします。

  • Report – この領域内のすべてのクラスのリストを示すレポートを生成します。レポートはReport Previewダイアログでプレビュー表示されます。

  • Properties – 現在選択(フォーカス)されているクラスの関連編集ダイアログにアクセスします。このコマンドはエントリをダブルクリックするのと同じです。

クラスメンバー

パネルの最下部の領域には、上部領域で現在選択されているクラスのすべてのメンバーがリストされます。

選択されたクラスの例となるメンバー。
選択されたクラスの例となるメンバー。

クラスメンバーエントリをダブルクリックすると、Propertiesパネルの関連モードが開き、クラス名の変更やメンバーの再定義が可能です。

この領域の右クリックメニューには、以下のコマンドがあります:

  • Select All – この領域内のすべてのクラスメンバーエントリを選択します。

  • Clear Filter – 設計空間のフィルタリングをクリアします。

  • Report – この領域内のすべてのクラスメンバーのリストを示すレポートを生成します。レポートはReport Previewダイアログでプレビュー表示されます。

  • Properties – 現在選択(フォーカス)されているクラスメンバーの関連プロパティ/編集ダイアログにアクセスします。このコマンドはエントリをダブルクリックするのと同じです。

  • Zoom Selected – これはプリミティブオブジェクトエントリの場合のみ利用可能です。設計空間内でそのオブジェクトにズームインします(定義されたZoom Levelに従う)。なお、パネルのハイライトコントロールでズームオプションが有効な場合、このコマンドは効果がありません。

構造クラスを論理クエリで使用する

論理クエリは、設計内のオブジェクトをターゲットにする際の基本的な推進力です。設計ルールのスコープ設定で設計を特定の方法で制約したり、設計ワークスペース内のオブジェクトをフィルタリングしたりする際に使用できます。クエリ言語は、論理クエリエクスプレッションを構築する際に構造クラスを利用できるように拡張されています。PCB Functions – Membership Checksセクションに以下のキーワードが追加されました:

InStructureClass – オブジェクトクラスが指定した構造クラスに含まれているかどうかをチェックします。

このキーワードは、設計ルールのスコープを設定するクエリを作成する際にも使用できます。Query HelperダイアログおよびQuery Builderダイアログの両方でサポートされています。

異なる構造クラスに含まれるメンバーオブジェクト間のクリアランスルールの例。
異なる構造クラスに含まれるメンバーオブジェクト間のクリアランスルールの例。

このキーワードを使用して、フィルタ式で使用する論理クエリを作成し、指定した構造クラスに属するすべての下位メンバーオブジェクトを素早くフィルタリングできます。

設計空間内で特定の構造クラスに属するすべてのオブジェクトを素早くフィルタリング。
設計空間内で特定の構造クラスに属するすべてのオブジェクトを素早くフィルタリング。

AI-LocalizedAI-localized
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Content