Design Rulesの定義と管理
PCB Rules and Constraints Editor ダイアログは、メインメニューから Design » Rules コマンドを選択することで開きます。
Design メニューに Rules コマンドがありませんか? PCB Rules and Constraints Editor ダイアログが利用可能かどうかを確認してください。詳細は learn more を参照してください。
PCB Rules and Constraints Editor ダイアログには2つのセクションがあります。
-
左側のツリーには、さまざまなルールカテゴリが一覧表示されます。カテゴリを展開すると、利用可能な個々のルールタイプが表示されます。ルールタイプを展開すると、そのタイプで現在定義されているすべてのルールが表示されます。
利用可能なルールタイプとその制約について詳しくは、PCB Design Rule Types のページおよびそのサブページを参照してください。
-
ダイアログ右側には、ツリーで現在選択されている項目に応じた情報が表示されます。選択したルールタイプまたはカテゴリについて定義済みルールの概要、システム全体のすべての定義済みルール、または実際のルールが選択されている場合はそのルールの制約が表示されます。
-
ルートフォルダーをクリックすると、すべてのカテゴリにまたがるすべてのDesign Ruleタイプについて定義された個別ルールの一覧概要が、ダイアログのメイン編集領域に表示されます。
-
カテゴリフォルダーをクリックすると、そのカテゴリに関連付けられたすべてのDesign Ruleタイプについて定義された個別ルールの一覧概要が表示されます。
-
ルールタイプフォルダーをクリックすると、そのタイプについて定義された個別ルールの一覧概要が表示されます。
概要一覧では、各ルールについて次の項目が表示されます。
-
Name - ルール名。
-
Priority - ルールの現在の優先順位。
-
Enabled - ルールが現在有効か無効か(クリックで切り替え可能)。 無効なルールは概要一覧でグレー表示されます。
-
Type - ルールのタイプ。
-
Category - そのルールが属するカテゴリ。
-
Scope - ルールのスコープ(つまり、どのオブジェクトに適用されるか)。
-
Attributes - そのルールに対して定義されている制約属性。
フォルダーツリーペイン内の特定ルールの項目をクリックするか、概要一覧内のその項目をダブルクリックすると、その定義を管理するためのコントロールにアクセスできます。
-
Name - ルールの現在の名前。必要に応じて変更できます。
-
Comment - このフィールドには、そのルールに追加されたコメントが表示されます。たとえば、そのルールの用途を示すわかりやすい説明などです。
-
Unique ID - ルールの一意識別子。各ルールはそれ自体が設計オブジェクトであり、したがって実体のあるデータです。IDを使用することで一意性が保証されます。Unique IDが真価を発揮するのは、回路図ドメイン内で作成されたルールの場合です。回路図上のオブジェクトにDesign Ruleパラメータを追加すると、各ルールパラメータに一意のIDが付与されます。同じIDが、PCB内で作成される対応するDesign Ruleにも付与されます。このUnique IDにより、ルールの制約は回路図側またはPCB側のどちらでも編集でき、同期時に変更内容を反映できます。
-
Test Queries - クリックすると Test Queries Result dialog が開きます。このダイアログには、定義したルールの特殊化を考慮したうえで、そのルールの影響を受けるオブジェクト数が表示されます。これにより、クエリに応答するオブジェクトが存在するかを確認できるほか、フィルターとルールの影響を受けるオブジェクト集合が意図どおりかどうかを確認できます。
-
Rule Scoping Controls - この領域には、ルールが適用される、またはルールの対象となるオブジェクトに関して、そのスコープを決定するためのコントロールが用意されています。
-
Constraints - このダイアログ領域には、編集中のルールタイプに適用される制約が表示されます。各種コントロールを使用して、必要に応じてこれらの制約を設定してください。制約領域の上にある F1 を押すと、ドキュメント内の PCB Design Rule Types 領域にある、そのルールタイプのページにアクセスできます。

PCB Rules and Constraints Editor ダイアログ – Design Rules管理の中枢。
Design Rulesの確認
ソフトウェアで新規作成されたデフォルトのボードには、あらゆる設計で必要となるわけではないルールが含まれており、さらに多くの設計ルールは設計要件に合わせて調整する必要があります。そのため、設計ルールを確認することが非常に重要です。これは PCB Rules and Constraints Editor で行えます。左側のツリーの最上部にある Design Rules を選択し、Attributes 列を下へ確認してすべてのルールを見ていくことで、値の調整が必要なルールをすばやく見つけられます。
新しいボードを作成すると、設計に不要な可能性のあるデフォルト設計ルールが含まれます。不要なルールは、PCB Rules and Constraints Editor 内の Design Rules エントリ、または特定のカテゴリのエントリをクリックし、ルールを無効化することで無効にできます(Enabled 列のチェックボックスをオフにします)。
デフォルトのボードではヤード・ポンド法の単位も使用されます。ボードでメートル法を使用する場合、たとえば Soldermask expansion のような多くのルール値は、4mil のような丸められた値から 0.102mm に変わり、また Minimum Solder Mask Sliver のデフォルト値は 10mil から 0.254mm に変わります。たとえば 0.002mm のような最下位桁は出力生成時には重要ではありませんが、気になる場合は設計ルール内でこれらの設定を編集できます。

設計ルールを確認する際は、必要に応じて列の順序を変更できる点にも注意してください。
デフォルト設計ルール
新しい PCB ドキュメントを作成すると、Design Rule Check システムを正しく機能させるために必要なデフォルトルールがいくつか含まれます。デフォルトルールを削除した場合、PCB Rules and Constraints Editor を閉じると自動的に再作成されます。使用したくない設計ルールがある場合、それらを管理する正しい方法は無効化することです。
ルールを無効化するには、PCB Rules and Constraints Editor ダイアログの右側にあるサマリーリストのいずれかで、そのルールに対応する Enable オプションを切り替えます。無効化されたルールは「グレー表示」されます。設計ルールの無効化 の詳細も参照してください。
不要なルールは Enable オプションを使用して無効化します。 無効化されたルールは「グレー表示」されます。
デフォルトのルール値は内部的には mil 単位で定義されており、設計に適さない値になっていることがあります。独自のデフォルトルールと値を使用するには、次の方法があります。
-
プロジェクトテンプレート を作成して使用する、または
-
必要なルール設定を行った適切な空のボードファイルを作成し、新しいプロジェクト用にそのボードのコピーを使用する、または
-
テンプレートルールのセットを PCB Rule ファイル(*.RUL)にエクスポートし、そのルールを現在のボード設計にインポートする。設計ルールのエクスポートとインポート の詳細も参照してください。
Create Default Rules ボタンをクリックすると、PCB のデフォルト設計ルール一式が再生成されます。ルールを削除した場合は、このボタンをクリックすることでデフォルトのルール一覧を復元できます。デフォルトルールが変更されている場合、それをリセットしたり置き換えたりはしません。
新しいルールの作成
PCB Rules and Constraints Editor ダイアログ内から新しい設計ルールを追加するには、左側のツリー内で必要なルールタイプに移動して選択し、ルールサマリーリストの下にある New Rule ボタンをクリックするか、必要なルールタイプ上で右クリックしてコンテキストメニューから New Rule を選択します。
新しいルールはフォルダツリーに追加され、そのルールタイプのサマリーリストにも表示されます。ルール名は、新規作成されまだ「適用」されていないことを示すために太字で表示されます。

新しい PCB 設計ルールの作成例。
新しいルールを追加すると、最初はそのルールの種類に基づくデフォルト名が与えられます。たとえば、新しい Clearance ルールを追加すると、デフォルト名は Clearance になります。このデフォルト名を変更しない場合、同じタイプの新しいルールをさらに追加すると、同じルール名に連番の接尾辞が付加されます(つまり、Clearance_1、Clearance_2 など)。
特定のルールタイプに対して新しいルールが作成されると、自動的に優先度 1(最優先)が割り当てられます。そのタイプの他のルールが存在する場合、それらの優先度はそれに応じて 1 つずつ下げられます。これにより、それらはスコープ/制約レベルで明示的に変更されていなくても、変更済みと見なされます。したがって、そのタイプの既存ルールはすべて変更状態(太字かつアスタリスク付き)で表示されます。
そのルールのスコープおよび制約属性にアクセスするには、フォルダツリーペイン内のルールのエントリをクリックするか、サマリーリスト内のエントリをダブルクリックします。すると、ダイアログのメイン編集ウィンドウが切り替わり、そのルールのスコープと制約属性を定義するためのコントロールにアクセスできるようになります。

スコープおよび制約を含む、ルールの詳細コントロールにアクセスします。
新しいルールを完全に定義するには、次を行います。
-
ルールを識別しやすいように、意味のある名前を付けます。
-
ドロップダウンからスコープオプションを選択するか、クエリを入力して(バイナリルールの場合は複数のクエリ)、ルールのスコープを定義します。
-
ルールの制約を設定します。
-
ルールの優先度を設定します。
Rule Wizard を使用して新しいルールを作成する
新しいルールは Design Rule Wizard を使用して作成することもできます。アクセスは Design » Rule Wizard コマンドを直接使用するか、PCB Rules and Constraints Editor ダイアログ下部の Rule Wizard ボタンをクリックして行います。
既存ルールにまだ「適用」されていない変更がある場合、Rule Wizard ボタンは使用できません。
Wizard の各ページを使用して新しい設計ルールを作成します。手順は次のとおりです。
-
必要なルールタイプを選択し、わかりやすい名前を付けます(必要に応じてコメントも入力します)。
-
ルールのスコープを定義します。Wizard に組み込まれた Query Builder の機能を使って、さらにスコープを詳細化できます。
-
ルールの優先度を設定します。
Wizard の最後のページで Launch main design rules dialog オプションが有効になっている場合、Finish ボタンをクリックすると PCB Rules and Constraints Editor ダイアログが開きます。このダイアログを使用して、新しく作成したルールの制約を編集できます。

Design Rule Wizard を使用してルール作成を効率化します。
既存ルールの複製
既存ルールと同一のコピーをすばやく作成するには、複製機能を使用します。この機能には次の 2 通りの方法でアクセスできます。

ルール複製機能を使って、類似ルールの作成を効率化します。
複製されたルールには、元のルールと同じ名前に接尾辞(例:_1)が追加され、区別されます。その定義(スコープ、制約など)は元のルールと同一です。優先度については、元のルールより 1 つ低い次の優先度が与えられます。したがって、たとえば元のルールの優先度が 1 の場合、複製ルールには 2 の優先度が与えられます。
PCB Filter パネルからルールを作成する
設計ルールは対象となる設計オブジェクトのセットに適用されるようスコープ設定されるため、先にそれらのオブジェクトを特定してから、それらを対象とする設計ルールを作成したほうが簡単で効率的な場合があります。PCB Filter panel には、パネル内で現在定義されているクエリ式をスコープとして使用する設計ルールを作成する機能があります。したがって、クエリ式 might が何を対象としているのかを頭の中で思い描こうとするのではなく、PCB Filter パネルを使用して必要なオブジェクトだけがフィルタされるまでクエリ式をテストおよび調整できます。その後、そのクエリ式を使用するルールを作成すれば、正しいオブジェクトセットを確実に対象にできます。
新しい設計ルールを追加するには、次の手順を行います。
-
Create Rule ボタンをクリックします。Choose Design Rule Type ダイアログが表示されます。このダイアログには、PCB ドキュメントで使用可能な各ルールカテゴリとルールタイプが一覧表示されます。
-
作成するルールの種類を選択し、OK をクリックします(またはエントリを直接ダブルクリックします)。
-
PCB Rules and Constraints Editor ダイアログが表示されます。選択したタイプのルールが作成され、そのルールのメイン編集ウィンドウが表示され、ルール固有の制約を定義できる状態になります。ルールのスコープオプションは Custom Query に設定され、PCB Filter パネルのクエリ式がそれに応じてクエリ領域に入力されます。
-
必要に応じて、ルール名および制約を変更します。また、必要であれば優先度も変更します(デフォルトでは最優先が割り当てられます)。

PCB Filter パネルから直接新しい設計ルールを作成します。フィルタのクエリ式がルールのスコープとして使用されます。
過去のクエリ式の再利用
時間の経過とともに、さまざまな基板をレイアウトしていく過程で、多くの便利なクエリ式が作成されます。通常は、同じ設計内だけでなく、異なる設計間でも同じクエリを適用し、再利用したくなるでしょう。これを可能にするため、PCB Filter panel は Historical と Favorite の概念をサポートしています。
パネルからクエリを入力して適用すると、そのクエリはクエリの「履歴リスト」に追加されます。さらに、そのクエリは Add To Favorites ボタンをクリックすることでクエリの「お気に入りリスト」に追加できます。パネル内の History ボタンおよび Favorites ボタンを使用すると、Expression Manager dialog 内の同名の各タブにアクセスして、これらのリストを確認できます。

適用したクエリ式の履歴にアクセスし、繰り返し再利用するためのお気に入り式の一覧を作成できます。
どちらのリストの式も、項目をダブルクリックするか、項目を選択して Apply Expression ボタンをクリックすることで使用できます。Expression Manager ダイアログは閉じられ、その式が Filter panelPCB Filter の Filter 領域に読み込まれます。
この機能により、必要なスコープを持つルールの作成が簡素化され、効率化されます。履歴またはお気に入りのクエリ式を取得し、それが引き続き必要なオブジェクトセットを対象としていることを確認し(フィルターを適用)、前のセクションで説明したように、その式をスコープに使用するルールを作成します。
Design Rule のスコープ設定
Altium Designer の PCB エディターは、ルール駆動型の環境です。設計要件は、基板に対する制約をまとめて定義する、明確に定義された一連のデザインルールによって適用されます。デザインルールは、設計内の特定のオブジェクトを対象にします。PCB ルールシステムが、あるルールがどのオブジェクトに適用されるかを認識するには、そのルールのスコープ、つまり適用範囲を知る必要があります。Scoping、またはルールのターゲット設定は、PCB Rules and Constraints Editor ダイアログで行います。
デフォルトのデザインルール、または新たに追加されたルールには、デフォルトのルールスコープとして All が設定されており、これは基板上の all objects に適用されることを意味します。ドロップダウンを使用すれば、シンプルなルールスコープをすばやく設定できます。

デザインルールのスコープを設定して、設計オブジェクトへの適用範囲を定義します。
あらかじめ定義されたターゲット候補の一覧に制限されるのではなく、各デザインルールは、Query と呼ばれるものを記述することで、さらに厳密にスコープ設定できます。
クエリを入力するには、最初の Where The Object Matches ドロップダウンを Custom Query に設定します。現在のドロップダウン設定に基づいて、このルールに対してルールエンジンが現在使用しているクエリが表示されます。
クエリとは本質的に、対象とする設計オブジェクトの集合を定義するソフトウェアへの指示です。クエリはクエリキーワードを使用して記述します。Filter panel で特定のオブジェクトセットを見つけるためにクエリを書けるのと同様に、各ルールが対象とするオブジェクトを定義するためにもクエリを書けます。たとえば、次のようになります。
InNet('VBAT') And OnLayer('Bottom Layer')
このクエリを Width rule のスコープとして使用した場合、VBAT ネットを配線していてボトムレイヤーに切り替えると、そのトラック幅はそのルールの制約として指定された幅に自動的に変更されます。また、デザインルールチェックを実行した際には、ボトムレイヤー上の VBAT ネット配線は指定された幅でなければならず、そうでない場合は違反として報告されます。

ルールのスコープ設定はクエリシステムに基づいています。Custom Query オプションを使用すると、現在のクエリを確認し、必要に応じてクエリキーワードを使って変更できます。
ルールが単項か二項かによって、それぞれ 1 つまたは 2 つのスコープを定義する必要があります。単項デザインルールの場合は、1 つのルールスコープを定義するためのコントロールが表示されます。Where The Object Matches 領域にあるオプションを使ってクエリ式を構築でき、その結果は右側の領域に表示されます。二項デザインルールの場合は、両方のルールスコープを定義するために Where The First Object Matches と Where The Second Object Matches のコントロールが表示されます。それぞれの利用可能なドロップダウンを使ってクエリ式を構築してください。1 つのルールスコープを定義する場合でも、2 つ定義する場合でも、コントロールは同じです。
PCB コンポーネントのデジグネーターやポリゴン名が変更されると、カスタムクエリを使用しているデザインルール内の参照は自動的に更新されます。デザインルール内で PCB コンポーネントのデジグネーターを参照しているクエリは、デジグネーターが再アノテーションされた場合、ECO によって更新された場合、または基板上で手動編集された場合に変更されます。
コンポーネントのデジグネーターが変更されたときにルールクエリを更新する機能は、Advanced Settings dialog で PCB.Rules.UpdateQueryOnComponentDesignatorChange オプションが有効になっている場合に利用できます。
ポリゴン名が変更されたときにルールクエリを更新する機能は、Advanced Settings dialog で PCB.Rules.UpdateQueryOnPolygonNameChange オプションが有効になっている場合に利用できます。
クエリに構文エラーがある場合、そのルールは無効と見なされ、PCB Rules and Constraints Editor ダイアログ内で赤色表示されます。これは左側のルールツリーだけでなく、そのルールが表示されるあらゆるサマリービュー(ルールカテゴリまたはルールタイプ)でも同様です。さらに、左側のルールツリーでは、ルールタイプおよびルールカテゴリのテキストも赤色で表示されます。したがって、無効なルールを含むルールツリーの領域を折りたたんでいたとしても、階層のより上位レベルで問題に気付くことができます。また、ダイアログを閉じようとすると警告メッセージも表示されます。構文エラーを含むルールスコープは、Online および Batch DRC の解析処理を大幅に遅くする可能性があります。構文的に正しくないルールスコープは、必ず解消してください。
スコープ設定オプション
シンプルなスコープ設定オプションが用意されており、これを使うとスコープクエリをすばやく生成できます。最初のドロップダウンフィールドからいずれかのオプションを選択し、必要に応じて後続のドロップダウンリストを使用して、Net、Layer、Footprint、Package などの適切なターゲットを選択します。表示されるスコープ設定オプションは、ルールタイプに応じて最適化されています。

シンプルなスコープ設定オプションを使って、クエリをすばやく作成します。
シンプルなスコープ設定オプションの例を以下に示します。
-
All - すべての設計オブジェクトを対象とするスコープクエリを生成します。
-
Net - 特定のネット内のすべてのオブジェクトを対象とするスコープクエリを生成します。追加のドロップダウンが表示され、利用可能な候補の一覧(No Net を含む)から目的のネットを選択できます。
-
Net Class - 特定のネットクラス内のすべてのオブジェクトを対象とするスコープクエリを生成します。追加のドロップダウンが表示され、利用可能な候補の一覧(All Nets を含む)から目的のネットクラスを選択できます。
-
Layer - 特定のレイヤー上のすべてのオブジェクトを対象とするスコープクエリを生成します。追加のドロップダウンが表示され、利用可能な候補の一覧から目的のレイヤーを選択できます。
-
Net and Layer - 特定のネット内かつ特定のレイヤー上のすべてのオブジェクトを対象とするスコープクエリを生成します。追加の 2 つのドロップダウンが表示され、そこから目的のネットとレイヤーを選択できます。
シンプルなスコープ設定オプションを使用してルールのスコープを設定した場合でも、クエリ自体は作成されます。最初のドロップダウンフィールドで Custom Query を選択すると、そのクエリが表示されます。
Custom Query オプションを使用すると、独自の、より複雑である一方でより具体的なクエリを記述できます。ルールスコープ用の独自のクエリを、右側のクエリ領域に直接入力できます。あるいは、論理クエリ式の作成を支援する 2 つの機能、Query Builder と Query Helper も利用できます。これらは、クエリの構文や使用可能なキーワードに自信がない場合に役立ちます。

Custom Query オプションを使用して、より複雑なクエリ式を作成します。
-
Query Language に精通している場合は、クエリ領域に直接クエリ式を入力できます。また、お気に入りのエディターからクエリ式を直接この領域に貼り付けたり、クエリ式を外部エディターにコピーしたり、さらに二項ルールの 2 番目のスコープにクエリを貼り付けたりすることもできます。これは、2 つのスコープが複雑で、わずかな違いしかない場合に特に便利です。
-
Query Builder は、関連する「構成要素」のみを使って組み立てられるよう、状況に応じた条件タイプと値を使用する、より簡単なクエリ構築方法です。キーワード指定と演算子構文を完全に使った高度なクエリ構築には、Query Helper を使用してください。
Query Builder を使用したルールのスコープ設定
Custom Query オプションが選択されている場合は、
ボタンをクリックして Building Query from Board dialog を開きます。これにより、条件文の文字列をシンプルに組み立てることで、設計ドキュメント内の特定のオブジェクトを対象とするクエリを作成できます。
ダイアログの左側のセクションでは、必要なオブジェクト群を対象にするために必要な条件を指定します。各条件は、Condition Type とCondition Valueで構成されます。これらのドロップダウンフィールドには、それぞれ現在のルールタイプのスコープ構築に関連する項目と、選択した条件タイプに対応する値が表示されます。
条件を定義すると、現在構築中のクエリのプレビューがダイアログ右側のセクションに表示されます。条件は AND や OR で組み合わせることができ、さらに優先順位も(括弧やインデントを使って)組み込むことで、対象オブジェクトの集合をより絞り込めます。必要なクエリ式の定義が完了したら、OKをクリックすると、その式がPCB Rules and Constraints Editorダイアログのクエリ領域に読み込まれます。
なお、PCB Rules and Constraints Editorダイアログに表示される際には、クエリ式の先頭と末尾にそれぞれ追加の開き括弧と閉じ括弧が付加されます。

Query Builderを使用すると、一連の条件文によって論理クエリ式を構築できます。
Query Helper を使用したルールのスコープ設定
Custom Queryオプションを選択した場合は、
ボタンをクリックしてQuery Helper dialogにアクセスします。内部の Query Engine が PCB 設計を解析し、使用可能なすべてのオブジェクトと、クエリで使用するための汎用キーワードを一覧表示します。
Query Helperの操作はかなり直感的ですが、以下の画像に示すように 3 つの明確な領域に分けて考えると、さらに理解しやすくなります。

Query Helperを使用して定義した複雑なクエリの例。
これらの領域は次のとおりです。
-
Query Region – このダイアログ領域では、クエリ式を作成します。ルールスコープに現在適用されている式は、ダイアログを開いたときにデフォルトでこの領域に表示されます。この領域には直接入力でき、入力を補助するために、候補となるキーワードやオブジェクトのコンテキスト依存の「候補リスト」が表示されます。
-
Operators – このダイアログ領域には、式を構築するときに使用する各種の数学演算子および論理演算子が用意されています。ボタンをクリックすると、その演算子が上のQuery領域内の現在のカーソル位置に挿入されます。
-
Categories, Keywords and Objects – このダイアログ領域では、クエリ式の作成に使用できる PCB Functions、PCB Object Lists、System Functions にアクセスできます。これら 3 つの領域のいずれかでサブカテゴリをクリックすると、対応するキーワードまたはオブジェクトの一覧が右側の領域に表示されます。クエリ文字列で使用するキーワードまたはオブジェクトを見つけたら、その項目をダブルクリックしてください。すると、その項目が上のQuery領域内の現在のカーソル位置に挿入されます。
式の構文が正しいことを確認するには、
ボタン(ダイアログ左下)を使用します。必要なクエリ式の定義が完了したら、OKをクリックすると、その式がPCB Rules and Constraints Editorダイアログのクエリ領域に読み込まれます。
クエリ式における演算子の優先順位
このセクションを終える前に、論理クエリ式で使用される演算子の優先順位について確認しておくとよいでしょう。こうした知識がないと、式が意図したオブジェクトを対象にできない場合があるためです。
さまざまな演算子に対して定義されている優先順位の中で、括弧が最も高い優先順位を持ちます。この優先順位によって、ソフトウェアがクエリをどのように解釈するかが決まります(ユーザーが括弧を指定していない場合)。この優先順位は、高いものから低いものへ順に次のとおりです。
-
括弧
-
Not
-
^, *, /, Div, Mod, And
-
+, -, Or, Xor
-
=, <>, <, >, <=, >=
-
&&, ||
この優先順位は、Pascal 系言語で使用されるものに似ています。曖昧さがある場合は左から右へ処理して解決されます。括弧は内側から外側へ評価され、同じ優先レベルのものは左から右へ評価されます。
クエリが正しく解釈されない可能性が少しでもある場合は、必ず括弧を使用することを強く推奨します。括弧を十分に使用することで曖昧さがなくなり、作成されたクエリは他の人にとっても読みやすくなります。
ルールの優先順位付け
ルールの定義と管理のプロセスを簡素化するため、まず広範な要件をカバーする一般的なルールを定義し、その後、特定の状況ではより具体的なルールでそれを上書きする、という考え方を取ります。これを可能にするには、同じタイプの複数ルールが同一オブジェクトを対象にした場合に、どのルールを使用するかを示すため、ルールに優先順位を付けられる必要があります。
たとえば、基板上で最も一般的に使用する配線幅を指定するには、基板上のすべてのネットに適用される単一のルールを定義します。その後、特定のネット(あるいはネットクラス)については、同じタイプでより高い優先順位を持つ別のルールを追加することで、このルールを上書きできます。
別の例としては、ソルダーマスク要件が挙げられます。この場合、まず基板上のすべてのパッドとビアを対象とする 1 つのマスクルールを定義し、その後、特定のフットプリント種別内のパッドについては別ルールで上書きできます。必要であれば、このフットプリント固有のルールを、そのフットプリント内の特定パッドに対してさらに上書きすることも可能です。
ルール管理における重要な点は、すべての優先順位が適切に設定されていることを確実にすることです。新しいルールを作成すると、デフォルトでは最高優先順位になります。優先順位を設定するには、PCB Rules and Constraints Editorダイアログの下部にあるPrioritiesボタンを使用して、Edit Rule Prioritiesダイアログで構成します。

Edit Rule Prioritiesダイアログでルールの優先順位を変更します。
初期状態では、このダイアログには現在PCB Rules and Constraints Editorダイアログで選択されているルールタイプのすべてのルールインスタンスが一覧表示されます。Rule Typeフィールドを使用してルールタイプを変更し、そのタイプに定義されている特定のルールを表示します。定義済みルールは、現在の優先順位順、つまり 1(最高優先順位)から下位へ向かって一覧表示されます。ルール項目を選択し、Increase PriorityボタンおよびDecrease Priorityボタンを使用して、それぞれ優先順位を上または下に移動できます。
すでに 1 つ以上の既存ルールを含むルールタイプに新しいルールを追加すると、その優先順位は 1(つまり最高優先順位)に設定されます。 ルールを複製した場合、コピーには元のルールより下の優先順位が与えられます。
同じタイプのルールを複数設定できます。その結果、ある設計オブジェクトが同じスコープを持つ複数のルールの対象になる場合があります。この場合、競合が発生します。すべての競合は優先順位設定によって解決されます。システムは優先順位の高いルールから低いルールへ順に確認し、チェック対象のオブジェクトにスコープ式が一致した最初のルールを採用します。ただし例外が 1 つあり、複数の Matched Length 設計ルールはオブジェクトに適用可能であり、その場合はすべてのルールがそのオブジェクトに適用されます。
既存ルールの変更
もちろん、ルールはいつでも変更できます。実際、最終的に実用的なルールセットに到達するまでには、いくつかの重要な調整が必要になることがよくあります。通常は、対象の設計オブジェクトが各ルールで必要どおりに「拾われる」ようにするため、スコープの調整が中心になります。PCB Rules and Constraints Editorダイアログで既存ルールを選択し、必要に応じてそのスコープや制約属性を変更してください。
既存のルール定義に加えられた変更は、フォルダツリーペインと該当するサマリーリストの両方で強調表示されます。こうした項目は、ルール名が太字になり、その右側にアスタリスクが表示されることで区別されます。このアスタリスクは、そのルールが新規作成ルールではなく、変更された既存ルールであることを示します(新規作成ルールはアスタリスクなしの太字で表示されます)。

変更された既存ルールの例。変更は、ルール名を太字にし、さらにアスタリスクを付けることで示されます。
特定のルールタイプに対して新しいルールを作成すると、自動的に優先順位 1 が与えられます。そのタイプの他のルールが存在する場合、それらの優先順位はそれに応じて 1 つずつ下げられます。すると、それらはスコープや制約レベルで明示的に変更されていなくても、変更済みと見なされます。そのため、そのタイプの既存ルールはすべて変更状態(アスタリスク付きの太字)で表示されます。
無効なルールの表示
システムによってルールが無効と判定された場合、たとえばスコープのクエリ式に問題がある、または許可されていない制約値が設定されている場合、そのルールには無効であることが示されます。そのようなルールは、PCB Rules and Constraints Editorダイアログ内で赤色表示され、左側のルールツリーと、そのルールが表示されるすべてのサマリービュー(ルールカテゴリまたはルールタイプ)の両方で強調表示されます。さらに、左側のルールツリーでは、ルールタイプとルールカテゴリのテキストも赤色で表示されます。したがって、無効なルールを含むルールツリーの領域を折りたたんでいても、階層のより上位レベルでその存在に気付くことができます。ダイアログを閉じようとすると、警告メッセージも表示されます。
構文エラーを含むルールスコープは、Online DRC および Batch DRC の解析を大幅に遅くする可能性があるため、構文的に正しくないルールスコープは必ず解消してください。

システムが無効な設計ルールを検出して示している例。この場合は、スコープのクエリ式に誤りがあります。
ルールの無効化
ソフトウェアのPCBエディターにおけるルール駆動型環境では、基板を適切に制約するために、かなり充実した包括的なルール群を構築することは珍しくありません。さまざまな理由により、それらのルールの一部を無効にしたい場合があります。 たとえば、そのルールが対象の基板には適用されない場合や、Design Rule Checkerの負荷を軽減して(結果として)パフォーマンスを向上させるために一時的に無効にする必要がある場合です。無効化しておけば、将来再び必要になったときに備えて、そのようなルールを保持しておくことができます。
ルールを無効にするには、PCB Rules and Constraints Editorダイアログの右側にある関連するサマリーリストのいずれかで、そのルールに対応するEnableオプションを切り替えます。無効化されたルールは、グレー表示でも示されます。

サマリーリスト内でグレーのフォントで表示されている、無効化されたルールの例。
ルールは、
PCB Rules And Violations panelから直接無効化/有効化することもできます。ルールに関連付けられた
Onオプションを切り替えてください。これは、
PCB Rules and Constraints Editorダイアログ内のそのルールの
Enableオプションにも反映されます。
ルールの削除
PCB Rules and Constraints Editorダイアログ内で単一のデザインルールを削除するには、次のいずれかの方法を使用します。
-
左側のツリーを使って目的の既存ルールに移動し、右クリックしてコンテキストメニューからDelete Ruleを選択します。
-
左側のツリーで特定のルールタイプに移動し、右側のサマリーリストで削除するルールを選択します。その後、リストの下にあるDelete Rule(s)ボタンをクリックします。
ルール名は太字かつ取り消し線付きで表示され、まだ「適用」されていない削除対象であることが区別されます。

単一ルールの削除。
-
特定のデザインルールが不要になったものの、将来再び使用する可能性がある場合は、削除する代わりに単に無効化できます。これを行うには、PCB Rules and Constraints Editorダイアログの右側にある関連するサマリーリストのいずれかで、そのルールに対応するEnableオプションを切り替えます。
-
複数のルールは、サマリーリスト表示から1回の操作で削除できます。その場合は、削除するルールを選択し(標準のShift+clickおよびCtrl+clickショートカットに対応)、リストの下にあるDelete Rule(s)ボタンをクリックします。
-
Design Rule Checkシステムが機能するためには、特定のルールが存在している必要があります。 これらのルールのいずれかが削除され(そのルールタイプが1つも存在しなくなった場合)、自動的に再作成されます。 デフォルトのデザインルールの詳細をご覧ください。
多くのルールタイプでは、新しいPCBドキュメントの作成時にデフォルトルールが作成されます。同様に、それらのルールタイプのいずれかについてすべての個別ルールが削除された場合、次回PCB Rules and Constraints Editorダイアログを開いたときにデフォルトルールが自動的に再追加されます。あるいは、ダイアログの下部にあるCreate Default Rulesボタンをクリックすることで、デフォルトルールを再作成することもできます。
ルールのエクスポートとインポート
デザインルールは、PCB Rules and Constraints Editorダイアログからエクスポートしたり、そこへインポートしたりできます。これにより、異なる設計間でお気に入りのルール定義を保存および読み込みできます。
-
To export – ダイアログ左側のツリー内の任意の場所を右クリックし、Export Rulesを選択します。
Choose Design Rule Type dialogが開き、エクスポートするデザインルールを選択できます。続いて開くExport Rules to Fileダイアログで、.rulファイルの名前と保存場所を指定できます。 エクスポートされたルールは、PCBルールファイル(*.rul)に保存されます。
-
To import – ダイアログ左側のツリー内の任意の場所を右クリックし、 Import Rulesを選択します。
Choose Design Rule Type dialogが開き、インポートするデザインルールを選択できます。続いて開くImport Fileダイアログで、インポートする.rulファイルを参照します。
インポート時に、選択したタイプのルールがすでに存在する場合は、インポート前に既存ルールを消去するかどうかを選択できます。Yesをクリックすると、そのタイプの既存ルールはすべて削除され、その後.rulファイル内のルールに置き換えられます。Noをクリックすると、既存ルールは保持されます。ただし、既存ルールとインポートされるルールの名前が同じ場合は、インポートされたルールが既存ルールを上書きします。
デザインルールレポート
現在定義されているデザインルールのレポートは、PCB Rules and Constraints Editorダイアログ内から生成できます。レポートは、フォルダーツリーで選択されている項目に応じて、すべてのルールカテゴリ、特定のルールカテゴリ、または特定のルールタイプに対応できます。レポートは、次の方法で生成できます。
-
目的のサマリーリストを開き、右クリックしてコンテキストメニューからReportコマンドを選択するか、リストの下にあるReportボタンをクリックします。
-
フォルダーツリー内の該当項目を右クリックし、コンテキストメニューからReportコマンドを選択します。
適切なレポートがすでに読み込まれた状態で、Report Previewダイアログが開きます。このダイアログでは、さまざまなページ/ズームコントロールを使用してレポートを確認し、その後ファイルへエクスポートしたり印刷したりできます。

PCB Rules Reportを生成する。
Options and Controls of the Report Preview Dialog
-
Preview Window - このダイアログのメイン領域には、生成されたレポートのプレビューが表示されます。レポートは、ウィンドウ下部の各種コントロールおよび右クリックメニューを使用して操作できます。
スクロールバーを使用すると、拡大表示されたページを水平方向または垂直方向に移動できます。
-
Page x of x - 最初のxは現在表示中のページ番号、2番目のxはレポート全体の総ページ数です。
-
All - このボタンをクリックすると、利用可能なプレビューウィンドウ内に収まるようにページサイズが調整されます。ダイアログ(したがってプレビューウィンドウ)のサイズを変更すると、ページ全体が見えるようにサイズも再調整されます。
-
Width - このボタンをクリックすると、利用可能なプレビューウィンドウの横幅いっぱいに収まるようにページサイズが調整されます。ダイアログ(したがってプレビューウィンドウ)のサイズを変更すると、ページの全幅が常に表示されるようにサイズも再調整されます。
-
100% - このボタンをクリックすると、ページは実寸(100%)に設定されます。
-
% - このフィールドを使用して拡大または縮小します。実寸は100%です。小さい値を入力すると縮小表示されたレポートが表示され、大きい値を入力すると拡大表示されたレポートが表示されます。
ズームは、Ctrl+mouse wheel を使用するか、Page Up キーとPage Down キーを使ってそれぞれ拡大・縮小することでも実行できます。
右クリックを押したままドキュメントをドラッグすると、拡大表示をパン操作できます。Shift+mouse wheelまたはスクロールバーで水平方向にスクロールし、マウスホイールで垂直方向にスクロールします。
-
Page Navigation Controls - このコントロール群は、レポートのページ間を移動するための別の手段を提供します。これらのコントロールにより、ドキュメントの最初、前、次、最後のページへそれぞれ移動できます。あるいは、テキストボックスにページ番号を直接入力してEnterを押すこともできます。
-
Export - このボタンをクリックすると、Export Report From Project ダイアログが開き、レポートの保存場所、名前、エクスポート形式を指定して保存できます。 次の形式がサポートされています。
-
Microsoft Excel Worksheet (*.xls)
-
Adobe PDF (*.pdf)
-
Rich Text Format (RTF) (*.rtf)
-
Web Page (*.htm, *.html)
-
Web Layer (CSS) (*.htm, *.html)
-
JPEG Image File (*.jpg)
-
Window Bitmap File (*.bmp)
-
TIFF Image File (*.tif)
-
Print - このボタンをクリックするとレポートを印刷します。標準のPrint ダイアログが表示され、ページ範囲や部数を指定できます。
-
Open Report - このボタンをクリックすると、Exportで指定したアプリケーションで生成済みレポートを開きます。このボタンは、Export ボタンをクリックした後にのみ使用可能です。
右クリックコマンド
上記のコマンドの一部は、このダイアログ内の任意の場所を右クリックして表示される右クリックメニューからも利用できます。
-
Print - このボタンを使用してレポートを印刷します。 標準のPrint ダイアログが表示され、そこでページ範囲や部数を指定できます。
-
Export - このボタンをクリックすると、Export Report From Project ダイアログにアクセスでき、保存先、名前、エクスポート形式を指定してレポートを保存できます。 以下の形式がサポートされています:
-
Microsoft Excel ワークシート (*.xls)
-
Adobe PDF (*.pdf)
-
Rich Text Format (RTF) (*.rtf)
-
Web ページ (*.htm, *.html)
-
Web レイヤー (CSS) (*.htm, *.html)
-
JPEG 画像ファイル (*.jpg)
-
Windows ビットマップファイル (*.bmp)
-
TIFF 画像ファイル (*.tif)
-
Copy - このボタンを使用して、アクティブなページを Windows クリップボードにコピーします。必要に応じて、そこから外部アプリケーションに貼り付けることができます。
-
Page Width - このボタンをクリックすると、利用可能なプレビューウィンドウの横幅に収まるようにページサイズが調整されます。ダイアログ(およびプレビューウィンドウ)のサイズを変更すると、ページは幅全体が常に完全に表示されるようにリサイズされます。
-
Whole Page - このコマンドを使用すると、利用可能なプレビューウィンドウ内に収まるようにページサイズが調整されます。
-
Zoom In - このコマンドを使用して、レポートを段階的に拡大します。
-
Zoom Out - このコマンドを使用して、レポートを段階的に縮小します。