PCB ルールを編集

親ページ: PCB ダイアログ

PCB ルールを編集(Edit PCB Rule)ダイアログの例。この例では、定義済みの高さルールが示されています。

概要

このダイアログを使用すると、設計者は、選択したデザイン ルールのプロパティ(名前、スコープ、制約条件など)を編集できます。

ダイアログに表示されるコントロールとバナー テキストは、編集するデザイン ルールのタイプに応じて変わります。

アクセス

このダイアログには、PCB エディタから次の方法を使用してアクセスします。

  • PCB ルールと違反(PCB Rules And Violations)パネルで特定のルール エントリをダブルクリックします。
  • PCB ルールと違反(PCB Rules And Violations)パネルで特定のルール エントリを右クリックし、コンテキスト メニューからプロパティ(Properties)コマンドを選択します。

オプション/コントロール

  • 名前(Name) - ルールの現在の名前。必要に応じて変更できます。
  • コメント(Comment) - このフィールドには、ルールに追加されているコメント(たとえば、ルールの用途をわかりやすく説明したもの)が表示されます。
  • 一意な ID(Unique ID) - ルールに割り当てられている一意の ID。各ルールはそれ自体がデザイン オブジェクトであるため、実際のデータになります。ID を使用すると、一意性が確実になります。ただし、一意の ID が実際に関係するのは、回路図ドメイン内で作成されたルールです。回路図上のオブジェクトにデザイン ルール パラメータを追加すると、各ルール パラメータに一意の ID が割り当てられます。それに対応して PCB に作成されるデザイン ルールにも同じ ID が割り当てられます。回路図側または PCB 側の一方でルールの制約条件を編集すると、この一意の ID を使用して、同期時に変更がもう一方にプッシュされます。

ルール スコープ設定コントロール

デザイン ルールのスコープ、つまり適用範囲を定義するときには、基本的に、そのルールによって制御するメンバー オブジェクトを定義するクエリを作成します。ダイアログに用意されているオプションを使用して、必要なクエリを作成できます。ルールが単項かバイナリかに応じて、それぞれ 1 つまたは 2 つのスコープを定義する必要があります。

単項デザイン ルールの場合は、単一のルール スコープを定義するためのコントロールが表示されます。最初のオブジェクトが一致する場所(Where The First Object Matches)領域にあるオプションを使用すると、クエリ式を簡単に作成でき、作成したクエリ式は、右側のフル クエリ(Full Query)領域に表示されます。バイナリ デザイン ルールの場合は、2 つ目のルール スコープを定義するためのコントロールも表示されます。第 2 オブジェクトが一致する場所(Where The Second Object Matches)領域にあるオプションを使用すると、クエリ式を簡単に作成でき、作成したクエリ式は、右側のフル クエリ(Full Query)領域に表示されます。

コントロールは、定義するルール スコープが 1 つか 2 つかに関係なく同一となります。詳細は後続の各セクションで説明します。

オブジェクトが一致する場所

  • スコープ設定オプション - 次のいずれかのオプションを選択して、スコープ設定用のクエリ式の生成方法を指定します。
    • すべて(All) - すべてのデザイン オブジェクトを対象としたスコープ クエリを生成するには、このオプションを選択します。関連するフル クエリ(Full Query)領域に式 All が読み込まれます。
    • ネット(Net) - 特定のネット内のすべてのオブジェクトを対象としたスコープ クエリを生成するには、このオプションを選択します。上部のドロップダウン フィールドから目的のネットを選択します。関連するフル クエリ(Full Query)領域に InNet('<NetName>') というフォーマットの式が読み込まれます。
    • ネット クラス(Net Class) - 特定のネット クラス内のすべてのオブジェクトを対象としたスコープ クエリを生成するには、このオプションを選択します。上部のドロップダウン フィールドから目的のネット クラスを選択します。関連するフル クエリ(Full Query)領域に InNetClass('<NetClassName>') というフォーマットの式が読み込まれます。
    • レイヤ(Layer) - 特定のレイヤ上のすべてのオブジェクトを対象としたスコープ クエリを生成するには、このオプションを選択します。上部のドロップダウン フィールドから目的のレイヤを選択します。関連するフル クエリ(Full Query)領域に OnLayer('<LayerName>') というフォーマットの式が読み込まれます。
    • ネットおよびレイヤ(Net and Layer) - 特定のネット内および特定のレイヤ上のすべてのオブジェクトを対象としたスコープ クエリを生成するには、このオプションを選択します。上部のドロップダウン フィールドから目的のネットを選択し、下部のドロップダウン フィールドから目的のレイヤを選択します。関連するフル クエリ(Full Query)領域に InNet('<NetName>') And OnLayer('<LayerName>') というフォーマットの式が読み込まれます。
    • 詳細(クエリ)(Advanced (Query)) - より複雑かつ限定的なクエリを独自に記述するには、このオプションを選択します。関連するフル クエリ(Full Query)領域に直接クエリ式を記述し始めると、このオプションが自動的に選択されます。
  • 上部のドロップダウン フィールド - ネット(Net)(またはネットおよびレイヤ(Net and Layer))、ネット クラス(Net Class)レイヤ(Layer)のいずれかのオプションを使用する場合は、デザインに定義されているすべてのネット、デザインに定義されているすべてのネット クラス、またはデザインで現在有効になっているすべてのレイヤがそれぞれこのフィールドのドロップダウンに挿入されます。それに応じて目的のターゲットを選択します。
  • 下部のドロップダウン フィールド - ネットおよびレイヤ(Net and Layer)オプションを使用する場合は、デザインで現在有効になっているすべてのレイヤがこのフィールドのドロップダウンに挿入されます。それに応じて目的のレイヤを選択します。
  • クエリ ビルダー(Query Builder) - このボタンをクリックすると、Building Query from Board ダイアログが開き、AND または OR(あるいはその両方)で結合した条件文字列を作成することによって、デザイン ドキュメント内の特定のオブジェクトを対象としたクエリを作成できます。
  • クエリ ヘルパー(Query Helper) - このボタンは、詳細(クエリ)(Advanced (Query))オプションを選択した場合に使用可能になります。クリックすると、クエリ ヘルパー(Query Helper)ダイアログにアクセスできます。基盤となるクエリ エンジンにより、PCB の設計が分析され、使用可能なすべてのオブジェクトとクエリで使用できる汎用キーワードが一覧表示されます。
クエリ ビルダー(Query Builder)では、状況依存の条件タイプおよび値、つまり関連する「ビルディング ブロック」のみを使用してクエリを簡易的に作成できます。キーワード指定や演算子の構文をフルに活用し、より高度な方法でクエリを作成する場合は、クエリ ヘルパー(Query Helper)を使用します。

フル クエリ

ダイアログのこの領域には、ルール スコープを設定する目的で作成した現在のクエリ式が反映されます。次の操作を行うと、式が自動的に読み込まれます。

  • 基本スコープ設定オプション(すべて(All)ネット(Net)ネット クラス(Net Class)レイヤ(Layer)ネットおよびレイヤ(Net and Layer))を選択し、関連するターゲット ネット、ネット クラス、レイヤ、またはネットとレイヤをドロップダウン フィールドから指定します。
  • クエリ ビルダー(Query Builder)を使用してクエリ式を作成します。
  • クエリ ヘルパー(Query Helper)を使用してクエリ式を作成します。

または、クエリ言語に習熟している場合は、この領域に直接クエリ式を入力できます。

お気に入りのエディタに入力したクエリ式をこの領域に直接ペーストできます。また、式をコピーし、外部エディタで作業したり、バイナリ ルールの第 2 スコープにペーストしたりすることもできます。これは、複雑で、違いがごくわずかな 2 つのスコープを設定する場合に特に役立ちます。

制約条件

ダイアログのこの領域には、編集対象のルールのタイプに適用される制約条件が表示されます。必要に応じて、各種コントロールを使用してこれらの制約条件を構成できます。

クエリ式の演算子の優先順位

括弧は、各種演算子に定義されている優先順位の中で優先度が最高になります。クエリは、(ユーザーが括弧を入力しなかった場合は常に)これらの優先順位に従って解釈されます。その順序は次のとおりです。

括弧
Not
^、*、/、Div、Mod、And
+、-、Or、Xor
=、<>、<、>、<=、>=
&&、||

この優先順位は Pascal タイプの言語で使用される優先順位と同じです。あいまいさは、左から右に向かって処理することによって解決されます。括弧は内側から外側に向かって評価され、等価レベルは左から右に向かって評価されます。

クエリが正しく解釈されない可能性がある場合は、常に括弧を使用することを強くお勧めします。多くの括弧を使用することで、疑わしい部分が削減され、他者がクエリを読みやすくなります。

 

アクティブ ドキュメント内の選択したテキストや画像に関する問題を報告します。