PCB設計ルールの定義、範囲設定、および管理
Altium Essentials: PCB Design Rules Creation
This content is part of the official Altium Professional Training Program. For full courses, materials and certification, visit Altium Training.
PCBエディタでは、設計要件を定義するために「設計ルール」という概念を採用しています。設計要件は、洗練された - target these objects and apply those requirements -なアプローチを用いて適用されます。設計ルールは、PCBエディタが従うべき「命令セット」を構成します。これらは、配線幅、クリアランス、プレーン接続スタイル、ビア配線スタイルなど、設計のあらゆる側面を網羅しており、多くのルールはオンライン Design Rule Checker (DRC)によってリアルタイムで監視でき、またいつでもバッチテストを実行してDRCレポートを生成することも可能です。ルールはオブジェクトとは独立して定義されます。
設計ルールは特定のオブジェクトを対象とし、階層的な方法で適用されます。例えば、基板全体に対するクリアランスルールがあり、その次に特定のネットクラスに対するクリアランスルールがあり、さらにその次にそのクラス内のパッドの1つに対するルールがあるといった具合です。PCBエディタは、ルールの優先順位と適用範囲を用いて、設計内の各オブジェクトにどのルールを適用すべきかを判断します。
ルールは、キーワード駆動型のクエリ言語を使用してオブジェクトを指定します。このクエリ言語では、次のような広範な識別子から NetClass や Allといった広範な識別子から、複雑で状況に依存する設計要件を正確に特定する厳密に定義されたクエリに至るまで、多岐にわたります。
明確に定義された設計ルールのセットがあれば、多様で、しばしば厳しい設計要件を伴う基板設計も成功裏に完了させることができます。 さらに、PCBエディタはルール駆動型であるため、設計の初期段階で時間をかけてルールを設定しておけば、ルールシステムが成功を確実にするためにしっかりと機能しているという安心感を持って、設計作業を効率的に進めることができます。
PCB ルールシステムの基礎
本ソフトウェアのPCBエディタに組み込まれたルールシステムには、他のPCB編集環境で採用されているほとんどの設計ルールシステムとは一線を画す、いくつかの基本的な特徴があります:
-
Rules are separate from the objects – ルールはオブジェクトの属性として追加されるのではなく、まず全体的なルールリストに追加され、その後、そのオブジェクトに適用されるようスコープが設定されます。これにより、ルールを複数のオブジェクトに適用したり、異なるオブジェクトに対して変更・適用したりすることが可能になります。もし個々のオブジェクトレベルでルール属性を変更しなければならなかった場合、こうした作業は非常に手間がかかるものとなるでしょう。
-
Rules are targeted (scoped) by writing a query – あらかじめ定義された固定のルール適用範囲セットを使用する代わりに、柔軟なクエリシステムを用いて、ルールが適用されるオブジェクトを定義します。これにより、個々の設計ルールの適用対象を精密に制御できます。
-
Rules for any design situation – 同じタイプのルールを複数定義し、それぞれを異なるオブジェクトのセットに適用対象とすることができるため、基板の制約定義を完全に制御できます。例えば、異なるレイヤー上でネットを異なる幅で配線するために、異なる幅のルールを定義することが可能です。
-
Each rule has a priority – どの設計オブジェクトに対しても、同じタイプの複数のルールを適用対象とすることができ、一般的な状況からより具体的な状況まで対応可能です。ルールの競合が発生した場合は、ルールの優先順位が適用されます。システムは、優先順位の高いものから低いものへと順にルールを処理し、チェック対象のオブジェクトとスコープ式が一致する最初のルールを選択します。
-
There are two types of rules – 単項ルール(オブジェクトに求められる挙動を定義するルール)と二項ルール(2つのオブジェクト間の相互作用を定義するルール)。
Altium Designer の設計ルールは、 PCB Rules and Constraints Editor ダイアログ内で定義および管理されます。設計制約ルールを管理する別の方法として、ドキュメントベースの「Constraints Editor」([Constraints] [ドキュメント] タブ)を使用することもできます。
設計ルールの定義と管理
この PCB Rules and Constraints Editor ダイアログは、メインメニューから Design » Rules コマンドを選択することで、このダイアログにアクセスできます。
この PCB Rules and Constraints Editor ダイアログには2つのセクションがあります:
-
左側のツリーには、さまざまなルールカテゴリが一覧表示されています。カテゴリを展開すると、利用可能な個々のルールタイプが表示されます。ルールタイプを展開すると、現在定義されているそのタイプのすべてのルールが表示されます。
利用可能なルールタイプとその制約に関する詳細については、「PCB設計ルールタイプ」ページおよびそのサブページを参照してください。
-
ダイアログの右側には、ツリーで現在選択されている項目に関連する情報が表示されます。これは、選択されたルールタイプまたはカテゴリの定義済みルールの概要、システム全体で定義されたすべてのルール、あるいは実際のルールが選択されている場合はそのルールの制約条件です。
-
ルートフォルダをクリックすると、ダイアログのメイン編集領域に、すべてのカテゴリにわたるすべての設計ルールタイプに対して定義されたすべての具体的なルールの概要リストが表示されます。
-
カテゴリフォルダをクリックすると、そのカテゴリに関連付けられたすべての設計ルールタイプに対して定義されたすべての具体的なルールの概要一覧が表示されます。
-
ルール・タイプのフォルダをクリックすると、そのタイプに対して定義されているすべての具体的なルールの概要リストが表示されます。
概要リストでは、各ルールは以下の項目で一覧表示されます。
-
Name - ルールの名前。
-
Priority - ルールの現在の優先度。
-
Enabled - ルールが現在有効か無効か(クリックするとこの状態を切り替えられます)。無効なルールは、一覧表示でグレー表示されます。
-
Type - ルールの種類。
-
Category - ルールが属するカテゴリ。
-
Scope - ルールの適用範囲(つまり、どのオブジェクトに適用されるか)。
-
Attributes - ルールに対して定義されている制約属性。
フォルダツリーペインで特定のルールのエントリをクリックするか(または概要リスト内のエントリをダブルクリックして)、その定義を管理するためのコントロールにアクセスします:
-
Name - ルールの現在の名前。必要に応じて変更できます。
-
Comment - このフィールドには、ルールに追加されたコメント(例:ルールの使用目的に関する説明など)が表示されます。
-
Unique ID - ルールの固有識別子。すべてのルールはそれ自体が設計オブジェクトであり、したがって具体的なデータの一部です。ID を使用することで一意性が確保されます。この一意の ID が特に重要になるのは、回路図ドメイン内で作成されたルールの場合です。 回路図上のオブジェクトに設計ルールパラメータを追加する際、各ルールパラメータには一意のIDが割り当てられます。PCBで作成される対応する設計ルールにも、同じIDが割り当てられます。この一意のIDにより、回路図側またはPCB側のいずれかでルールの制約を編集でき、同期時に変更内容が反映されます。
-
Test Queries - クリックすると、「テストクエリ結果」ダイアログが開き、定義したルールの特化を考慮した上で、そのルールの影響を受けるオブジェクトの数が表示されます。 これにより、クエリに応答するオブジェクトがあるかどうかを確認できるほか、フィルタやルールによって影響を受けるオブジェクトのセットが意図した通りであるかどうかも確認できます。
-
Rule Scoping Controls - この領域には、ルールが適用されるオブジェクトや、ルールが作用する範囲を決定するためのコントロールが用意されています。
-
Constraints - ダイアログのこの領域には、編集中のルールタイプに適用される制約が表示されます。各種コントロールを使用して、必要に応じてこれらの制約を設定してください。ドキュメントの「PCB 設計ルールタイプ」セクションにある「制約」領域に F1 をクリックすると、ドキュメントの「PCB 設計ルールタイプ」エリア内にある、そのルールタイプに関するページにアクセスできます。
-

「 PCB Rules and Constraints Editor ダイアログ – 設計ルールを管理するための司令塔。
設計ルールを確認する
ソフトウェアによって作成されるデフォルトの新規基板には、すべての設計で必要とされるわけではないルールが含まれており、その他の多くの設計ルールも、設計の要件に合わせて調整する必要があります。このため、設計ルールを確認することは非常に重要です。これは PCB Rules and Constraints Editorで行えます。左側のツリーの上部にある Design Rules を選択し、 Attributes 列を順に確認し、値の調整が必要なルールを素早く特定します。
新しい基板を作成すると、その設計には不要なデフォルトの設計ルールが含まれている場合があります。不要なルールは、 Design Rules エントリまたは特定のカテゴリエントリをクリックして PCB Rules and Constraints Editor 、ルールを無効にすることで削除できます( Enabled 列のチェックボックスをオフにします)。デフォルトのボードではインペリアル単位が使用されています。ボードでメートル法を使用している場合
また、デフォルトの基板ではインペリアル単位が使用されています。基板でメートル法を使用している場合、ソルダーマスクの拡張幅など、多くのルール値が 4mil のような丸め値から 0.102mm に変更されたり、最小ソルダーマスクスリバーのデフォルト値が 10mil から 0.254mm に変更されたりします。 たとえば 0.002mm といった最下位桁は、出力生成に関しては重要ではありませんが、気になる場合は設計ルールでこれらの設定を編集することができます。

設計ルールを見直す際、必要に応じて列の順序を変更できる点に注意してください。
デフォルトの設計ルール
新しいPCBドキュメントが作成されると、デザインルールチェックシステムが正しく機能するために必要な、いくつかのデフォルトルールが含まれます。デフォルトルールを削除しても、 PCB Rules and Constraints Editor を閉じると自動的に再作成されます。使用したくない設計ルールがある場合は、それらのルールを無効にすることが適切な管理方法です。
ルールを無効にするには、「PCB ルールおよび制約エディタ」ダイアログの右側にある要約リストのいずれかで、そのルールに対応する「有効」オプションを切り替えます。無効化されたルールは「グレー表示」になります。設計ルールの無効化について詳しくはこちらをご覧ください。
「有効」オプションを使用して、不要なルールを無効にしてください。無効化されたルールは「グレー表示」されます。
新しいルールの作成
[ PCB Rules and Constraints Editor ダイアログ内から新しい設計ルールを追加するには、左側のツリー内で必要なルールタイプに移動して選択し、 New Rule ルール概要リストの下にあるボタンをクリックするか、必要なルールタイプを右クリックして、コンテキストメニューから New Rule を選択します。
新しいルールはフォルダツリーに追加され、そのルールタイプの概要リストにも表示されます。ルール名は、新規でありまだ「適用」されていないことを区別するために太字で表示されます。
ルールのスコープおよび制約属性にアクセスするには、フォルダツリーペイン内のそのルールのエントリをクリックするか、サマリーリスト内のエントリをダブルクリックします。ダイアログのメイン編集ウィンドウが切り替わり、そのルールのスコープおよび制約属性を定義するためのコントロールが利用可能になります。

スコープや制約を含む、ルールの詳細なコントロールへのアクセス。
新しいルールを完全に定義するには:
- ルールを識別しやすいように、意味のある名前を付けます。
- ドロップダウンからスコープ設定オプションを選択するか、クエリ(バイナリ規則の場合は複数のクエリ)を入力して、規則のスコープを定義します。
- ルールの制約を設定します。
- ルールの優先順位を設定します。
ルールウィザードを使用した新規ルールの作成
新しいルールは、 Design Rule Wizardを使用して新しいルールを作成することもできます。 Design » Rule Wizard コマンドを使用するか、画面下部の Rule Wizard ダイアログの下部にある PCB Rules and Constraints Editor ダイアログの下部にあるボタンをクリックしてアクセスできます。
[デザインルール] ページの各ページを使用して、 Wizard の各ページを使用して、新しい設計ルールを作成します。手順は以下の通りです:
- 必要なルールタイプを選択し、わかりやすい名前(および必要に応じてコメント)を付けます。
- ルールの適用範囲を定義します。ウィザードに組み込まれたクエリビルダー機能を使用することで、適用範囲をさらに詳細に設定することができます。
- ルールの優先順位を設定します。

「 Design Rule Wizard を使用して、ルールの作成を効率化してください。
既存のルールの複製
既存のルールの完全なコピーを素早く作成するには、複製機能を使用します。この機能には、次の2つの方法でアクセスできます。
-
左側のツリーを使用して目的の既存ルールまで移動し、右クリックしてコンテキストメニューから Duplicate Rule を選択します。
-
左側のツリーで特定のルールタイプに移動し、右側の概要リストから複製するルールを選択してから、 Duplicate Rule リストの下にあるボタンをクリックします。

ルール複製機能を使用して、類似したルールの作成を効率化しましょう。
複製されたルールには、元のルールと同じ名前が付けられ、区別するために接尾辞(例: _1)が追加されます。その定義(適用範囲、制約など)は元のルールと同一になります。優先度に関しては、元のルールの直下の優先度が割り当てられます。したがって、例えば、元のルールの優先度が 1の場合、複製されたルールには優先順位 2が割り当てられます。
PCB フィルターパネルからのルール作成
設計ルールは、対象となる設計オブジェクトのセットに適用される範囲が定められているため、まずそれらのオブジェクトを特定してから、それらを対象とする設計ルールを作成する方が簡単(かつ迅速)です。PCB フィルターパネルには、パネル内で現在定義されているクエリ式を適用範囲として使用する設計ルールを作成する機能が備わっています。したがって、クエリ式の might を視覚化しようと苦労するよりも、 PCB Filter パネルを使用して、必要なオブジェクトのみがフィルタリングされるまでクエリ式をテストし、調整してください。その後、そのクエリ式を使用するルールを作成することで、確実に正しいオブジェクトのセットを対象とすることができます。
新しい設計ルールを追加するには:
- [ Create Rule ボタンをクリックします。すると、 Choose Design Rule Type ダイアログが表示されます。このダイアログには、PCBドキュメントで使用可能な各ルールカテゴリおよびルールタイプが一覧表示されます。
- 作成するルールのタイプを選択し、[ OK をクリックします(または、該当する項目を直接ダブルクリックします)。
- すると、 PCB Rules and Constraints Editor ダイアログが表示されます。選択したタイプのルールが作成され、ルールのメイン編集ウィンドウが表示され、ルールに対する具体的な制約を定義できる状態になります。ルールのスコープ設定は Custom Queryに設定され、 PCB Filter パネルからクエリ式がクエリ領域に自動的に入力されます。
- 必要に応じて、ルールの名前や制約を変更してください。また、必要に応じて優先度を変更してください(デフォルトでは最優先度が割り当てられます)。

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

適用済みのクエリ式履歴にアクセスしたり、繰り返し再利用するためのお気に入りの式の一覧を作成したりできます。
いずれかのリストにある式を使用するには、そのエントリをダブルクリックするか、エントリを選択して Apply Expression ボタンをクリックします。 Expression Manager ダイアログが閉じ、式が Filter 領域に読み込まれます。 PCB Filter パネルに読み込まれます。この機能により、必要なスコープを指定したルールの作成が効率化(および迅速化)されます。
この機能により、必要なスコープ設定を伴うルールの作成が効率化(および迅速化)されます。前のセクションで詳述したように、過去のクエリ式やお気に入りのクエリ式を取得し、それが依然として必要なオブジェクトセットを対象としていることを確認(フィルタを適用)してから、その式をスコープ設定に利用したルールを作成します。
設計ルールのスコープ設定
Altium Designer の PCB エディタは、ルール駆動型の環境です。設計要件は、基板の制約を総体的に定義する、明確に定義された一連の設計ルールを通じて適用されます。設計ルールは、設計内の特定のオブジェクトを対象とします。 PCBルールシステムが、特定のルールがどのオブジェクトに適用されるかを認識するためには、そのルールのスコープ、すなわち適用範囲を把握する必要があります。 Scopingルールの適用範囲の設定は、 PCB Rules and Constraints Editor ダイアログで行われます。
デフォルトの設計ルール、または追加された新しいルールには、デフォルトのルール範囲として Allが設定されており、これは基板上の all objects 。ドロップダウンを使用すると、単純なルール範囲を素早く設定できます。

設計ルールの適用範囲を設定して、設計オブジェクトへの適用を定義します。
各設計ルールは、あらかじめ定義された対象オプションのリストに制限されるのではなく、いわゆる Query」と呼ばれるものを記述することで、適用範囲をより厳密に設定できます。
クエリを入力するには、最初の Where The Object Matches ドロップダウンを Custom Queryに設定します。これにより、現在のドロップダウン設定に基づいて、ルールエンジンがこのルールに対して現在使用しているクエリが表示されます。
クエリとは、本質的に、対象とする設計オブジェクトのセットを定義するソフトウェアへの指示です。クエリは、クエリキーワードを使用して記述されます。特定のオブジェクトのセットを検索するために Filter 特定のオブジェクトのセットを検索するように記述できるのと同様に、各ルールが対象とするオブジェクトを定義するクエリも記述できます。例としては次のようなものがあります:
InNet('VBAT') And OnLayer('Bottom Layer')
このクエリを「幅」ルールの適用範囲として使用した場合、VBATネットを配線して最下層に切り替えるたびに、トレース幅は自動的にそのルールの制約として指定された幅に変更されます。 また、設計ルールチェックを実行すると、最下層上のVBATネットの配線はすべて、指定された幅を満たしている必要があり、そうでない場合は違反としてフラグが立てられます。

ルールのスコープ設定はクエリシステムに基づいています。 Custom Query オプションを使用して現在のクエリを確認し、必要に応じてクエリキーワードを使用して変更してください。
スコープ設定オプション
スコープ クエリを迅速に生成できる、シンプルなスコープ設定オプションが用意されています。最初のドロップダウン フィールドからオプションを 1 つ選択し、必要に応じて、後続のドロップダウン リストを使用して、ネット、レイヤー、フットプリント、パッケージなどの適切なターゲットを選択します。 表示されるスコープ設定オプションは、ルールの種類に応じて絞り込まれています。

簡易スコープ設定オプションを使用して、クエリをすばやく作成できます。
シンプルなスコープ設定オプションの例は以下の通りです:
-
All - すべての設計オブジェクトを対象とするスコープクエリを生成する。
-
Net - 特定のネット内のすべてのオブジェクトを対象とするスコープクエリを生成する。追加のドロップダウンが表示され、利用可能な選択肢のリストから目的のネットを選択できます。選択肢には以下が含まれます: No Net。
-
Net Class - 特定のネットクラス内のすべてのオブジェクトを対象とするスコープクエリを生成します。追加のドロップダウンが表示され、利用可能な選択肢のリストから目的のネットクラスを選択できます。選択肢には以下が含まれます All Nets。
-
Layer - 特定のレイヤー上のすべてのオブジェクトを対象とするスコープクエリを生成します。追加のドロップダウンメニューが表示され、利用可能な選択肢のリストから目的のレイヤーを選択できます。
-
Net and Layer - 特定のネットクラスに属し、かつ特定のレイヤー上にあるすべてのオブジェクトを対象とするスコープクエリを生成します。さらに2つのドロップダウンが表示され、そこから目的のネットクラスとレイヤーを選択できます。
「 Custom Query オプションを使用すると、より複雑ではあるものの、より具体的な独自のクエリを作成できます。右側のクエリ領域に、ルールのスコープに関する独自のクエリを直接入力できます。 あるいは、論理的なクエリ式を作成するのに役立つ2つの機能、「クエリビルダー」と「クエリヘルパー」が利用可能です。これらは、クエリの構文や使用可能なキーワードがわからない場合に役立ちます。

「 Custom Query オプションを使用して、より複雑なクエリ式を作成してください。
クエリビルダーを使用したルールのスコープ設定
[ Custom Query オプションが選択されている場合、[
] ボタンをクリックして [Building Query from Board] ダイアログを開きます。これにより、条件文の文字列を簡単に構築することで、設計ドキュメント内の特定のオブジェクトを対象とするクエリを作成できます。
ダイアログの左側のセクションは、必要なオブジェクトのセットをターゲットにするために必要な条件を指定するために使用されます。各条件は Condition Type と Condition Valueで構成されます。これらのドロップダウンフィールドには、それぞれ、現在のルール・タイプのスコープを構築するために関連するエントリや、選択された条件タイプの値が表示されます。
条件が定義されると、ダイアログの右側のセクションに、現在構築されているクエリのプレビューが表示されます。 条件はANDやORで組み合わせることができ、また(括弧やインデントを使用して)優先順位を指定することで、対象となるオブジェクトの集合を絞り込むことができます。クエリの式が要件通りに定義されたら、 OK をクリックすると、その式が PCB Rules and Constraints Editor に読み込まれます。

を使用して、 Query Builder を使用して、一連の条件文を通じて論理クエリ式を構築します。
クエリヘルパーを使用したルールのスコープ設定
[ Custom Query オプションが選択されている場合、[
] ボタンをクリックして [Query Helper] ダイアログを開きます。基盤となるクエリエンジンが PCB 設計を解析し、利用可能なすべてのオブジェクトと、クエリで使用できる汎用キーワードを一覧表示します。
Query Helperの操作は Query Helper の操作は比較的直感的ですが、下の画像に示すように3つの異なる領域に分けて考えると、さらに理解しやすくなります:

を使用して定義された複雑なクエリの例 Query Helperを使用して定義された複雑なクエリの例。
これらの領域は以下の通りです:
- Query Region – ダイアログのこの領域を使用して、クエリ式を作成します。ダイアログを開いた際、デフォルトでは、ルールスコープで現在有効な式がこの領域に表示されます。この領域内に直接入力することができ、補助として、入力内容に応じたキーワードやオブジェクトの候補リストが表示されます。
- Operators – ダイアログのこの領域には、式を構築する際に使用できるさまざまな数学演算子や論理演算子が用意されています。ボタンをクリックすると、上記の Query 上の領域内のクエリ式に、その演算子を追加します。
- Categories, Keywords and Objects – ダイアログのこの領域では、クエリ式を作成するために使用できる利用可能なPCB関数、PCBオブジェクトリスト、およびシステム関数にアクセスできます。 これら3つの領域のいずれかにあるサブカテゴリをクリックすると、右側の領域に対応するキーワードまたはオブジェクトのリストが表示されます。クエリ文字列で使用するキーワードまたはオブジェクトを見つけ、そのエントリをダブルクリックしてください。すると、そのエントリが、上記の Query 上の領域内の現在のカーソル位置に挿入されます。
[
] ボタン(ダイアログの左下)を使用して、式の構文が正しいかどうかを確認します。クエリの式が要件通りに定義されたら、[ OK をクリックすると、その式が PCB Rules and Constraints Editor ダイアログのクエリ領域に読み込まれます。
クエリ式の演算子の優先順位
このセクションを離れる前に、論理クエリ式で使用される演算子の優先順位について確認しておく価値があります。何しろ、その知識がなければ、式が意図したオブジェクトを対象としない可能性があるからです。
各種演算子に対して定義されている優先順位の中で、括弧は最も高い優先順位を持ち、これにより(ユーザーが括弧を指定していない場合)、ソフトウェアによるクエリの解釈方法が決定されます。この優先順位の順序(高いものから低いものへ)は以下の通りです:
- 括弧
- Not
- ^, *, /, Div, Mod, And
- +, -, Or, Xor
- =、<>、, > 、=, >=
- &&, ||
ルールの優先順位付け
ルールの定義と管理のプロセスを簡素化するために、幅広い要件をカバーする一般的なルールを定義し、特定の状況ではそれらを具体的なルールで上書きするという考え方が採用されています。これを実現するには、同じタイプの複数のルールが 1 つのオブジェクトを対象とする場合に、どのルールを使用するかを指定できるよう、ルールに優先順位を付ける必要があります。
例えば、基板上で最も一般的に使用される配線幅を指定するには、基板上のすべてのネットに適用される単一のルールを定義します。このルールは、同じタイプで優先順位の高い別のルールを追加することで、特定のネット(あるいはネットのクラス)に対して上書きすることができます。
もう1つの例として、ソルダーマスクの要件が挙げられます。ここでは、基板上のすべてのパッドおよびビアを対象とする1つのマスクルールを定義し、それを特定のフットプリント種別のパッドに対して上書きすることができます。このフットプリント固有のルールは、必要に応じて、そのフットプリント内の特定のパッドに対してさらに上書きすることも可能です。
ルール管理における重要な点は、すべての優先順位が適切に設定されていることを確認することです。新しいルールを作成すると、デフォルトで最優先順位が設定されます。 Priorities ダイアログの下部にある PCB Rules and Constraints Editor ボタンを使用して、 Edit Rule Priorities ダイアログで優先順位を設定します。
![[ルール優先順位] ダイアログで Edit Rule Priorities ダイアログでルールの優先順位を変更します。 [ルール優先順位] ダイアログで Edit Rule Priorities ダイアログでルールの優先順位を変更します。](https://files.doc.altium.com/sites/default/files/wiki_attachments/322482/ChangingPriorities_AD21.webp)
[ルール優先順位] ダイアログで Edit Rule Priorities ダイアログでルールの優先順位を変更します。
初期状態では、ダイアログには、現在この PCB Rules and Constraints Editor ダイアログで現在選択されているルールタイプに対応するすべてのルールインスタンスが一覧表示されます。 Rule Type フィールドを使用してルールタイプを変更し、そのタイプに対して定義された特定のルールを一覧表示します。定義されたルールは、現在の優先度順(1(最優先)から順に)に一覧表示されます。ルール項目を選択し、 Increase Priority および Decrease Priority ボタンを使用して、優先順位をそれぞれ上または下に移動させることができます。
既存のルールの変更
もちろん、ルールはいつでも変更可能です。実際、最終的に機能するルールのセットを確定させるには、あちこちでいくつかの重要な微調整が必要になることがよくあります。通常、これには、対象の設計オブジェクトが要件通りに各ルールによって「捕捉」されるようにスコープを設定することが含まれます。 PCB Rules and Constraints Editor ダイアログで既存のルールを選択し、必要に応じてその適用範囲や制約属性に変更を加えます。
既存のルール定義に加えられた変更は、フォルダツリーペインと該当する要約リストの両方で強調表示されます。これらのエントリは、ルール名が太字になり、名前の右側にアスタリスクが表示されることで区別されます。 アスタリスクは、そのルールが新規に作成されたルール(アスタリスクなしで太字で表示される)ではなく、変更が加えられた既存のルールであることを示すために使用されます。

変更された既存ルールの例。変更を示すためにアスタリスクが表示され、ルール名も太字になっています。
無効なルールのフラグ付け
システムによってルールが無効であると検出された場合(たとえば、スコープ指定クエリ式に問題がある、または制約の値が許可されていないなど)、そのルールは無効としてフラグが立てられます。そのようなルールは、 PCB Rules and Constraints Editor ダイアログ内の左側のルールツリーおよび、そのルールが表示されるすべてのサマリービュー(ルールカテゴリまたはルールタイプ)で赤色で強調表示されます。さらに、左側のルールツリー内では、ルールタイプおよびルールカテゴリのテキストも赤色で表示されます。 したがって、無効なルールを含むルールツリーの領域を折りたたんでいた場合でも、階層の上位レベルでその旨が通知されます。また、ダイアログを閉じようとすると、警告メッセージが表示されます。
構文エラーのあるルールスコープは、オンラインおよびバッチDRC解析を大幅に遅らせる可能性があるため、構文的に正しくないルールスコープは必ず修正してください。

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

無効化されたルールの例。サマリーリスト内で灰色のフォントで表示されています。
ルールの削除
[ダイアログ] 内で個々の設計ルールを削除するには、 PCB Rules and Constraints Editor ダイアログ内から単一のデザインルールを削除するには:
- 左側のツリーを使用して目的の既存のルールまで移動し、右クリックして、コンテキストメニューから Delete Rule を選択します。
- 左側のツリーで特定のルールタイプに移動し、右側の概要リストから削除するルールを選択します。その後、リストの下にある Delete Rule(s) ボタンをクリックします。
ルール名は、まだ「適用」されていない削除対象であることを区別するために、太字で取り消し線付きのハイライト表示されます。
多くのルールタイプには、新しいPCBドキュメントの作成時に作成されるデフォルトのルールがあります。同様に、それらのルールタイプの特定のルールがすべて削除された場合、次回 PCB Rules and Constraints Editor ダイアログにアクセスした際に、そのルールタイプに対するデフォルトルールが自動的に再追加されます。あるいは、ダイアログ下部の Create Default Rules ボタンをクリックすることで、デフォルトのルールを再度作成することもできます。
ルールのエクスポートとインポート
設計ルールは、 PCB Rules and Constraints Editor ダイアログからエクスポートおよびインポートできます。これにより、異なる設計間で、お気に入りのルール定義を保存したり読み込んだりすることができます。
-
To export – ダイアログ左側のツリー内の任意の場所を右クリックし、 Export Rulesを選択します。「 : 設計ルールの種類を選択」ダイアログが開き、エクスポートする設計ルールを選択できます。 Export Rules to File ダイアログで、.rul ファイルの名前を指定し、保存先を選択できます。エクスポートされたルールは、PCB ルールファイル(
*.rul)に保存されます。 -
To import – ダイアログの左側にあるツリー内の任意の場所を右クリックし、 Import Rulesを選択します。「 : 設計ルールの種類を選択」ダイアログが開き、インポートする設計ルールを選択できます。 Import File 開いたダイアログで、インポートする .rul ファイルを選択します。
設計ルールレポート
現在定義されている設計ルールのレポートは、 PCB Rules and Constraints Editor ダイアログから、現在定義されている設計ルールのレポートを生成できます。このレポートは、フォルダツリーで選択された項目に応じて、すべてのルールカテゴリ、特定のルールカテゴリ、または特定のルールタイプを対象とすることができます。レポートの生成方法は以下の通りです:
- 必要なサマリーリストを開き、右クリックして Report コマンドを選択するか、リストの下にある Report ボタンをクリックします。
- フォルダツリー内の該当するエントリを右クリックし、コンテキストメニューから Report コマンドを選択します。
すると、 Report Preview ダイアログが開き、適切なレポートがすでに読み込まれています。このダイアログを使用して、さまざまなページ/ズームコントロールでレポートを確認した後、最終的にファイルにエクスポートするか、印刷してください。
Options and Controls of the Report Preview Dialog
- Preview Window - このダイアログのメイン領域には、生成されたレポートのプレビューが表示されます。レポートは、ウィンドウの下部にある各種コントロールや右クリックメニューを使用して操作できます。
- Page x of x - 最初の「x」は現在表示されているページ番号、2番目の「x」はレポートの総ページ数を示しています。
- All - このボタンをクリックすると、ページが利用可能なプレビューウィンドウに収まるようにサイズ調整されます。ダイアログ(およびそれに伴うプレビューウィンドウ)のサイズを変更すると、ページもサイズが調整され、全体が常に表示された状態が維持されます。
- Width - このボタンをクリックすると、ページが利用可能なプレビューウィンドウの横幅に収まるようにサイズ調整されます。ダイアログ(およびそれに伴うプレビューウィンドウ)のサイズを変更しても、ページは全幅にわたって完全に表示されるようにサイズが調整されます。
- 100% - このボタンをクリックすると、ページがフルサイズ(100%)に設定されます。
- % - このフィールドを使用して、拡大・縮小を行います。フルサイズは100%です。値小さく入力すると縮小表示され、大きく入力すると拡大表示されます。
- Page Navigation Controls - これらのコントロールのグループは、レポートのページ間を移動するための別の手段を提供します。これらのコントロールを使用すると、ドキュメントの最初のページ、前のページ、次のページ、最後のページにそれぞれジャンプできます。あるいは、テキストボックスにページ番号を直接入力して Enterを押すこともできます。
-
Export - このボタンをクリックすると、 Export Report From Project ダイアログが表示され、レポートを特定の保存先、名前、およびエクスポート形式で保存できます。以下の形式がサポートされています:
- Microsoft Excel ワークシート (*.xls)
- Adobe PDF (*.pdf)
- リッチテキスト形式 (RTF) (*.rtf)
- Webページ (*.htm, *.html)
- Webレイヤー (CSS) (*.htm, *.html)
- JPEG画像ファイル (*.jpg)
- ウィンドウビットマップファイル (*.bmp)
- TIFF画像ファイル (*.tif)
- Print - このボタンをクリックしてレポートを印刷します。標準の Print ダイアログが表示され、そこで印刷範囲や部数を指定できます。
- Open Report - このボタンをクリックすると、 Exportで指定したアプリケーションで開きます。このボタンは、 Export ボタンをクリックした後にのみ利用可能になります。
右クリックコマンド
上記のコマンドの一部は、ダイアログ内の任意の場所を右クリックして表示される右クリックメニューからも利用できます:
-
Print - このボタンを使用すると、レポートを印刷できます。標準の Print ダイアログが表示され、そこで印刷範囲や部数を指定できます。
-
Export - このボタンをクリックすると、 Export Report From Project ダイアログが開き、レポートを特定の保存先、ファイル名、およびエクスポート形式で保存できます。以下の形式がサポートされています:
-
Microsoft Excel ワークシート (*.xls)
-
Adobe PDF (*.pdf)
-
リッチテキスト形式 (RTF) (*.rtf)
-
Webページ (*.htm, *.html)
-
Webレイヤー (CSS) (*.htm, *.html)
-
JPEG画像ファイル (*.jpg)
-
ウィンドウビットマップファイル (*.bmp)
-
TIFF画像ファイル (*.tif)
-
-
Copy - このボタンを使用すると、アクティブなページを Windows のクリップボードにコピーできます。クリップボードから、必要に応じて外部アプリケーションに貼り付けることができます。
-
Page Width - このボタンをクリックすると、ページが利用可能なプレビューウィンドウの水平方向の範囲内に収まるようにサイズ調整されます。ダイアログ(およびそれに伴うプレビューウィンドウ)のサイズを変更すると、ページもサイズが調整され、全幅にわたって完全に表示された状態が維持されます。
-
Whole Page - このコマンドを使用すると、ページが利用可能なプレビューウィンドウ内に収まるようにサイズ調整されます。
-
Zoom In - このコマンドを使用すると、レポートを段階的に拡大表示できます。
-
Zoom Out - このコマンドを使用すると、レポートを段階的に縮小表示できます。
回路図でのルールの定義
PCB レイアウトの前に、設定済みのルールを含むパラメータセットディレクティブを回路図ソースドキュメントに追加することで、設計制約(ルール)を定義することができます。設計が PCB ドキュメントに転送されたときに作成される、対応する PCB 設計ルールの適用範囲は、パラメータが割り当てられたオブジェクトの性質によって決定されます。 次の表は、サポートされている回路図パラメータからPCBルールへのスコープのオプションをまとめたものです。
| ルールを追加する対象... | ...から | PCBルールの適用範囲... |
|---|---|---|
| 配線 | [ プロパティ] パネル(選択したパラメータセットオブジェクトのプロパティを参照している場合)、 Place » Directives » Parameter Set コマンドを使用して配線上にパラメータセットオブジェクトを配置した後、 | Net |
| バス | プロパティ パネル(選択したパラメータセット オブジェクトのプロパティを閲覧しているとき)、パラメータセット オブジェクトをバス上に配置した後、 Place » Directives » Parameter Set コマンドを使用してパラメータセットオブジェクトをバスに配置した後、[プロパティ] パネル(選択したパラメータセットオブジェクトのプロパティを閲覧 | Netクラス |
| ハーネス | プロパティ パネル(選択したパラメータ セット オブジェクトのプロパティを閲覧しているとき)、パラメータ セット オブジェクトをハーネスに配置した後、 Place » Directives » Parameter Set コマンドを使用してパラメータセットオブジェクトをハーネスに配置した後、[プロパティ] パネル(選択したパラメータセットオブジェクトのプロパティを | Net Class |
| ブランケット | プロパティ パネル(選択したパラメータ セット オブジェクトのプロパティを閲覧している場合)で、パラメータ セット オブジェクトをブランケットのエッジに配置した後、 Place » Directives » Parameter Set コマンドを使用してブランケットの端にパラメータセットオブジェクトを配置した後、[プロパティ] パネル(選択したパラメータセットオブジェクトのプロパティを閲覧している場合)に表示されます。必要な名前のクラスを含めることで、ブランケットで覆われているすべてのネットに対するネットクラスを作成し、それをルールスコープに使用します。 | ネットクラス |
いずれの場合も、ルールベースのパラメータを追加する方法は同じです。
-
ルールとしてパラメータを追加します。
-
使用するルールタイプを選択します。
-
選択したルールタイプに対する制約を設定します。
ルールの適用状況の確認
基板設計によっては、非常に単純なものから極めて複雑なものまで、幅広い適用範囲を持つ設計ルールを多数定義する必要がある場合があります。定義したルールが、意図した対象オブジェクトに確実に適用されているかを確認しておくことをお勧めします。ルール定義の段階で注意を払うことで、ルールの適用範囲設定の誤りによって引き起こされる違反の追跡に費やす時間と労力を節約できます。
ルール範囲を検証する方法は、基本的に2つあります。1つは、設計オブジェクトを選択し、現在それらに適用されているルールを確認する方法、もう1つは、ルール(ソフトウェア内の異なる場所にあるもの)を選択し、その範囲に含まれるオブジェクトを観察する方法です。
オブジェクトの視点から
現在の設計内に配置された任意のオブジェクトについて、そのオブジェクトに適用される単項設計ルールに関する情報を素早く確認できます。オブジェクトの上にカーソルを合わせ、右クリックして Applicable Unary Rulesを選択します。選択したオブジェクトに適用可能な、定義済みのすべての設計ルールが分析され、 Applicable Unary Rules ダイアログに一覧表示されます。

単一の設計オブジェクトに適用可能な設計ルール — 一項ルール。
ダイアログに一覧表示される各ルールの横には、チェックマーク または×印 が表示されます。 チェックマークは、同じタイプの適用可能なルールの中で優先順位が最も高いルールを示しており、これが現在適用されているルールです。同じタイプの優先順位が低いルールには横に×印が付いており、これらは適用可能ですが、優先順位が最も高くないため、現在は適用されていません。
同様に、デザイン内の2つの配置済みオブジェクト間に適用されるバイナリ設計ルールに関する情報にもアクセスできます。任意のオブジェクトにカーソルを合わせ、右クリックして Applicable Binary Rulesを選択します。表示される指示に従って、設計内の2つのオブジェクトを選択します。すると Applicable Binary Rules ダイアログが開き、それらのオブジェクト間に適用されるすべてのバイナリ設計ルールが表示されます。

2つの設計オブジェクト間に適用可能な設計ルール – 二項ルール。
ルールの観点から
「PCB ルールおよび違反」パネルによる確認
「PCB ルールおよび違反」パネルから、特定のルールがどのオブジェクトに適用されるかをすばやく確認することもできます。このパネルには、その設計に対して現在定義されているすべてのルールが一覧表示されます。すべてのルールを表示することも、ルールタイプごとに個別に閲覧することも可能です(ただし、アクティブな設計に対して、そのタイプに属するルールが少なくとも 1 つ定義されている場合に限ります)。パネルの Rules 領域で特定のルールをクリックすると、そのルールをフィルタの範囲としてフィルタリングが適用されます。ルールの範囲に該当する設計オブジェクトのみがフィルタリングされます。 Mask (または Dim)のハイライト機能を使用することで、そのルールに該当するオブジェクトを素早く確認できます。

この PCB Rules And Violations パネルを使用して、選択したルールがどのオブジェクトに適用されるかを確認する例。
「 PCB Rules And Violations パネルを使用して、ルールがどのオブジェクトに適用されるかを確認することは、ルールのスコープに対するクエリを作成する際に特に役立ちます。パネルから直接ルールを編集できるため、目的のオブジェクトがスコープに含まれるようになるまでクエリを「微調整」できるからです。
ルールの適用範囲や制約を編集するには、パネル内のルール項目をダブルクリックするか、右クリックして Properties を選択します。すると、変更を行える Edit PCB Rule ダイアログが表示され、そこで変更を行うことができます。

ルールは PCB Rules And Violations パネルから直接編集できるため、ルールの適用範囲や制約をその場でさらに微調整することができます。
PCB ルールおよび制約エディタ ダイアログによる確認
「PCB ルールおよび制約エディタ」ダイアログによる確認この PCB Rules and Constraints Editor ダイアログにはクエリテスト機能が備わっており、特定のルールがどのオブジェクトに適用されるかを素早く確認できます。テストしたいルールのダイアログ右上にある「
」ボタンをクリックしてください。 Test Queries Result ダイアログが表示されます。このダイアログには以下の情報が表示されます:
-
Expression result – 式の対象となるオブジェクトの数。
-
Objects applicable to rule – 式および現在のルールのタイプに基づいて適用可能なオブジェクトの数。
-
Expression and rule priority (単項ルールの場合のみ)– 式、現在のルールのタイプ、および優先度に基づいて適用可能なオブジェクトの数(つまり、より優先度の高いルールが存在する場合、そのルールの適用範囲に含まれるオブジェクトはこの値の算出には考慮されません)。
-
Rules with highest priorities (単項ルールのみ) – より優先順位の高いルールが存在する場合、それらのリストがダイアログに表示され、それらに適用されるオブジェクトの数(すなわち、それらの Expression and rule priority 値)と共に、それらのリストがダイアログに表示されます。
右側のリンクをクリックすると、デザインスペース上で各ケースに適用されるオブジェクトを直接表示するように素早くフィルタリングできます。 Mask ドロップダウンから Normal、 Mask, または、PCBドキュメント内で影響を受けるオブジェクトをどのように強調表示したいかによって、 Dim PCBドキュメント内で影響を受けるオブジェクトをどのように強調表示したいかによって選択してください。 Zoom がチェックされている場合、PCBドキュメントでは対象となるコンポーネントが拡大表示されます。

「クエリのテスト」機能を使用して、ルールのスコープ式によって抽出されたオブジェクトをすばやく確認できます。



