クエリ言語の活用

現在、バージョン 19. をご覧頂いています。最新情報については、バージョン クエリ言語の活用 の 25 をご覧ください。

クエリとは何か?

複雑な電子設計を行う際の最大の課題は、多数の設計オブジェクトを管理することです。回路図シート上のコンポーネント、ネットラベル、テキスト文字列から、PCB上のルーティングを構成する数百のコンポーネントやトラックまで、これらのオブジェクトにアクセスし、レビューし、編集する必要があります。ほとんどのWindowsアプリケーションと同様に、オブジェクトをダブルクリックしてそのプロパティを編集することができます。これは単一のオブジェクトに対しては問題ありませんが、300以上のコンポーネント指定文字列を編集したり、PCB上のすべてのビアを変更したりする必要がある場合には適していません。このような更新を行うには、複数のオブジェクトに同時にアクセスする必要があります。

Altium Designerの回路図エディタとPCBエディタの基盤には、強力なクエリエンジンがあります。このエンジンにクエリを入力することで、必要なオブジェクトを正確に見つけ出し、編集することができます。

Altium Designerの強力なデータフィルタリングおよび編集システムを使用すると、指定されたオブジェクトセットを返すようにソフトウェアに指示できます。この指示はクエリの形で入力されます。クエリは、特定のキーワードと構文を使用して入力する文字列で、目的のオブジェクトを返します。それらのオブジェクトをどのように扱うかはあなた次第です。たとえば、それらをハイライトして他のすべてのオブジェクトを暗くするか、またはそれらのプロパティを閲覧またはソートして、共有する特定の属性を変更したいかもしれません。

クエリを適用できる場所はいくつかありますが、以下の画像に示されているFilterパネルがコマンドセンターです。F12を押すとFilterパネルの表示/非表示を切り替えます。

クエリを含むPCBフィルターSCHFilterパネル


クエリを含むPCBLIB FilterSCHLIB Filterパネル

パネルのコントロールは、クエリが適用されるオブジェクトを定義し、クエリに合格したオブジェクトと不合格のオブジェクトをどのように扱うかを決定するために使用されます。

クエリの結果はどこにありますか?

Filterパネルでクエリを書いた今、クエリによって返されたオブジェクトにどのようにアクセスしますか?Altium Designer 環境でオブジェクトにアクセスして編集する方法は2つあります。

  • グラフィカル - フィルタを適用した後、デフォルトの動作は、クエリに失敗したすべてのオブジェクトをマスク(フェードアウトして編集不可にする)することで、クエリに合格したものだけを残します。このモードは、ワークスペース内のオブジェクトを探してレビューするのに優れています。マスクされたオブジェクトは編集できないため、Ctrl+A(すべて選択)のようなコマンドは、クエリによって返されたオブジェクトにのみ適用されます。

  • Listパネル - Listパネル(Shift+F12)は、設計データをスプレッドシートのように見ることができるビューです。デフォルトでは、すべての設計オブジェクトを表示しますが、フィルタが適用されると、クエリによって返されたオブジェクトのみを表示します。Listパネルには、標準のスプレッドシートのような振る舞いがあり、ソートや選択が可能で、直接、単一または複数のセルを編集できます。

前のセクションのPSB/SCHクエリの結果を表示するPCB ListパネルとSCH Listパネル。

ハイライトオプション

クエリが適用されるたび(またはデータフィルタリング機能が他の方法で使用されるたび)、対象ドキュメント内の各オブジェクトはそのフィルタリングアクションの結果のメンバーになります。しかし、結果に含まれるオブジェクトと含まれないオブジェクトがその後どのように表示されるかは、Filterパネルで選択されたハイライトオプションによって異なります。3つの異なるハイライトオプションがあり、オプションは互いに完全に独立しているため、1つ、2つ、またはすべてを選択できます。

ズーム

Zoomオプションがクエリ適用時に有効になっている場合、対象ドキュメントのビューが更新され、結果に含まれるすべてのオブジェクトが占める領域が表示されます。残りの各オブジェクトが更新されたビューに表示されるかどうかは、その領域に対する相対的な位置に依存するため、それらのオブジェクトは完全に表示されるか、部分的に表示されるか、またはまったく表示されないこともあります。

このオプションは、他のオプションの1つまたは両方と併用して選択されることがよくあります。Maskオプションが有効になっていない場合、結果に含まれていないオブジェクトでも、更新された境界内に位置していれば、グラフィカルビューに表示されます。一見すると、このオプションを単独で選択することは無意味に思えるかもしれませんが、特定のオブジェクトをグラフィカルビューで更新して表示したいが、ドキュメントのオブジェクトの選択状態やマスク状態を変更したくない場合など、選択する理由があるかもしれません。

選択

Selectオプションが有効になっている場合、結果に含まれるすべてのオブジェクトが選択状態になり、残りのオブジェクトは選択されません。選択されたオブジェクトは、選択されていないオブジェクトと比べて、より際立った方法で表示されます。

現在のクエリが適用されたときに「選択」オプションが選択されると、結果セットのメンバーであるすべてのオブジェクトが選択状態を取得し、残りのオブジェクト(結果セットのメンバーではないオブジェクト)は選択されていない状態を取得します。このオプションは、通常、グローバル編集手順の直前に選択されます。なぜなら、現在選択されているオブジェクトのプロパティのみがその時点で更新されるからです。しかし、「選択」オプションが役立つ他の機会もあります。特定のオブジェクトを移動、コピー、または削除する場合などです。

マスク

Maskハイライトオプションは、ターゲットドキュメント内のオブジェクトの更新されたマスクプロパティを決定します。選択された場合、結果に含まれるすべてのオブジェクトがマスクされ、残りのすべてのオブジェクトはマスクされません。マスクされたオブジェクトの主な特徴は、それらとそのプロパティが編集できないことです。(マスクされたオブジェクトはリストビューで暗く表示されますが、all objectsオプションが現在Listパネルで選択されていない限り、リストビューには表示されません。)マスクされたオブジェクトの主な特徴は、オブジェクトとそのプロパティが編集できないことです。

Query Builder

PCBエディタには、専用のQuery Builderダイアログが含まれています。このダイアログでは、ドロップダウンリストからテスト条件を選択して、複雑なクエリを構築できます。Query Builderの利点は、異なる種類のオブジェクトを対象とするクエリを作成できることです。

'Query Builder'機能の一部である'Query Builder'ダイアログは、クエリの指定に不慣れな方を支援します。デザイナーが指定した条件に対応する内容のクエリが自動的に生成されます。

このダイアログの左側のセクションには、ドキュメントのオブジェクトがこのダイアログによって生成されたクエリによって返されるために必要なプロパティを指定するタスクでデザイナーを支援するためのコントロールが含まれています。これらの条件が指定または編集されると、対応するクエリの内容が更新され、ダイアログの右側のセクションに表示されます。このダイアログがOK(または適用)ボタンをクリックして閉じられた場合、関連するクエリが適用されるか、その内容がFilterパネルにコピーされます(このダイアログが最初にどのように呼び出されたかによります)。

Query Builderダイアログは、以下の場所から起動できます(下の画像に示されています):

  • PCB Filterパネルから、Query Builderボタンをクリックしてクエリを構築し、その文字列をパネルに読み込みます。

  • PCB Rules and Constraints Editorダイアログから、Builderボタンをクリックして、このルールが適用されるオブジェクトを定義するクエリを構築します。

Query BuilderダイアログがPCBルールおよび制約エディターダイアログからアクセスされた場合、そのルールの種類にのみ適したオプションが表示されます。

以下の画像は、5Vネット上のパッドとビアの両方を対象とするクエリを作成するために使用されているQuery Builderダイアログを示しています。

クエリヘルパー

クエリ作成スキルを次のレベルに引き上げるための次のステップは、クエリヘルパーダイアログを使用することです(PCBバージョンSCHバージョン)。クエリヘルパーダイアログには、希望するクエリを入力できるQueryボックスが含まれており、Queryフィールドの下にある構文ボタン(例:AndOr<NotLikeなど)を使用するとともに、Categoriesフィールドにすべてのクエリキーワードの完全なリストがあります。

'Query Helper' ダイアログは、独自のクエリを指定したい設計者のためのアシスタンスを提供します。リストされている各キーワードには簡単な説明が提供されていますが、キーワードがハイライトされている間に F1 キーを押すことでオンラインヘルプにアクセスできます。これにより、Altium Designer ドキュメントライブラリダイアログが呼び出され、ハイライトされたキーワードによって返されるドキュメント内のオブジェクトの詳細、そのキーワードの使用方法、およびその使用例が提供されます。

ダイアログは、以下の方法でアクセスできます:

  • FilterパネルのHelperボタンをクリックします。

PCB Filterパネルアクセス

SCH Filterパネルアクセス

Helperボタンは、File-based Libraries SearchダイアログでAdvancedをクリックした後に利用可能です。

File-based Libraries SearchダイアログへのアクセスFile-based Libraries Searchダイアログへのアクセス

ご希望のキーワードについて、利用可能なCategoriesを閲覧してください。正確なキーワードがわからない場合は、Maskフィールドを使用してください。例えば、回路図エディタのQuery Helperで、*harMaskフィールドに入力すると、下の画像に示されているように、ハーネスに特に適用されるキーワードが見つかります。なお、MaskフィールドはキーワードのNameフィールドとDescriptionフィールドの両方に作用するため、可能性のあるキーワードを見つける最も迅速な方法となることがあります。

キーワードがハイライトされている状態、またはキーワードを入力した状態でF1キーを押すと、そのキーワードのドキュメントが開きます。これは、各クエリキーワードの基本的な動作を学ぶための最も価値のあるリソースです。

お気に入りクエリの作成と使用

Query Helperダイアログ(上記の通り)を使用して式を作成します。作成して実行された後、それはExpression ManagerダイアログのHistoryタブにある以前に実行されたクエリのリストに追加されます。お気に入りとして追加するには、Expression ManagerダイアログのHistoryタブ(PCBバージョンSCHバージョン)で、希望のお気に入りを選択し、Add To Favoritesをクリックします。そのクエリはFavoritesタブに表示されるようになります。

お気に入りのクエリを使用する方法は2つあります。

  1. Expression Manager ダイアログの Favorites タブからお気に入りを選択し、Apply Expression をクリックします。

  1. Y ショートカットキーをクリックしてクエリのポップアップメニューを開き(下記参照)、希望のお気に入りクエリを選択します。

お気に入りのクエリに適切な名前を付けるには、Expression ManagerダイアログのFavoritesタブでお気に入りをクリックし、Renameをクリックするか、右クリックしてRenameを選択します。

お気に入りは、Expression Managerダイアログ(PCBバージョンSCHバージョン)に保存されます。このダイアログは、FilterパネルのFavoritesボタンを使用するか、Yショートカットキーを使用してメニューからOrganize Favoritesを選択することでアクセスできます。

また、Filter メニューをカスタマイズして、お気に入りにショートカットキーを定義することもできます。Altium Designer 環境のカスタマイズに関する詳細は、Altium Designer の設定とカスタマイズをご覧ください。

事前に用意された例の使用

回路図エディタとPCBエディタの両方には、事前に用意された例のクエリセットが付属しています。例を使用するには、Y ショートカットキーを押してフィルターポップアップメニューを表示し、Examplesにマウスを合わせてサブメニューを表示します。

サブメニューでエントリを選択すると、そのフィルターの背後にあるクエリが適用されます。例の1つの背後にある実際のクエリを表示するには、それを適用した後に履歴リストを見てください。このリストには、フィルターポップアップメニューからもアクセスできます。

フィルタリングをクリアするには、デザインスペースでShift+Cを押してください。

クエリビルディングツール

クエリを書く最も簡単な方法の一つは、Altium Designerに書かせることです!これは、Find Similar ObjectsダイアログまたはQuery Builderダイアログを使用して行うことができます。

Find Similar Objectsダイアログ

Find Similar Objectsダイアログ(PCBバージョン回路図バージョン)を使用すると、必要なオブジェクトを見つけるためのクエリが生成されます。Create Expressionオプションが有効になっている場合、そのクエリはFilterパネルに表示されます。これは、異なるクエリキーワードを学ぶのに優れた技術です。

Find Similar Objectsダイアログは、設計ドキュメント内の任意のマスクされていないオブジェクトを右クリックして、コンテキストメニューからFind Similar Objectsを選択すると開きます。

左の画像:PCBバージョン;右の画像:SCHバージョン

このダイアログを使用すると、右クリックしたオブジェクトと類似のオブジェクトを見つけ、一致するために必要な(または異なる必要がある)属性を定義できます。例えば、設計内のすべてのGNDパッドを変更したい場合、そのようなパッドの1つを右クリックしてFind Similar Objectsを選び、Netフィールドをデフォルト設定のAnyからSameに変更します。ダイアログでApplyをクリックすると、すべてのGNDパッドが選択されます。Create Expressionオプションが有効になっている場合、次のクエリがFilterパネルに表示されます:(ObjectKind = 'Pad') And (Net = 'GND').

例えば、回路図から、特定のテキストプロパティ(例:'GND')を持つすべての電源オブジェクトのColorプロパティを同じ値に変更することができます。例えば、PCBから、特定のHole Sizeプロパティを持つすべてのビアのVia Diameterプロパティを文書内で同じ値に変更することができます。

Clear Existingオプション

Clear Existingオプションを有効にすると、検索を適用する前に、既存の選択または編集マスクをクリアできます。連続した検索を行い、結果が蓄積されることが望ましい場合は、このオプションを無効にします。

フィルターツールバー

Filter ToolbarはPCBドキュメント用に提供され、指定されたプロパティを持つオブジェクト、または指定されたコンポーネントの一部を形成するオブジェクト以外のすべてのオブジェクトをマスクすることができます。ツールバーの最も右のフィールドは、クエリの内容を指定するために使用されます。フィールドにクエリを入力するか、ドロップダウンから最近のクエリを選択することができます。Filter Toolbarからクエリが適用される際に、どのオプションを使用するかを指定することはできません。すべての場合において、以前のクエリはクリアされ、マスクとズームのオプションが現在のクエリに使用されます。クエリオプションを使用するには、Filterパネル、Query Builderダイアログ、Query Helperダイアログ、またはFind Similar Objectsダイアログを使用してください。

クエリと演算子

演算子はスクリプト内の文で操作が行われるようにします。演算子の優先順位はリストの開始部分で最も高く、下部で最も低くなります。スクリプトエンジンは以下の演算子をサポートしています。

  • 括弧
  • Not
  • ^, *, /, Div, Mod, And
  • +, -, Or, Xor
  • =, <>, <, >, <=, >=
  • &&, ||
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
注記

利用できる機能は、Altium 製品のアクセスレベルによって異なります。Altium Designer ソフトウェア サブスクリプション の様々なレベルに含まれる機能と、Altium 365 プラットフォーム で提供されるアプリケーションを通じて提供される機能を比較してください。

ソフトウェアの機能が見つからない場合は、Altium の営業担当者に連絡して 詳細を確認してください。

Content