
PCB Filterパネル
概要
PCB Filterパネルは、論理クエリの作成を通じてフィルタを構築するためのコントロールを提供します。定義されたフィルタはアクティブなPCBに適用でき、複数のオブジェクトを高い精度と効率で選択および編集することができます。
パネルアクセス
パネルは、次の方法でPCBエディタからアクセスされます:
パネルは、エディタスペースで浮いているか、画面の側面にドッキングされるように設定できます。現在、PCB Filterパネルがパネルのグループにある場合は、パネルの下部にあるPCB Filterタブを使用して前面に持ってきてください。
パネルセクション
PCB Filterパネルは、3つの領域で構成されています。最初の2つは、フィルタリングの範囲を総合的に定義する選択可能なリストエリアであり、ObjectとLayerです。
第三の領域であるFilterは、現在選択されているオブジェクトとレイヤーに基づいて作成されたクエリを表示します。
シンプルなフィルタ式の構築
パネルの主要な領域は、任意のオブジェクトの組み合わせを対象としたシンプルなフィルタ式を迅速に構築するためのコントロールを提供します。オブジェクトの種類は「オブジェクトマトリックス」に配置され、ネットオブジェクト(Net)、コンポーネントオブジェクト(Comp)、またはフリーオブジェクト(Free)に応じて分類されています。以下のコアオブジェクトリストは、これらの3つのグループにわたって複製されています:
-
Track
-
Arc
-
Via
-
Pad
-
Fill
-
Region
TextオブジェクトはCompおよびFreeグループの一部として利用可能ですが、このオブジェクトタイプはネットワークを認識しないため、Netグループには含まれていません。さらに、Freeグループには次のものも含まれます:Component、Component Body、Room、およびPolygon。
これらが「コンポーネント」と「トップレイヤー」に設定されている場合、ボードビューはトップレイヤーコンポーネントを強調表示します。両方のパネルセクションの選択は、複数のフィルタリングアクションの累積効果を表しており、任意のタイプのデザインオブジェクトを迅速に強調表示するために使用できます。
列の順序はカスタマイズ可能です。列のヘッダーをクリックして、必要な新しい位置に水平にドラッグします。有効な位置は緑の位置矢印で強調表示されます。
フィルタ式の構築にオブジェクトを使用するには、つまりそのオブジェクトでフィルタリングするには、オブジェクトマトリックス内のそのオブジェクトに関連付けられたチェックボックスを有効にします。領域の右クリックメニューで利用可能なコマンドを使用すると、マトリックス内のすべてのエントリを迅速にチェックまたはチェック解除したり、マトリックス内のすべてのチェックボックスの状態を切り替えたりできます。
オブジェクトの名前エントリをクリックすると、マトリックス内のそれに関連するすべてのチェックボックスがチェックされます。再度クリックすると、すべてのチェックが外れます。あるいは、オブジェクト名の列または特定のグループ列でマウスをクリックしてドラッグすると、複数のエントリを一度にチェック/チェック解除できます。この方法で選択する際に、少なくとも1つのチェックが外れたボックスが含まれている場合、それらのチェックが外れたボックスはチェックされ、すでにチェックされているボックスはそのままチェックされたままになります。ただし、すべてのボックスがすでにチェックされている場合、選択に関与するすべてのボックスのチェックが外れます。
パネルのLayer領域を使用して、フィルタを特定のレイヤーまたはレイヤーのクラスに制限します。リストされたエントリは次のことを反映しています:
複数のレイヤーをフィルタに含めるために、必要な各レイヤーに対応するチェックボックスを切り替えることができます。
Layer領域は、追加のレイヤークラスが定義された場合やユーザー定義のレイヤークラス名がObject Class Explorerダイアログを通じて変更された場合に自動的に更新されます。また、レイヤースタック内のレイヤーに変更があった場合にも更新されます。
フィルタリングの選択を行うと、結果のクエリ式が動的に構築され、パネルのFilter領域に表示されます。フィルタクエリ式が必要に応じて定義されたら、別のアクションとして適用する必要があります。これを行うには、パネルの下部にあるApply to Allボタンをクリックします。また、ワークスペースで現在選択されているオブジェクトにのみ適用する場合は、Apply to Selectedボタンをクリックします。
フィルタを通過したオブジェクトの数(つまり、ワークスペースに表示され続ける数)は、パネルの左下に表示されます。現在フィルタリングが適用されていない場合は、Not filtered
というエントリーで反映されます。
オブジェクトによるフィルタリング
パネルのObjectリストの選択により、ボードビューがプリミティブな設計オブジェクトを表示するようにフィルタリングされます。すべてのオブジェクトがObjectおよび/またはLayerフィルタリストの設定によって変更されない限り、強調表示されます。

Component Body
およびPad (In Any Component)
がObjectの下で選択されたボード。Layerは<All>に設定されています。

ObjectがTracks (In Any Net)
およびPads (In Any Net)
に設定されたボード。レイヤーは<All>に設定されています。
レイヤーによるフィルタリング
パネルのLayerリストの選択により、指定された物理設計レイヤー(シグナル、マスク、シルクスクリーンレイヤー)上のオブジェクトを表示するようにボードビューがフィルタリングされます。有効なレイヤーオブジェクトは、Layerおよび/またはObjectsフィルタリストの設定によって変更されない限り、強調表示されます。

ObjectがComponentsおよびPads (In Any Component)に設定されたボード。レイヤーはTop Layerに設定されています。

Objectがトラック(任意のNet内)に設定されたボード。レイヤーはBottom Layerに設定されています。
現在のレイヤー上のオブジェクトのみをフィルタリングするには、<Active Layers>エントリを選択します。
フィルタリングされたオブジェクトの選択
パネルによって提供される集合的なフィルタアクションは、興味のあるボード設計オブジェクトの表示と選択の両方を支援します。
強調表示された(フィルタリングされた)オブジェクトのみが選択可能であり、オブジェクトの位置を簡単に特定し、編集し、情報を見つけることができます。
フィルタのクリア
現在適用されているフィルタをクリアするには、Clearボタンをクリックします。
ワークスペースに適用されたフィルタは永続的であり、PCBパネルなどの別の選択メカニズムで明示的にリセットまたは上書きする必要があります。
視覚的フィルタリングの設定
ワークスペースのドキュメントに適用されたフィルタリングの視覚的結果は、一連の強調表示コントロールによって決定されます。エディタビューに課される効果は、Normal、Mask、またはDimに設定でき、実際には、Maskが最も明確な強調表示効果を持ちます。
Normal / Mask / Dimのドロップダウンリストは、ワークスペース内でフィルタリングされたオブジェクトとフィルタリングされていないオブジェクトの視覚的に対照的なオプションを提供します。
マスキングモードのドロップダウンリストを使用して、適用される視覚フィルタリングの種類を選択します。
各マスキングモードの視覚的ハイライト効果:
-
Normal - フィルタリングされたオブジェクトはワークスペースに表示され、フィルタリングされていないオブジェクトの外観は変わりません。
-
Mask - フィルタリングされたオブジェクトは、ワークスペース内で強調表示され、他のすべてのオブジェクトはモノクロにされます。
-
Dim - フィルタリングされたオブジェクトは、ワークスペース内で強調表示され、他のすべてのオブジェクトは色を保持しながら影が付けられています。
フィルタクエリの定義
パネルの中央領域は、論理クエリの入力を通じてフィルタを構築するためのコントロールを提供します。
フィールドにクエリを直接入力することができ、入力するにつれて、補助として可能なキーワードのリストが表示されます。
クエリの作成を助けるために、2つの機能が利用可能です - クエリヘルパーとクエリビルダーです。これらの機能は、クエリの構文や使用したい可能性のあるキーワードに不安がある場合に非常に役立ちます。
クエリヘルパー
クエリヘルパーを使用するには、HelperボタンをクリックしてQuery Helperダイアログを開きます。基盤となるクエリエンジンがドキュメントを分析し、クエリで使用するための一般的なキーワードとともに、利用可能なすべてのオブジェクトをリストします。
ダイアログの上部を使用して、利用可能なPCB Functions、PCB Object Lists、およびSystem Functionsを使用してクエリ式を作成します。ダイアログの中央領域には、式を構築する際に使用するためのさまざまな演算子が提供されています。式が構文的に正しいかどうかを確認するには、Check Syntaxボタンを使用してください。
クエリの表現が必要に応じて定義されたら、OKをクリックしてパネルの中央領域にクエリを読み込み、フィルタを適用できるようにします。
クエリビルダー
クエリビルダーを使用するには、パネルのBuilderボタンをクリックして、Building Query from Boardダイアログを開きます。このダイアログでは、AND条件および/またはOR条件の文字列を構築することによって、設計文書内の特定のオブジェクトをターゲットにするためのクエリを作成できます。ダイアログの左側は、必要なオブジェクトのセットをターゲットにするために必要な条件を指定するために使用されます。最初は、Condition Type/Operator列のエントリにはAdd first conditionと表示されます。このエントリを一度クリックすると、条件タイプのドロップダウンリストが表示されます。
リストされている条件タイプは、ボード設計に関連するもののみを反映します。
希望する条件を選択し、次にCondition Valueの列をクリックして、その条件タイプの可能な値のドロップダウンリストにアクセスします。ダイアログの左側で条件を定義すると、右側に現在構築中のクエリのプレビューが表示されます。
必要に応じて、デザインオブジェクトのターゲットセットを絞り込むために、さらに条件を追加し続けてください。条件はANDまたはORで組み合わせることができます。デフォルトの論理演算子はANDであり、別の条件を追加すると自動的に挿入されます。
条件間の論理演算子を変更するには、Condition Type/Operator列のANDまたはORのエントリをクリックし、必要な演算子を選択します。クエリのプレビューはそれに応じて更新されます。
優先順位の指定
Building Query from Boardダイアログの上部にある
および
ボタンは、現在選択されている条件の周りに括弧を追加および削除することを可能にします(インデントの増加および減少)。これにより、特定の論理的にANDされたまたは論理的にORされた条件の優先順位を作成できます。
例えば、次のビルドクエリを考えてみてください:InNet('5V') AND (OnLayer('TopLayer')
最初の条件は、値が16M_IN
の条件タイプBelongs to Net
に設定されました。次に、値がTopLayer
の条件タイプExists on Layer
を使用して別の条件が追加されました。
最外の括弧のペアはビルダーによって自動的に追加され、クエリ式を構築している間は表示されません。
この段階では、ダイアログで第二の条件が選択され、右矢印ボタンがクリックされました。第二の条件の周りに自動的に括弧が追加され、現在その括弧のペア内に条件を追加する可能性が利用可能です。
条件タイプObject Kind isに関する3番目の条件は、値トラックが括弧内に追加されます。
Show Levelドロップダウンをダイアログの左上で使用して、条件の構造化された文字列内のレベルの視覚表示を制御します。これは基本的に括弧の表示を展開/折りたたむことです。括弧を追加すると、新しいレベルが作成されます。レベル1-5を表示できますが、それ以上のレベルを追加した場合は、Show All Levelsオプションを使用してください。
または、括弧で囲まれた条件に関連付けられた展開または縮小の記号をクリックして、次のレベルを表示したり、現在のレベル(およびその下のすべてのレベル)をそれぞれ非表示にします。
および
ボタンをダイアログの上部で使用して、現在選択されている条件を展開または折りたたむこともできます。
ダイアログの上部にある
および
ボタンを使用して、クエリ文字列内の選択された条件を移動します。括弧で囲まれた条件(つまりサブレベルを持つ条件)の場合、レベル構造内の任意の条件を移動できます。レベルが展開されている場合、条件はレベルを通じて下または上に移動できます。レベルが折りたたまれている場合、条件はレベル構造を超えて移動されます。
条件を削除するには、それを選択して、ダイアログの上部にある
ボタンをクリックするか、Deleteキーを使用します。
クエリの式が必要に応じて定義されたら、OKをクリックして、クエリをPCB Filterパネルの中央領域に読み込み、フィルタを適用する準備をします。
設計ルールの作成
PCB Filterパネルは、現在定義されているクエリ式を使用してそのスコープで設計ルールを作成する機能も提供します。
新しい設計ルールを追加するには、PCB FilterパネルのCreate Ruleボタンをクリックします。Choose Design Rule Typeダイアログが開きます。
このダイアログには、PCBドキュメントで利用可能なルールカテゴリとルールタイプがリストされています。作成したいルールのタイプを選択してからOKをクリックします(またはエントリーをダブルクリックします)。PCB Rules and Constraints Editorダイアログが開きます。
新しく作成されたルール名は、左側のナビゲーションツリーで選択されて表示されます。ルールクエリ式は、ダイアログの右上のペインにあります。
選択したタイプのルールが作成され、ルールの主編集ウィンドウが表示され、ルールに特定の制約を定義する準備が整います。PCB Filterパネルからのクエリ式がダイアログのFull Query領域に入力されます。必要に応じてルール構成設定を調整し、新しいルールを適用します。
フィルタの適用とクリア
クエリを定義し、パネルのオプションを必要に応じて設定したら、パネルのApplyボタンをクリックするか、Enterをクリックしてフィルタを適用できます。
パネル内で現在適用されているフィルタをクリアするには、パネルの中央領域でクエリ式をクリア(選択して削除)し、Applyボタンのいずれかをクリックするか、Enterを押します。設計ワークスペース内のすべてのオブジェクトが完全な可視性を回復し、選択/編集のために利用可能になります。
右クリックメニュー
PCB Filterパネル内で右クリックすると、ポップアップメニューを通じて追加のオプションとコマンドにアクセスできます。
パネルのObject またはLayer領域で右クリックすると、次のコンテキストメニューオプションが開きます:
-
Toggle Check - オプションの切り替えを有効にします。現在選択されているオプションは選択解除され、選択されていないオプションが選択されます。
-
Check All - 利用可能なすべてのオプションを選択するために有効にします。
-
Uncheck All - すべてのオプションの選択を解除するために有効にします。
注意
一般
-
F12キーを押すと、ワークスペース内のパネルの表示が切り替わります。
-
クエリビルダー(Building Query from Boardダイアログ)は、関連する「ビルディングブロック」を使用してのみクエリを構築できる、条件タイプと値に敏感なシンプルなクエリ構築方法を提供します。キーワード仕様とオペレーター構文を完全に使用した高度なクエリ構築には、Query Helperダイアログを使用してください。
-
適用されたフィルタに合格したオブジェクトと合格しなかったオブジェクトの表示オプションが分離されているため、新しいフィルタクエリを適用して以前のフィルタリングの結果を基に構築することができます。
クエリ式を構築する際
-
クエリが正しく解釈されない可能性がある場合は、常に括弧を使用することを強くお勧めします。
-
ブラケットは、さまざまな演算子に対して定義された優先順位の中で最も高い優先順位を持ち、ユーザーがブラケットを提供していない場合にソフトウェアがクエリをどのように解釈するかを決定します。この優先順位の順序は次のとおりです:
Brackets
Not
^, *, /, Div, Mod, And
+, -, Or, Xor
=, <>, <, >, <=, >=
&&, ||
この優先順位は、パスカル型言語で使用されるものに似ています。しかし、括弧を多く使うことで疑念が取り除かれ、結果として得られるクエリは他の人にとって読みやすくなります。
-
曖昧さは左から右に作業することで解決されます。
-
括弧は内側から外側へ評価され、同じレベルでは左から右へ行われます。