Altium NEXUS で回路図およびPCB上のクラスを操作する
クラスは、さまざまなコマンドがオブジェクトタイプのサブセット(例:部品のグループやネットのグループ)に対して動作できるように提供されています。1つのオブジェクトは複数のクラスに属することができます。
クラスは以下のために作成できます:
- ネット
- 部品
- レイヤー
- パッド
- フロム・トゥ
- ディファレンシャルペア
- デザインチャネル
- ポリゴン
- xSignal
また、
回路図からのクラスの生成と同期
回路図からPCBへ設計を転送する際、Altium NEXUSは部品クラスおよびネットクラスの生成をサポートしています。回路図から生成され、PCBと同期されるクラスには2種類あります:
- 自動クラス - バス/ハーネス、部品、またはシート内容から派生;および
- ユーザー定義クラス - 設計者が配置したデザインディレクティブから派生。
これらの生成はOptions for Project ダイアログのClass Generationタブで設定します(同期は

必要な自動生成クラスの設定や、設計同期時にユーザー定義クラスを作成するかどうかは、
自動生成されるネットクラス
ネットクラスは、以下のネットグループに対して自動生成できます:
-
Generate Net Classes for Buses - このオプションを有効にすると、設計内の各バスごとにネットクラスが自動生成されます。クラスのメンバーは、そのバス(クラスが生成された元のバス)を構成する個々のネットになります。 -
Generate Net Classes for Components - このオプションを有効にすると、設計内の各部品ごとにネットクラスが自動生成されます。クラスのメンバーは、その部品(クラスが生成された元の部品)のピンが接続されている関連ネットになります。 -
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 - このオプションを有効にすると、シート用のストラクチャクラスが生成されます。
-
自動生成される部品クラス
回路図プロジェクトは複数のシートに分割されていることが一般的で、各シートが全体設計の論理ブロックを表します。これをサポートするため、各回路図シートごとに、そのシート上のすべての部品を含む部品クラスを自動生成できます。該当する
自動生成されるルーム
ルームは、部品配置を補助する多角形状のオブジェクトで、
自動生成されるストラクチャクラス
ストラクチャクラスは、ネットクラス、部品クラス、下位階層のストラクチャクラスをメンバーとして含めることができます。オプションが有効な各シートごとにストラクチャクラスが作成され、そのシートで有効な場合はシートレベルの部品クラスやネットクラスも含まれます。PCBエディタでストラクチャクラスを編集し、他のネット/部品/ストラクチャクラスを追加できます。
ユーザー定義クラスの作成
また、該当する部品やネットにパラメータを付与することで、ユーザー定義の部品クラスやネットクラスを作成することもできます。PCB部品クラスやネットクラスは、
ユーザー定義ネットクラス
ネット(またはバスやシグナルハーネス内のネット)をPCBネットクラスに追加するには、そのネット/バス/ハーネスにパラメータを付与する必要があります。これは、パラメータセットオブジェクトをネット/バス/ハーネスに接触させて配置することで行います(下図参照、
パネルの「クラス」セクションで、ネットクラスの名前を入力します(下図参照)。
異なる場所に複数のパラメータセットオブジェクトを配置することで、複数の個別ネットを同じPCBネットクラスに追加できます。

ネットをPCBネットクラスに追加するには、回路図ネットにパラメータセットオブジェクトを付与し、そのパラメータセットオブジェクトにクラス定義を追加します。
ユーザー定義部品クラス
回路図上で、回路図とPCBの同期時に部品をPCB部品クラスに追加するよう指定できます。
それを行うには、コンポーネントにパラメータを追加し、パラメータClassName
複数のネットにディレクティブを適用するためのブランケットの使用
また、ブランケットディレクティブを配置して、複数のネットをまとめてPCBネットクラスに追加することもできます。ブランケットの機能は、そのブランケットの下にあるすべてのネット(ネットラベルやパワーポートなどのネット識別子で特定されるもの、またはブランケット内に終端頂点を持つネット)にディレクティブを適用できるようにすることです。
パラメータセットディレクティブをワイヤに接触させて配置する代わりに、下図のようにブランケットの端に接触させて配置します。パラメータセットオブジェクトの表示名ではなく、パラメータセット内のパラメータの値がPCBネットクラス名を定義する点に注意してください。下の例の画像では、パラメータセットは配線幅設計ルールの定義にも使用されています。

ブランケットディレクティブを使って、その下にあるすべてのネットを「Power」というPCBネットクラスにまとめています。パラメータセットオブジェクト名は命名には使用されず、あくまで視覚的な参照用です。
PCBでのクラスの操作
現在のPCBドキュメントのオブジェクトクラスは、Object Class Explorerダイアログを使って閲覧・管理することもできます。
作成したいクラスのクラス種別をクリックし、右クリックして
選択したオブジェクト用の転送ボタンが用意されています。多くの場合、まずデザイン空間でオブジェクトを選択し、これらの転送選択ボタンを使ってクラスを構築する方が簡単です。事前に
コンポーネントクラスジェネレーター
Edit Component Classダイアログには
ストラクチャクラスの操作
Altium NEXUSは、回路図からPCBへの設計転送時にクラス(コンポーネントクラスおよびネットクラス)の生成を高品質かつ堅牢にサポートしてきました。このサポートはさらに進化し、PCBドキュメント内で階層構造のクラス生成を定義できるようになりました。基本的に、シートレベルでコンポーネントやネットのクラスをまとめ、そのシートから生成された親クラスにグループ化できます。この親クラス自体も上位の親クラスの子クラスとなり、最上位シートまで階層をたどることができます。最上位シートは、最上位の親クラス(または「スーパークラス」)のソースとなります。これらの生成された親クラスは
ストラクチャクラスの概念
ストラクチャクラスは、あらゆる種類のクラスをメンバーとして持つことができる特別なクラスです:
- ネットクラス
- コンポーネントクラス
- レイヤークラス
- パッドクラス
- From Toクラス
- ディファレンシャルペアクラス
- デザインチャネルクラス
- ポリゴンクラス
- その他のストラクチャクラス
プロジェクト内の各回路図シートから自動的にストラクチャクラスを生成し(コンポーネントやネットを含む)、設計をPCBに転送することで、プロジェクトの構造をPCB側で忠実に再現できます。
回路図シート単位でコンポーネントやネットを「区分化」する手段として、ストラクチャクラスオブジェクトはPCBにおける階層クラス構造の推進力となります。ストラクチャクラスを使えば、任意の深さの階層を構築できます。主に回路図ソースドキュメントの階層構造によって定義されますが、必要に応じてPCB側でストラクチャクラスを追加・管理・削除することも可能です。

クラス階層をPCBに導入 — ストラクチャクラスの概念により、プロジェクト階層を忠実に再現でき、各ストラクチャクラスは基本的に1つの回路図シートを表し、その上にメンバーコンポーネントやネットのサブクラスが生成されます。
ストラクチャクラスは、回路図シート自体の設計階層を反映します。コンポーネントクラスやネットクラスに関しては、特定のストラクチャクラスへの所属は、ソース回路図シートからコンポーネントクラスやネットクラスを生成する際に指定したオプションに依存します。
ストラクチャクラスのメンバーシップは、ニーズに合わせて調整できます。プロジェクト階層は自動的に反映できますが、初期メンバーはコンポーネントクラスやネットクラス、または他のストラクチャクラスとなります。既存のストラクチャクラスを利用したり、全体の階層内で新たに作成したりして、PCBドキュメントに必要な他のクラス種別を整理できます。
ストラクチャクラスの自動生成
PCB設計プロジェクトの回路図シートからストラクチャクラスを自動生成する設定は、Options for Project ダイアログ( Project » Project Options )の

設計をPCBドキュメントと同期する際、どの回路図シートからストラクチャクラスを生成するかを指定します。
自動生成された各ストラクチャクラスは、対応する回路図サブシートを参照するシートシンボル/デバイスシートシンボルのデジグネータを使って命名されます。例外は最上位シートで、そのストラクチャクラスはシートのファイル名を使って命名されます。
コンパレータおよびECO生成サポート
ソース回路図ドキュメントとPCB間の同期は、Altium NEXUSの比較エンジンによって実現され、検出された差分はエンジニアリング変更命令(ECO)を通じて修正されます。ストラクチャクラスをサポートするため、コンパレータおよびECOジェネレーターも強化されています。
ストラクチャクラスに関連する差分検出のため、Differences Associated with Structure Classes
同期に必要な変更命令をサポートするため、対応する新しいセクションがProject Options ダイアログのModifications Associated with Structure Classes

ストラクチャクラス用の追加修正タイプ — ソース回路図とPCB間の同期を維持するために適用される変更命令を生成するために使用されます。PCBにストラクチャクラスを追加する例としてECOが示されています。
ストラクチャクラスの手動定義
他の種類のクラスと同様に、PCBドキュメント内で構造クラスを手動で作成および管理することができます。これは、Structure Classes

他のクラスと同様に、Object Class Explorerダイアログから直接PCB上で構造クラスを作成・管理できます。
PCB - Structure Classesパネルを使ったクラス構造階層のブラウズ
PCBパネル
-
PCBドキュメントで現在定義されているすべての
Structure Classes のリスト。回路図シートから自動生成されたものと、PCB自体で定義されたものの両方が含まれます。 -
選択された構造クラスの定義メンバーであるすべての
Classes 。 -
各クラスを構成する個々の
Class Members (コンポーネント、ネットなど)。

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 – 現在選択(フォーカス)されているクラスの関連編集ダイアログにアクセスします。このコマンドはエントリをダブルクリックするのと同じです。
クラスメンバー
パネルの最下部の領域には、上部領域で現在選択されているクラスのすべてのメンバーがリストされます。

選択されたクラスの例となるメンバー。
クラスメンバーエントリをダブルクリックすると、
この領域の右クリックメニューには、以下のコマンドがあります:
-
Select All – この領域内のすべてのクラスメンバーエントリを選択します。 -
Clear Filter – 設計空間のフィルタリングをクリアします。 -
Report – この領域内のすべてのクラスメンバーのリストを示すレポートを生成します。レポートはReport Previewダイアログでプレビュー表示されます。 -
Properties – 現在選択(フォーカス)されているクラスメンバーの関連プロパティ/編集ダイアログにアクセスします。このコマンドはエントリをダブルクリックするのと同じです。 -
Zoom Selected – これはプリミティブオブジェクトエントリの場合のみ利用可能です。設計空間内でそのオブジェクトにズームインします(定義されたZoom Level に従う)。なお、パネルのハイライトコントロールでズームオプションが有効な場合、このコマンドは効果がありません。
構造クラスを論理クエリで使用する
論理クエリは、設計内のオブジェクトをターゲットにする際の基本的な推進力です。設計ルールのスコープ設定で設計を特定の方法で制約したり、設計ワークスペース内のオブジェクトをフィルタリングしたりする際に使用できます。クエリ言語は、論理クエリエクスプレッションを構築する際に構造クラスを利用できるように拡張されています。
InStructureClass
このキーワードは、設計ルールのスコープを設定するクエリを作成する際にも使用できます。

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





