回路図とPCBでクラスを扱う方法
クラスは、コンポーネントのグループやネットのグループなど、オブジェクトタイプのサブセットに対してさまざまなコマンドを操作できるように提供されます。オブジェクトは複数のクラスに属することができます。
クラスは以下のために作成できます:
- ネット
- コンポーネント
- レイヤー
- パッド
- フロム-トゥ
- 差動ペア
- デザインチャネル
- ポリゴン
- xシグナル
また、構造クラスを作成することができます。構造クラスは、そのメンバーとして任意のタイプのクラスを保持できる特別なタイプのクラスです。
回路図からのクラスの生成と同期
回路図からPCBへの設計を移行する際、Altium Designerはコンポーネントとネットクラスの生成をサポートしています。PCB領域に移行する前にクラスを設定しておくことで、PCBスペースでの作業時間を大幅に節約できるだけでなく、回路図が設計情報の真の参照であることを保証します。
回路図から生成され、PCBに同期されるクラスには2種類あります:
- 自動クラス - バス/ハーネス、コンポーネント、またはシートの内容から派生します。
- ユーザー定義クラス - 設計者によって配置された設計指示から派生します。
これらの生成は、プロジェクトのオプションダイアログのクラス生成タブで設定されます(同期はコンパレータタブのオプションによって制御されます)。 
デザイン同期中に自動生成されるクラスを設定し、ユーザー定義クラスを作成したい場合は、クラス生成タブのオプションを使用します。
自動生成されたネットクラス
以下のネットのグループに対して、ネットクラスは自動的に生成されます:
-
バス用ネットクラスの生成 - このオプションをチェックすると、設計内の各バスに対して自動的にネットクラスが生成されます。クラスのメンバーは、そのクラスが生成されたバスの個々の構成ネットになります。
-
コンポーネント用ネットクラスの生成 - このオプションをチェックすると、設計内の各コンポーネントに対して自動的にネットクラスが生成されます。クラスのメンバーは、そのクラスが生成されたコンポーネントのピンに接続されている関連ネットになります。
- バスセクション用に別のネットクラスを生成 - このオプションをチェックすると、各バスセクションに対して別のネットクラスが自動的に生成されます。バスセクションは、実際にはより大きなバスの一部であるバスを指定することによって作成されます。例えば、バス
D[15..0]からです。 -
名前付きシグナルハーネス用ネットクラスの生成 - このオプションを有効にすると、設計内の各名前付きシグナルハーネスに対して自動的にネットクラスが生成されます。クラスのメンバーは、そのクラスが生成された名前付きシグナルハーネスによって集められたシグナルに関連するネットになります。
- シートレベルクラス生成グリッド - この領域では、個々の回路図シートレベルでのコンポーネントおよび/またはネットクラスの自動生成を制御できます。プロジェクトのすべてのソース回路図シートがリストされ、各シートについて以下の情報が提示されます:
- シート名 - 回路図ドキュメントの名前。
- フルパス - ドキュメントが存在するフォルダへの絶対パス。
- コンポーネントクラス - このオプションをオンにすると、シートのコンポーネントクラスが生成されます。
- ネットクラスの範囲 - このシートにネットクラスを生成するかどうか、および生成する場合の範囲を決定するためにこのフィールドを使用します。フィールドのドロップダウンには、以下の選択肢が提供されます:
- None - このシートにネットクラスを生成しない。
- Local Nets Only - このシートにネットクラスを生成するが、シートにローカルなメンバーネットのみを含む。
- All Nets - このシートにネットクラスを生成し、シートに関連するすべてのメンバーネット(ローカルおよび他の場所に行くもの)を含む。
- 構造クラス生成構造 - このシートに構造クラスを生成するためにこのオプションをチェックします。
自動生成されるコンポーネントクラス
回路図プロジェクトが複数のシートにわたって構成され、各シートが全体設計の論理ブロックを表すことは一般的です。これをサポートするために、プロジェクト内の各回路図シートに対して、そのシート上のすべてのコンポーネントを含むコンポーネントクラスを自動的に生成することができます。これは、適切なコンポーネントクラスチェックボックスを有効にすることで行えます。PCBコンポーネントクラスは、その回路図シートを参照するシートシンボルの指定子と同じ名前になります。シートにコンポーネントが含まれていない場合、コンポーネントクラスは作成されません。
自動生成されるルーム
ルームは、コンポーネントの配置を補助する多角形のオブジェクトです。ルーム生成チェックボックスが有効になっている各回路図シートに対して、ルームが自動的に作成されます。
自動生成される構造クラス
構造クラスには、ネットクラス、コンポーネントクラス、および下位階層の構造クラスがメンバーとして含まれます。このオプションが有効にされた各シートに対して構造クラスが作成され、そのシートに対して有効にされている場合はシートレベルのコンポーネントおよびネットクラスも含まれます。PCBエディタで構造クラスを編集し、他のネット/コンポーネント/構造クラスを追加します。PCBパネルの構造モードを使用して、その構造クラス内のコンポーネントとネットを特定します。
ユーザー定義クラスの作成
関連するコンポーネントやネットにパラメータを添付することで、ユーザー定義のコンポーネントクラスやネットクラスも作成できます。適切なユーザー定義クラスのチェックボックスがクラス生成タブのプロジェクトのオプションダイアログで有効になっている場合、PCBコンポーネントとネットクラスが作成されます。
ユーザー定義ネットクラス
オブジェクトページ: パラメータセット
PCBネットクラスにネット(またはバスやシグナルハーネス内のネット)を追加するには、そのネット/バス/ハーネスにパラメータを添付する必要があります。これは、下の画像に示されているように、ネット/バス/ハーネスに接触するようにパラメータセットオブジェクトを配置することで行います(配置 » ディレクティブ » パラメータセットコマンド)。
パネルのクラスセクションに、下の画像に示されているように、ネットクラスの名前を入力します。
複数のパラメータセットオブジェクトを回路図の異なる場所に配置して、複数の個別のネットを同じPCBネットクラスに追加することができます。

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

Blanket Directiveを使用して、その下にあるすべてのネットをPowerというPCBネットクラスにまとめる方法。パラメータセットオブジェクト名は命名には使用されず、視覚的な参照のみです。
PCB上でのクラスの扱い方
アクティブなPCBドキュメントのオブジェクトクラスは、2つの主要な場所から閲覧および管理できます:
- クラス領域は、PCBパネルの関連モードにあります。ここから新しいユーザー定義クラスを追加(右クリックしてクラスを追加を選択)、または既存のユーザー定義クラスのメンバーシップを編集(ダブルクリックまたは右クリックしてプロパティを選択)できます。クラスの名前とそのメンバーは、対応するクラスを編集ダイアログで定義されます。
既存のユーザー定義コンポーネントクラスのプロパティにアクセスする例、PCBパネルから(コンポーネントモードで設定されています)。
編集クラスダイアログのオプションとコントロール
- 名前 - クラスの現在の名前です。必要に応じてこのフィールドを編集してください。
- 非メンバー - 現在クラスのメンバーではない適用可能なタイプの全てのプリミティブをリストします。リストの内容をすばやくフィルタリングするために、リストの上にあるフィールドを使用してください。
- メンバー - 現在クラスのメンバーである適用可能なタイプの全てのプリミティブをリストします。リストの内容をすばやくフィルタリングするために、リストの上にあるフィールドを使用してください。
- クラスジェネレータ - このボタンは、コンポーネントクラスを作成/編集するときのみ利用可能です。クリックすると、定義された検索基準に基づいてコンポーネントクラスのメンバーシップを迅速に生成するために使用できるコンポーネントクラスジェネレータダイアログにアクセスします。
- メンバーシップ管理ボタン - 以下のボタンを使用して、プリミティブを2つのリスト間で迅速に移動します:
-
全て追加 - このボタンをクリックして、非メンバーリストの全てのプリミティブをメンバーリストに迅速に転送します。 -
選択したものを追加(ダイアログ内) - このボタンをクリックして、非メンバーリストで現在選択されているプリミティブをメンバーリストに迅速に転送します。 -
選択したものを削除(ダイアログ内) - このボタンをクリックして、メンバーリストで現在選択されているプリミティブを非メンバーリストに迅速に転送します。 -
全て削除 - このボタンをクリックして、メンバーリストの全てのプリミティブを非メンバーリストに迅速に転送します。 -
選択したものを追加(デザインスペース内) - このボタンをクリックして、デザインスペースで現在選択されているプリミティブを非メンバーリストからメンバーリストに迅速に転送します。 -
選択したものを削除(デザインスペース内) - このボタンをクリックして、デザインスペースで現在選択されているプリミティブをメンバーリストから非メンバーリストに迅速に転送します。
-
オブジェクトクラスエクスプローラーダイアログ
オブジェクトクラスエクスプローラダイアログのオプションとコントロール
このダイアログには、左側に静的なペインと、左側の選択に応じて変化する右側のメイン編集領域が含まれています。
左側のペイン
ダイアログの左側にあるフォルダツリーペインでは、サポートされている各オブジェクトクラスタイプがオブジェクトクラスフォルダの下にリストされています。以下のクラスタイプがサポートされています:
- ネットクラス
- コンポーネントクラス
- レイヤークラス
- パッドクラス
- フロムトゥクラス
- 差動ペアクラス
- デザインチャネルクラス
- ポリゴンクラス
- 構造クラス
- xシグナルクラス
ルートフォルダをクリックすると、ダイアログのメイン編集領域に、すべてのオブジェクトクラスタイプにわたって定義されたすべての特定のクラスの要約リストが表示されます(背面の画像に表示)。
子オブジェクトクラスタイプフォルダをクリックすると、そのタイプに対して定義されたすべての特定のクラスの要約リストにアクセスできます。新しいPCBドキュメントに対して、さまざまなクラスタイプにわたって作成されるデフォルトクラスは以下の通りです:
- ネットクラス - <All Nets>
- コンポーネントクラス- <All Components>, <Bottom Side Components>, <Inside Board Components>, <Outside Board Components>, <Top Side Components>
- レイヤークラス- <All Layers>, <Component Layers>, <Electrical Layers>, <Signal Layers>
- パッドクラス - <All Pads>
- フロムトゥクラス - <All From-Tos>
- 差動ペアクラス - <All Differential Pairs>
- ポリゴンクラス - <All Polygons>
- xシグナルクラス - <All xSignals>
右クリックメニュー
クラスの追加 - 現在選択されているクラスタイプの新しいクラスを追加するために使用します。クラスは最初はメンバーがない状態で追加され、デフォルト名はNew Class になります。 クラスの削除 - 現在選択されているクラスを削除するために使用します。 クラスの名前変更 - 現在選択されているクラスの名前を変更するために使用します。
メイン編集領域
要約リスト - 左側のペインでルートオブジェクトクラスフォルダまたは子オブジェクトクラスタイプフォルダのいずれかがクリックされた場合、この領域は定義されたすべてのクラスの要約リスト、またはそれぞれ選択されたクラスタイプのすべてのクラスを提示します。各クラスは、その名前とクラスタイプの観点からリストされます。 メンバーシップ管理 - 左側のペインで特定のクラスが選択された場合、この領域はそのメンバーオブジェクトを管理するためのコントロールが表示されます。 非メンバー - この領域は、現在クラスのメンバーではない適用可能なタイプのすべてのプリミティブをリスト化します。リストの内容をすばやくフィルタリングするためにはリストの上にあるフィールドを使用します。 メンバー - この領域は、現在クラスのメンバーである適用可能なタイプのすべてのプリミティブをリスト化します。リストの内容をすばやくフィルタリングするためにはリストの上にあるフィールドを使用します。
- コンポーネントクラスジェネレータ - このボタンは、コンポーネントクラスを編集しているときにのみ利用可能です。クリックすると、定義された検索基準に基づいてコンポーネントクラスのメンバーシップを迅速に生成するために使用できるコンポーネントクラスジェネレータダイアログにアクセスできます。 - メンバーシップ管理ボタン - この領域は、2つのリスト間でプリミティブを迅速に移動するための以下のボタンを提供します: -
Add All - クリックすると、すべてのプリミティブを非メンバーリストからメンバーリストにすばやく転送します。 -
Add Selected(ダイアログ内) - クリックすると、非メンバーリストで現在選択されているプリミティブがメンバーリストにすばやく転送されます。 -
Remove Selected(選択項目を削除) (ダイアログ内) - クリックすると、メンバーリストで現在選択されているプリミティブが非メンバーリストにすばやく転送されます。 -
Remove All - このボタンをクリックすると、すべてのプリミティブがメンバーリストから 非メンバーリストにすばやく転送されます。 -
選択項目を追加(設計空間内) - このボタンをクリックすると、設計領域で現在選択されているプリミティブを非メンバーリストからメンバーリストにすばやく転送します。 -
選択項目を削除(設計空間内) - このボタンをクリックすると、設計領域で現在選択されているプリミティブがメンバーリストから非メンバーリストに素早く転送されます。
-
既存のユーザー定義クラスをクリックすると、そのメンバーが表示され、必要に応じて修正できます。新しいユーザー定義クラスを追加するには、作成したいクラスのカテゴリ内で右クリックし、コンテキストメニューからクラスの追加を選択します。新しいクラスがデフォルト名新規クラスでリストに表示されます。クラス名をクリックして、そのメンバーにアクセスし定義します。クラスの名前を変更するには、クラス名をクリックしてからもう一度クリックして編集用にフォーカスするか、または右クリックしてクラス名の変更を選択します。
選択したオブジェクトに対して転送ボタンがあることに注意してください。設計スペースで最初にオブジェクトを選択し、それからこれらの選択したオブジェクトを転送するボタンを使用してクラスを構築する方が簡単な場合がよくあります。類似オブジェクトを探すダイアログ、PCBパネル、リストパネルなどを使用して事前に選択を作成していた場合、以下の画像に示されているボタンが利用可能になるはずです。このボタンを押すと、選択が非メンバー列からメンバー列に移動します。

選択したオブジェクトからクラスを作成する
PCBエディタの一部のオブジェクトについては、エディタの特定のコントロールを使用して、これらのオブジェクトのクラスを作成できます:
-
新しいネットクラスを作成するには、設計スペース内で2つ以上のネットオブジェクトを選択し、メインメニューの設計»ネットリストサブメニューまたは選択したネットオブジェクトの右クリックメニューのネットアクションサブメニューから選択したネットからネットクラスを作成コマンドを選択します。開いたオブジェクトクラス名ダイアログで、新しいネットクラスの必要な名前を指定します。
- 新しいポリゴンクラスを作成するには、ポリゴンマネージャーダイアログで必要なポリゴンエントリを選択し、新しいポリゴンクラスボタンをクリックします。オブジェクトクラス名ダイアログで新しいポリゴンクラスの名前を提供する必要があります。

オブジェクトクラス名ダイアログ
コンポーネントクラスジェネレータ
コンポーネントクラスを追加または編集する際、定義された検索基準に基づいてそのメンバーシップを迅速に生成することができます。これは、コンポーネントクラスジェネレーターダイアログを使用して行われ、クラスジェネレーターボタン(コンポーネントクラス編集ダイアログの左下)またはコンポーネントクラスジェネレーターボタン(オブジェクトクラスエクスプローラーダイアログの左下)をクリックすることでアクセスできます。クラスメンバーとして追加したいコンポーネントを効果的に「捕捉」するために使用できる属性には、Designator、Comment、およびFootprintが含まれます。ボタンをクリックするだけで、検索基準に一致するすべてのコンポーネントがクラスに追加されます。

コンポーネントクラスジェネレータダイアログのオプションとコントロール
- 検索/フィルタ条件 - ダイアログの左側には、コンポーネントクラスのメンバーとして追加されるコンポーネントを対象とするために使用される、いくつかのフィールドがあります。以下の条件を設定できます:
- 指定子- このフィールドを使用して、コンポーネント指定子に基づいて検索/フィルタします。フィールドのドロップダウンを使用して、対象とするコンポーネントのタイプを選択します。ボード設計で見つかったすべての固有の指定子タイプが <DesignatorPrefix>?? (例: U**, R**, C**) の形式でリストされます。指定子タイプに関係なくコンポーネントを含めるには、このフィールドを Any に設定します。
- コメント - このフィールドを使用して、コンポーネントのコメントに基づいて検索/フィルタします。フィールドのドロップダウンを使用して、対象とするコンポーネントコメントを選択します。ボード設計で見つかったすべての固有のコンポーネントコメントがリストされます。コメントに関係なくコンポーネントを含めるには、このフィールドを Any に設定します。
- フットプリント - このフィールドを使用して、コンポーネントのフットプリントに基づいて検索/フィルタします。フィールドのドロップダウンを使用して、対象とするフットプリントを選択します。ボード設計で見つかったすべての固有のコンポーネントフットプリントがリストされます。フットプリントに関係なくコンポーネントを含めるには、このフィールドを Any に設定します。
- レイヤー - このフィールドを使用して、ボードのどちらの側にコンポーネントが存在するかに基づいて検索/フィルタします。フィールドのドロップダウンを使用して、TOP または BOTTOM のコンポーネントを対象とします。どのレイヤーに存在するかに関係なくコンポーネントを含めるには、このフィールドを Any に設定します。
- 回転 - このフィールドを使用して、コンポーネントの回転に基づいて検索/フィルタします。フィールドのドロップダウンを使用して、対象とする特定の回転を選択します。ボード設計で見つかったすべての固有のコンポーネント回転がリストされます。向きに関係なくコンポーネントを含めるには、このフィールドを Any に設定します。
- ロックされているか - このフィールドを使用して、コンポーネントのロック状態に基づいて検索/フィルタします。フィールドのドロップダウンを使用して、ロックされている (True) またはロックされていない (False) コンポーネントを対象とします。ロック状態に関係なくコンポーネントを含めるには、このフィールドを Any に設定します。
- 選択 - このフィールドを使用して、コンポーネントの選択状態に基づいて検索/フィルタします。フィールドのドロップダウンを使用して、ワークスペースで現在選択されている (True) または選択されていない (False) コンポーネントを対象とします。選択状態に関係なくコンポーネントを含めるには、このフィールドを Any に設定します。
- クラス名 - クラスの現在のメンバーのリストの直上にあるこのフィールドは、クラスの現在の名前を示します。必要に応じてこのフィールドを編集します。
- クラスメンバーシップ - クラス名の下にあるこの領域は、現在コンポーネントクラスのメンバーであるすべてのコンポーネントを指定子でリストします。
- 一致するものを追加 - 定義された検索/フィルタ条件に一致するすべてのコンポーネントをクラスメンバーシップ領域に追加するためにクリックします。
- 選択されたものをクリア - 現在クラスメンバーシップ領域で選択されているすべてのコンポーネントをクラスから削除するためにクリックします。
構造クラスの扱い方
Altium Designerは、回路図からPCBへの設計転送時にクラス(コンポーネントおよびネット)の生成をサポートする高品質で堅牢なサポートを既に提供していました。このサポートは、PCBドキュメント内で階層構造のクラスの生成を定義できる機能により、次のレベルに引き上げられます。本質的に、これにより、シートレベルで、コンポーネントおよび/またはネットのクラスを親クラスにまとめることができ、その親クラスは上位の親クラスの子供となり、設計の最上位シートまで全てが連なります。この最上位シートは、最上位の生成された親クラス(または「スーパークラス」)のソースであり、クラス構造階層の先頭です。これらの生成された親クラスは構造クラスとして参照されます。構造クラスは、PCB領域内での回路図ドキュメント構造の再現を可能にするだけでなく、デザインルールの範囲指定やフィルタリングなど、論理クエリで使用することもできます。
構造クラスの概念
構造クラスは、特別なタイプのクラスであり、そのメンバーとしてあらゆるタイプのクラスを保持できます:
- ネットクラス
- コンポーネントクラス
- レイヤークラス
- パッドクラス
- フロムトゥクラス
- 差動ペアクラス
- デザインチャネルクラス
- ポリゴンクラス
- その他の構造クラス
プロジェクトの各回路図シートから構造クラスを自動的に生成することにより、コンポーネントやネットを含む場合でも、設計をPCBに転送する際に、プロジェクトの構造をPCB側で忠実に表現することができます。
回路図シートのコンポーネントとネットを基本的に「区分け」するための整然とした手段であるStructure Classオブジェクトは、PCB内の階層的クラス構造の背後にある原動力です。Structure Classesを使用することで、任意の深さの階層を構築できます。主に構造は回路図ソースドキュメントの階層的な性質によって定義されますが、希望すればPCB側で直接Structure Classesを追加、管理、削除することもできます。

PCBにクラス階層を導入すること - ストラクチャクラスの概念は、プロジェクト階層を忠実に再現し、各ストラクチャクラスが基本的に1枚の回路図シートを表し、そこに生成されたメンバーコンポーネントやネットのサブクラスを持つことを可能にします。
ストラクチャクラスは、回路図シート自体の設計階層を反映しています。コンポーネントとネットクラスの観点から、特定のストラクチャクラス内のメンバーシップは、もちろん、ソース回路図シートからコンポーネントとネットクラスを生成する際に指定されたオプションに依存します。
構造クラスのメンバーシップを、必要に応じてカスタマイズしてください。プロジェクト階層は自動的に移行できますが、初期メンバーシップはコンポーネントクラス、ネットクラス、またはその他の構造クラスになります。既存の構造クラスを使用するか、または必要に応じてPCBドキュメントの他のクラスタイプを整理するために、全体の階層内で新しいものを作成してください。
構造クラスの自動生成
PCB設計プロジェクトの回路図シートから構造クラスを自動生成する設定は、プロジェクトオプションダイアログのクラス生成タブ(プロジェクト » プロジェクトオプション)で定義されます。プロジェクト内のソース回路図シートから構造クラスを生成するには、構造クラス列の関連する生成オプションを有効にするだけです。

設計がPCBドキュメントと同期されるときに、どの回路図シートから構造クラスを生成するかを指定します。
自動的に生成される各構造クラスは、対応する回路図サブシートを参照するシートシンボル/デバイスシートシンボルの指定子を使用して命名されます。この例外はトップシートで、その構造クラスはそのシートのファイル名を使用して命名されます。
コンパレータとECO生成のサポート
ソースの回路図ドキュメントとPCB間の同期は、Altium Designerの比較エンジンを通じて可能となり、検出された違いは、エンジニアリング変更命令(ECO)を通じて実施される修正によって対処されます。Structure Classesをサポートするために、ComparatorとECOジェネレーターがそれに応じて強化されました。
Structure Classesに関連する違いの検出のために、Comparatorタブのプロジェクトオプションダイアログに新しいセクションが追加されました - Structure Classesに関連する違い。

Structure Classesに対する追加の比較テスト。
変更指示を同期させるために必要な変更指示に対応するため、ECO生成タブのプロジェクトオプションダイアログに新しいセクション「構造クラスに関連する変更」が追加されました。 
構造クラスの追加変更タイプ - ソースの回路図とPCB間の同期を維持するために適用される変更指示を生成するために使用されます。PCBへの構造クラスの追加を示すECOの例が示されています。
構造クラスの手動定義
PCBドキュメントの他のクラスタイプと同様に、PCBドキュメント内で直接、Structure Classes(構造クラス)を手動で作成および管理することができます。これは、PCBパネルから、クラス構造階層をブラウズしながら、またはオブジェクトクラスエクスプローラーダイアログ(設計 » クラス)から行うことができます。後者について考えると、Structure ClassesはStructure Classesフォルダーの下に定義されており、必要に応じて追加、名前の変更、またはコマンドの削除を行うための右クリックメニューに馴染みのあるコマンドがあります。新規または既存のStructure Classについては、必要に応じてそのメンバーを定義します。これらは、PCB設計で使用されるサポートされているクラスタイプのいずれかで構成することができます。

他のクラスと同様に、PCB内で直接オブジェクトクラスエクスプローラーダイアログから構造クラスを作成・管理します。
クラス構造階層の閲覧
PCBパネルの構造クラスモードでは、その3つの主要な領域が次のように変更されます(上から順に):
- PCBドキュメントに現在定義されている構造クラスのすべてのリスト;回路図シートから自動生成されたものと、PCB自体で定義されたものの両方。
- その選択された構造クラスの定義済みメンバーであるすべてのクラス。
- 各クラスを構成するクラスメンバー(コンポーネント、ネットなど)。

PCBパネルのモードを構造クラスに設定して、PCBドキュメントの全体的なクラス階層を閲覧します。パネルのさまざまな領域でエントリ(または複数のエントリ)をクリックすると、メインデザインウィンドウの表示が適用されたフィルタリングを反映して変更されます。
構造クラス領域
パネルの上部には、PCBドキュメントで現在定義されているすべての構造クラスがリストされています。これには、PCBプロジェクトのソース回路図ドキュメントから自動的に生成されたもの(
アイコンで示される)と、PCBドキュメント自体で手動で定義されたもの(
アイコンで示される)が含まれます。構造クラスの隣にある矢印アイコンをクリックすると、そのクラスから派生する構造クラス階層が表示されます。トップレベルの構造クラスを展開すると、完全な階層を確認できます。

PCB例の構造クラス 構造クラスエントリーをダブルクリックすると、クラスの名前を変更し、必要に応じてそのメンバー(クラスタイプのいずれか)を再定義できる構造クラス編集ダイアログにアクセスできます。 
構造クラスに必要に応じて変更を加えるための身近な編集ダイアログ。
この領域の右クリックメニューでは、以下のコマンドが提供されます:
- すべて選択 - 現在の階層のすべての構造クラスエントリを選択します。
- フィルター解除 - 設計スペースでのフィルタリングをクリアします。
- レポート - 定義されたすべての構造クラスのフラットリストを提示するレポートを生成します。レポートはレポートプレビューダイアログでプレビューが開きます。
- プロパティ - 現在選択されている(そしてフォーカスされている)構造クラスの構造クラス編集ダイアログにアクセスします。このコマンドは、エントリを直接ダブルクリックするのと同じです。
- クラス追加 - 新しい構造クラスを追加します。定義(名前とメンバーシップ)は構造クラス編集ダイアログから行われます。
- クラス削除 - 選択された構造クラスを削除します。
クラス領域
パネルの中央領域には、上部の領域で選択された構造クラスのすべてのクラスメンバーがリストされています。

選択された構造クラスのクラスメンバー例。
クラスエントリーをダブルクリックすると、関連する編集ダイアログにアクセスできます。そこから、クラスの名前を変更したり、必要に応じてメンバーを再定義したりできます。

コンポーネントクラスエントリの関連編集ダイアログ。
この領域の右クリックコンテキストメニューは、以下のコマンドを提供します:
- すべて選択 – 領域内のすべてのクラスエントリを選択します。
- フィルタ解除 – デザインスペース内のフィルタリングをクリアします。
- レポート – 領域内のすべてのクラスのリストを提示するレポートを生成します。レポートはレポートプレビューダイアログでプレビューが開きます。
- プロパティ – 現在選択されている(そしてフォーカスされている)クラスの関連編集ダイアログにアクセスします。このコマンドは、エントリ上で直接ダブルクリックするのと同じです。
クラスメンバー
パネルの下部領域には、上部の領域で現在選択されているクラスのすべてのメンバーがリストされます。

選択されたクラスのメンバー例。
クラスメンバー項目をダブルクリックすると、クラスの名前を変更し、必要に応じてそのメンバーを再定義できるプロパティパネルの関連モードにアクセスできます。
この領域の右クリックメニューには、以下のコマンドが提供されています:
- すべて選択 – 領域内のすべてのクラスメンバーエントリを選択します。
- フィルター解除 – デザインスペースのフィルタリングをクリアします。
- レポート – 領域内のすべてのクラスメンバーのリストを表示するレポートを生成します。レポートはレポートプレビューダイアログでプレビューが開きます。
- プロパティ – 現在選択されている(そしてフォーカスされている)クラスメンバーの関連プロパティ/編集ダイアログにアクセスします。このコマンドは、エントリ上で直接ダブルクリックするのと同じです。
- 選択したものをズーム – これはプリミティブオブジェクトエントリにのみ利用可能です。デザインスペースは、定義されたズームレベルに従って、そのオブジェクトにズームインします。パネルのハイライトコントロールの一部としてズームオプションが有効になっている場合、このコマンドは効果がありません。
論理クエリでの構造クラスの使用
論理クエリは、設計内のオブジェクトをターゲットにする際の基本的な推進力です。これらは、設計を特定の(必要な)方法で制約するために設計ルールの範囲を指定する際や、設計ワークスペース内のオブジェクトをフィルタリングする際に使用できます。クエリ言語は、論理クエリ式を構築する際に構造クラスの使用に対応するように強化されました。以下のキーワードがPCB機能 - メンバーシップチェックセクションに追加されました:
InStructureClass - オブジェクトクラスが指定された構造クラス内にあるかどうかをチェックします。
このキーワードは、設計ルールの範囲を指定するクエリを構築する際にも使用できます。これは、クエリヘルパーダイアログとクエリビルダーダイアログの両方で使用することがサポートされています。

異なる構造クラス内に含まれるメンバーオブジェクト間のクリアランスルールの例。
フィルター式で使用する論理クエリを作成する際に、このキーワードを使用してください。これにより、指定された構造クラス内から派生するすべての低レベルメンバーオブジェクトを迅速にフィルタリングできます。

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