クエリ言語入門

Altium Designerの回路図、PCBエディタでは、強力なクエリエンジンが搭載されています。このエンジンにクエリを入力することで、必要なオブジェクトに対してフィルタがかけられ、正確な検索や編集が可能となります。

Article AR0109 (v1.3) March 14, 2008

複雑なエレクトロニクスデザインで作業している時の最大の問題は、多くのデザインオブジェクトを管理することかもしれません。回路図シートのコンポーネント、ネットラベル、テキストストリングからPCBで配線する何百ものコンポーネントや何万ものトラックまで、設計者はこれらのオブジェクトをアクセスし、確認して編集できる必要があります。

ほとんどのWindowsアプリケーションでは、オブジェクトをダブルクリックし、その属性を編集できます。この方法は、1つのオブジェクトには可能ですが、例えば、300ものコンポーネントのデジグネータの文字幅を編集したい場合、またはPCB上のすべてのビアの大きさを変更したい場合には 不可能です。このような場合、これらのオブジェクトを検査、編集、またはこれらのオブジェクトにPCBデザインルールを適用するために、同時に複数のオブジェクトをアクセスする必要があります。理想的には、異なるタイプのオブジェクトにも同時にアクセスできるべきです(クエリのフィルタシステムでは、これを正確に実行できます )。図 1.は、Altium Designerでのフィルタシステムを示し、Query EngineがどのようにFilter Engineをコントロールし、どのようなオブジェクトが戻されるか正確にコントロールできるということを確認できます。


1.デザインデータにフィルタをかけるため、クエリを記述(クエリは、表示して修正できます)

クエリとは何か?

Altium Designerの強力な、データフィルタリングシステム、データ編集システムでは、特定のオブジェクトの集まりを指定することができます。この指示は、クエリという形式で入力します。クエリは、特定のキーワードと構文を使用して入力するストリングです。 これにより、ターゲットとするオブジェクトを検索します。それらのオブジェクトをどうするかはあなた次第です。もしかしたら、それらをハイライトし、その他のオブジェクトを暗く表示したいかもしれません。または、それらの属性を検索しソートして、共有する特定の属性を修正したいかもしれません。

クエリはいくつかの箇所で利用できますが、主な指令は図2のようなFilterパネルで行います。Filterパネルを表示/非表示するには、F12を押します。


図2.すべてのコンポーネントの非表示のコメント文字を検索するためのクエリが入力されたPCBフィルタパネル

Filterパネル両側のコントロールに注意してください。 これらは、クエリがどのオブジェクトに適用されるか、クエリに該当しないオブジェクトをどのように指示するか定義するために使用します。

クエリの結果はどこに?

Filter パネルにクエリを記述し、それによって返されるオブジェクトにアクセスするには、どのようにするのでしょうか?Altium Designer環境でオブジェクトにアクセスし、編集するには、3つの方法があります。
クエリ適用後、最初に知っておきたいことは、フィルタを解除し、クエリ適用外のオブジェクトを表示し直すにはどうするか?ということです。

フィルタを解除するには、ワークスペース右下の ボタンをクリックするか、またはShift+Cのショートカットを使用します。

画面上 - フィルタ適用後、デフォルト動作でクエリに相当するオブジェクトだけを表示させ、クエリ適用外のオブジェクトをマスク(薄暗く表示され、編集できません)することです。このモードは、ワークスペース内で対象となるオブジェクトを検索し、確認するために有効です。マスクされたオブジェクトは編集できないので、Ctrl+A(すべてをセレクト)の様な指令は、クエリによって表示されたオブジェクトにのみ適用されます。
Listパネル - Listパネル(Shift+F12)は、デザインデータのスプレッドシートの様なものです。デフォルトでは、すべてのデザインオブジェクトが表示されます。 一度、フィルタが適用されると、クエリで指定したオブジェクトだけが表示されます。Listパネルでは、一般的なスプレッドシートの様なソートや選択の機能があり、1つ、または複数のセルを直接、編集できます。Listパネルの上部には、多くのコントロール機能(パネルの上部にカーソルがある時にF1を押すと、これらのコントロールやその他の一般的なパネルの操作のヘルプを表示できます。 )があります。
Inspectorパネル - Inspectorパネルでは、Listパネル内で選択したオブジェクトの属性を共通の属性として1つの欄に照合します。選択したオブジェクトの合計が、パネルの下部に表示されることに注意してください。セルの内容を変更後、Enterを押して変更を適用させます。詳細については、カーソルがInspectorパネルの上部にある時にF1を押して参照してください。


図3図2.で適用したクエリからの結果を表示したListとInspectorパネル

クエリ記述の作成

クエリを記述するには、どのようにして習得すればいいのでしょうか?何事でもそうですが、実際に使ってみることです。Altium Designerには、クエリ言語を知るための価値あるリソースが含まれています。1つは、インストールした時にあらかじめ用意されているクエリの例です。2つ目は、入力に基づいたクエリを生成するツールです。3つ目は、クエリのキーワードがリスト表示され、クエリを構築する手助けを行うQuery Helperです。最後は、オンラインヘルプです。

お気に入りのクエリとサンプル

回路図とPCBエディタの両方で使用できる、あらかじめ用意されたクエリの例があります。これを実行するには、Yキーのショートカットを押してFilterポップアップメニューを表示させ、サブメニューからExamplesを選択します。メニューの項目を選択するとそのフィルタのクエリが適用されます(解除するにはShift+Cを押します)。また、それを適用後、FilterポップアップメニューでHistoryリストにアクセスし、このリストにあるクエリの例を実際に表示することもできます。

更に、その後、お気に入りのクエリを使用したり、再利用できます。お気に入りのクエリはExpression Managerダイアログに保存されます。 このダイアログにアクセスするには、いくつかの方法があり、FilterパネルのFavoritesボタンを押すか、Yキーのショートカットを押してOrganize Favoritesを選択します。お気に入りのクエリは10個まで保存でき、自動でFilterメニューに表示され簡単にアクセスできます。


4.Favoritesとしてよく使用するクエリを保存し、Filterメニューでそれらにアクセス。

Filter メニューをカスタマイズして、好きなショートカットを定義できます。

Altium Designerでのカスタマイズについての詳細はTU0105 Altium Designerリソースのカスタマイズ を参照してください。

クエリ作成ツール


5.FSO ダイアログを使用してクエリを作成_クエリを一番容易に記述する方法は、Altium Designerに記述させることかもしれません。この方法は2つあり、Find Similar Objects_ ダイアログ、またはQuery Builderを使用します。

Find Similar Objectsダイアログ

Find Similar Objectsダイアログを使用する場合、必要なオブジェクトを検索するためのクエリが生成されます。Create Expressionオプションが有効な場合、クエリがFilterパネルに表示されます。これは、異なるクエリキーワードを知るために便利です。

デザインドキュメントでマスクされていないオブジェクトを右クリックし、メニューからFind Similar Objectsを選択すると、Find Similar Objectsダイアログが表示されます。このダイアログでは、右クリックしたオブジェクトと類似のオブジェクトを検索するための条件を設定します。 ここでは、一致させる条件を決めるために同じ(または異なる)オブジェクトのどれかの属性を設定します。

例えば、デザインですべてのGNDパッドを変更したいと仮定します。GNDパッドのどれかを右クリックしてFind Similar Objectsを選択します。 それから、Netの項目をAny(デフォルト設定)から Sameに変更します。このダイアログでApplyボタンを押すと、すべてのGNDパッドがセレクトされます。 そして、Select Matchingオプションが有効な場合、セレクトされたオブジェクトを変更するためのInspectorを使用できます。

Find Similar ObjectsダイアログでCreate Expressionオプションが有効な場合、以下のクエリがFilterパネルに表示されます:
(ObjectKind = 'Pad') And (Net = 'GND')
Find Similar Objects ダイアログの使用方法の詳細な情報についてはTU0115 複数オブジェクトの編集 を参照してください。

クエリビルダ

更に、PCBエディタにはクエリビルダが含まれています。このツールでは、テスト条件をドロップダウンリストから選択して複雑なクエリを構築できます。クエリビルダの利点は、異なる種類のオブジェクトをターゲットにするクエリを作成できると言うことです。 例えば、図 6.は、-12Vのネットのパッドとビアの両方をターゲットにするクエリを作成するためにBuilderを使用します。

クエリビルダは、多くの場所から実行できます。FilterパネルのBuilderボタンをクリックし、パネルに表示された文字を使用してクエリを構築します。また、デザインルールを編集している時にBuilderボタンをクリックして、このルールに適用するオブジェクトを定義するクエリを構築します。

更に、ショートカットキーShift+Bを押すか、またはワークスペースで右クリックし、メニューからBuild Queryを選択して、デザインワークスペースで直接、クエリビルダを呼び出すこともできます。ワークスペースでクエリビルダを実行する場合、Filterパネル、またはRulesダイアログから実行する場合と異なります。 この場合、表示形式をコントロールする設定が含まれているため、ワークスペースでクエリが直ちに適用されますがFilterパネル、またはRulesダイアログからではクエリ文字が作成されます。
更に、右クリックオプションは右クリックしたオブジェクトに依存して変化することに注意してください。Design Rulesからクエリビルダを実行する際も、そのルールの種類に適するオプションのみ表示されます。


6.Query Builderを使用してクエリを生成

クエリビルダの使用方法の詳細については、ダイアログ上でF1 を押すか、またはWhat's This Helpボタンを使用してください。

クエリヘルパー

クエリを構築するための次のステップは、クエリヘルパー を使用することです。これは、FilterパネルのHelper ボタンからアクセスします。 クエリヘルパー には、上部にクエリ編集用のボックス、中央部にAndOrのような構文ボタン、その下にクエリキーワードのリストがあります。

必要なクエリキーワードのカテゴリーを使用して検索します。正確なキーワードが不明な場合は、Maskの項目を使用します。例えば、回路図エディタのクエリヘルパーで、Maskの項目に para と入力するとparaが含まれるキーワードだけが表示されます。 また、*parと入力するとparametersとpartsのキーワードだけが表示されます。Mask{*}の項目で入力したパラメーターは、NameとDescriptionの双方の項目にあるキーワードが検索されるため、必要なキーワードを瞬時に検索できます。

キーワードがハイライトされている時、または入力したキーワード内にカーソルがある時にF1を押した場合、そのキーワードの詳細が記載されたオンラインヘルプが表示されます。これは、各クエリキーワードの基本的な操作を習得するのに最も価値あるリソースです。ここで、キーワードによって、例えば、子オブジェクト、親オブジェクト、またはその両方を返すなど、微妙な違いを習得します。


図7.Query Helperとキーワードのオンラインヘルプを使用し、クエリの詳細を表示

次のステップ

クエリは最初、難しく思えるかもしれませんが、クエリを習得すれば操作上の効率が上がります。デザインでクエリは、オブジェクトへアクセスするための強力な機能となります。

クエリの詳細な記述方法についてはAR0129 クエリ言語の内部紹介ガイド AR0129%20An%20Insiders%20Guide%20to%20the%20Query%20Language.pdfを参照してください。

You are reporting an issue with the following selected text and/or image within the active document: