クエリ言語の活用
Altium Essentials: PCB Global Editing and List Panel
This content is part of the official Altium Professional Training Program. For full courses, materials and certification, visit Altium Training.
クエリとは何か?
複雑な電子設計を行う際の最大の課題は、多数の設計オブジェクトを管理することです。回路図シート上のコンポーネント、ネットラベル、テキスト文字列から、PCB上の配線を構成する数百のコンポーネントやトラックまで、これらのオブジェクトにアクセスし、確認し、編集する必要があります。ほとんどのWindowsアプリケーションと同様に、オブジェクトをダブルクリックしてそのプロパティを編集できます。これは単一のオブジェクトに対しては問題ありませんが、300以上のコンポーネント指定子文字列を編集したり、PCB上のすべてのビアを変更したりする必要がある場合には適していません。このような更新を行うには、複数のオブジェクトに同時にアクセスする必要があります。
Altium Designerの回路図エディタとPCBエディタの基盤となっているのは、強力なクエリエンジンです。このエンジンにクエリを入力することで、必要なオブジェクトを正確に見つけて編集することができます。
Altium Designerの強力なデータフィルタリングおよび編集システムを使用すると、指定されたオブジェクトのセットを返すようにソフトウェアに指示することができます。この指示はクエリの形で入力されます。クエリは、特定のキーワードと構文を使用して入力する文字列で、目的のオブジェクトを返します。それらのオブジェクトをどのように扱うかはあなた次第です。たとえば、それらを強調表示して他のすべてのオブジェクトを暗くするか、またはそれらのプロパティを閲覧またはソートして、共有する特定の属性を変更することができます。
クエリを適用できる場所はいくつかありますが、コマンドセンターは下の画像に示されているFilterパネルです。F12を押すとFilterパネルが表示/非表示になります。
PCB FilterおよびSCH Filterパネルにクエリがあります
PCBLIB FilterおよびSCHLIB Filterパネルにクエリがあります
パネルのコントロールを使用して、クエリが適用されるオブジェクトを定義し、クエリをパスしたオブジェクトとパスしなかったオブジェクトの扱い方を決定します。
SCH Filterパネル

SCH Filterパネルを使用して、論理クエリを使用してオブジェクトを迅速に特定し、強調表示します。
概要
SCH Filterパネルを使用すると、論理クエリの作成を通じてフィルタを構築できます。定義されたフィルタは、アクティブな回路図ドキュメントまたは開いているすべての回路図ドキュメントに適用でき、より高い精度と効率で複数のオブジェクトを選択して編集できます。
パネルアクセス
パネルには次の方法でアクセスできます:
-
SCHエディタがアクティブなときにエディタの右下にあるPanelsボタンをクリックし、ポップアップメニューからSCH Filterを選択します。
-
View » Panels » SCH Filterをクリックします。
-
F12ショートカットキーをクリックします。
フィルタ範囲の定義
パネルの最初の領域には、フィルタの範囲を定義するためのコントロールが含まれています:
Limit search toエリアには、フィルタの範囲をさらに絞り込むためのコントロールがあります:
-
All Objects - フィルタをすべての設計オブジェクトに適用します。
-
Selected Objects - 現在選択されている設計オブジェクトにのみフィルタを適用します。
-
Non Selected Objects - 現在選択されていない設計オブジェクトにのみフィルタを適用します。
Consider objects inドロップダウンフィールドを使用すると、フィルタが適用される場所を制御できます。次のオプションから選択します:
-
Current Document - フィルタリングをアクティブな回路図ドキュメントにのみ適用します(デフォルト)。
-
Open Documents - 開いているすべての回路図ドキュメントにフィルタリングを適用します。
-
Project Documents - 同じ親プロジェクトのソースドキュメントであるすべてのオープン回路図ドキュメントにフィルタリングを適用します。
フィルタクエリの定義
パネルの中央部分では、論理クエリの入力を通じてフィルタを構築することができます。フィールドに直接クエリを入力できます。入力すると、可能なキーワードのプロンプトリストが補助として表示されます。
クエリヘルパーは、クエリの作成を支援するために利用可能です。この機能は、クエリの構文や使用したい可能なキーワードに不安がある場合に非常に役立ちます。クエリヘルパーを使用するには、HelperボタンをクリックしてQuery Helperダイアログを開きます。基盤となるクエリエンジンは文書を分析し、クエリで使用するための一般的なキーワードとともに利用可能なすべてのオブジェクトをリストします。
ダイアログの上部を使用して、利用可能なSCH FunctionsとSystem Functionsを使用してクエリ式を作成します。ダイアログの中間部分には、式を構築する際に使用するためのさまざまな演算子が提供されています。式が構文的に正しいかどうかを確認するには、Check Syntaxボタンを使用してください。
クエリの表現が必要に応じて定義されると、OKをクリックすると、SCH Filterパネルの中央領域にクエリが読み込まれ、フィルタを適用する準備が整います。
フィルタハイライトの定義
クエリの適用前に、フィルタリングの結果がデザインワークスペースでどのように視覚的に表示されるかを定義することが最善です。パネルのObjects passing/not passing the filter領域は、恒久的なフィルタリングのためのハイライトコントロールを形成するさまざまなオプションを提供します。
Objects passing the filterエリアで利用可能なオプションは、スコープに該当し、フィルタの特定のクエリ式に一致するすべてのオブジェクトのワークスペース内での視覚表示を制御することを可能にします:
-
Select - 有効にすると(デフォルト)、フィルタリングされたオブジェクトがワークスペースで選択されます。
-
Zoom - 有効にすると(デフォルト)、フィルタリングされたオブジェクトはデザインエディタウィンドウ内でズームされ、中心に配置されます(可能な場合)。
Objects not passing the filterエリアで利用可能なオプションは、スコープに該当しないすべてのオブジェクトやフィルタの特定のクエリ式に一致しないオブジェクトのワークスペース内での視覚的表示を制御することを可能にします:
-
Deselect - 有効にすると(デフォルト)、フィルタの範囲に含まれないすべてのオブジェクトはワークスペースで非選択になります。
-
Mask out - 有効にすると(デフォルト)、フィルタリングされたオブジェクトはデザインエディタウィンドウに完全に表示され、他のすべてのオブジェクトは薄暗くなります。マスキングが適用されると、フィルタ範囲に含まれないすべてのオブジェクトは選択/編集できなくなります。
これらのオプションの任意の組み合わせを有効にすることができます。たとえば、クエリの範囲に該当するすべてのフィルタリングされたオブジェクトをデザインエディタウィンドウでズーム、センター、選択し、他のデザインオブジェクトの雑然さを取り除くためにマスキングを適用することを望むかもしれません。
フィルタの適用とクリア
クエリを定義し、パネルで必要なオプションを設定したら、フィルタを適用できます。Applyボタンをクリックするか、Enterキーを押すことで適用できます。
パネル内で現在適用されているフィルタをクリアするには、パネル内のクエリ式のエントリをクリアし、その後、Applyボタンをクリックするか、Enterキーを押します。デザインワークスペース内のすべてのオブジェクトが完全に表示され、選択/編集可能になります。
右クリックメニュー
SCH Filterパネル内で右クリックすると、ポップアップメニューを介して追加のオプションやコマンドにアクセスできます。
メニューには以下のコマンドが用意されています:
-
Add to Favorites - 現在パネルに表示されているクエリ式をお気に入りのクエリのリストに追加します。クエリは、Expression ManagerダイアログのFavoritesタブに新しいエントリとして表示されます。クエリがお気に入りのクエリのリストに追加されると、右クリックメニューの一番上に表示されます。お気に入りリストに最近追加された10件のクエリがメニューに表示され(最新のものが一番上)、お気に入りのクエリ式に迅速にアクセスして再利用できるようになります。
-
Organize Favorites - このコマンドを使用して、Expression ManagerダイアログのFavoritesタブにアクセスし、必要に応じてお気に入りクエリのリスト内のエントリを整理(名前の変更、削除)できます。
-
Examples - 事前定義された例のフィルタのサブメニューにアクセスするにはクリックします。例のフィルタを選択すると、関連する基本クエリ式がパネルの中央領域に読み込まれます。
-
History - パネルのクエリ履歴リストから最も最近に使用された9つのクエリ式を含むサブメニューにアクセスするにはクリックします。Moreエントリをクリックすると、Expression ManagerダイアログのHistoryタブにアクセスし、必要に応じて履歴クエリの完全なリストを閲覧してクエリを適用したり、履歴リストをクリアできます。
注意
一般
-
F12キーを押すと、ワークスペース内のパネルの表示が切り替わります。
-
Query Helperダイアログを使用してクエリを構築する際に、入力されたキーワード内や利用可能なリストのキーワードの上でクリックしてF1を押すと、その特定のキーワードに対するヘルプが起動します。SCH Filterパネルの中央領域内のキーワード内でクリックしてF1を押すことによっても、キーワードレベルのヘルプに同様にアクセスできます。
-
パネルの形状とサイズに応じて、コンテンツは動的に水平または垂直に配置されます。
クエリ式を構築する際
-
クエリが正しく解釈されない可能性がある場合は、括弧を使用することを強くお勧めします。
-
括弧は、さまざまな演算子に定義された優先順位の中で最も高い優先順位を持ち、括弧を提供していない場合にソフトウェアによってクエリがどのように解釈されるかを決定します。この順序は次のとおりです:
Brackets
Not
^, *, /, Div, Mod, And
+, -, Or, Xor
=, <>, <, >, <=, >=
&&, ||
この優先順位の順序は、Pascalタイプの言語で使用されるものと似ており、括弧の多用により疑問が解消され、他の人が読みやすいクエリが得られます。 -
あいまいさは左から右へと解決されます。
-
括弧は内側から外側へと評価され、同じレベルは左から右へと実行されます。
-
適用されたフィルタに合格したオブジェクトと合格しなかったオブジェクトの表示オプションが分離されているため、以前のフィルタリングの結果に基づいて新しいフィルタクエリを効果的に適用できます。
-
SCH Filterパネルからのクエリを使用したフィルタリングは永続的です。フィルタに合格しなかった設計オブジェクトをマスキングする場合、マスキングの範囲はパネルの下部にあるスライダーバーによって制御されます。
-
永続的なフィルタは、SCH Filterパネルから空のクエリを適用することによってのみクリアできます。
SCHLIB Filterパネル
論理クエリを使用して回路図ライブラリオブジェクトを迅速に特定してハイライトするSCHLIB Filterパネル。
概要
SCHLIB Filterパネルを使用すると、論理クエリを作成することでフィルタを構築できます。定義されたフィルタは、アクティブな回路図ライブラリコンポーネントまたはアクティブな回路図ライブラリ内のすべてのコンポーネントに適用でき、複数のオブジェクトをより正確かつ効率的に選択および編集することができます。オブジェクトの視覚的表示は、フィルタの検索条件に一致するものと一致しないものに基づいて指定できます。
パネルアクセス
パネルには以下の方法でアクセスできます:
-
ワークスペースの右下にあるPanelsボタンをクリックし、次にSCHLIB Filterを選択します。
-
メインメニューからView » Panels » SCHLIB Filterをクリックします。
-
F12ショートカットキーを使用してください。
フィルタ範囲の定義
SCHLIB Filterパネルの左側の領域には、フィルタの範囲を定義(制限)するためのコントロールが含まれています。
スコープオプションは次のとおりです:
-
All Objects - すべてのデザインオブジェクトにフィルタを適用します。
-
Selected Objects - 現在選択されているデザインオブジェクトにのみフィルタを適用してください。
-
Non Selected Objects - 現在選択されていないデザインオブジェクトにのみフィルタを適用してください。
-
Whole Library - フィルタリングがアクティブコンポーネントのみに適用されるか(オプション無効)、またはアクティブな回路図ライブラリドキュメント内のすべてのコンポーネントに適用されるか(オプション有効)を制御します。
フィルタクエリの定義
SCHLIB Filterパネルの中央領域では、論理クエリの入力を通じてフィルタを構築することができます。
フィールドにクエリを直接入力することができ、入力中に可能なキーワードのプロンプトリストが補助として表示されます。
クエリヘルパー
プロンプトリストに加えて、パネルはクエリ作成を支援するためのクエリヘルパー機能も提供しています。この機能は、クエリの構文や使用したい可能性のあるキーワードに不安がある場合に非常に役立ちます。クエリヘルパーを使用するには、HelperボタンをクリックしてQuery Helperダイアログを開きます。基盤となるクエリエンジンは文書を分析し、クエリで使用するための一般的なキーワードとともに、利用可能なすべてのオブジェクトをリストアップします。
ダイアログの上部を使用して、利用可能なSCH FunctionsとSystem Functionsを使用してクエリ式を作成します。ダイアログの中央領域には、式を構築する際に使用するためのさまざまな演算子が提供されています。式が構文的に正しいかどうかを確認するには、Check Syntaxボタンを使用してください。
クエリの表現が必要に応じて定義されたら、OKをクリックしてクエリをSCHLIB Filterパネルの中央領域に読み込みます。Applyボタンを使用してフィルタを適用します。
ライブラリ全体に適用されると、フィルタを満たすピンが他のすべてのコンポーネントに対して強調表示されます。
フィルタの適用に関する詳細については、以下のApplying and Clearing a Filterセクションを参照してください。
フィルタハイライトの定義
SCHLIB Filterパネルでクエリを適用する前に、デザインエディタの作業スペースでフィルタリングの結果がどのように視覚的に表示されるかを定義することが最善です。パネルの右側の領域には、恒久的なフィルタリングのためのハイライトコントロールを形成するさまざまなオプションが提供されています。
Objects passing the filterオプションは、スコープに該当し、フィルタの特定のクエリ式に一致するすべてのオブジェクトがワークスペースにどのように視覚的に表示されるかを制御することを可能にします。
-
Select - 有効にすると(デフォルト)、フィルタリングされたオブジェクトがワークスペースで選択されます。
-
Zoom - 有効にすると(デフォルト)、フィルタリングされたオブジェクトはライブラリエディタウィンドウでズームされ、中心に配置されます(可能な場合)。ズームアクションは、PreferencesダイアログのSchematic - Library AutoZoomページで設定されたZoom Library Componentsオプションによって決定されます。
逆に、Objects not passing the filterオプションは、フィルタの範囲に含まれないおよび/または特定のクエリ式に一致しないすべてのオブジェクトがワークスペースにどのように視覚的に表示されるかを制御することを可能にします。
-
Deselect - 有効にすると(デフォルト)、フィルタの範囲に含まれないすべてのオブジェクトはワークスペースで選択解除されます。
-
Mask out - 有効にすると(デフォルト)、フィルタの範囲に含まれないすべてのオブジェクトはライブラリエディタウィンドウ内でマスクされます。スライダーを使用してマスクレベルを定義します。
フィルタの適用とクリア
クエリを定義し、パネルのオプションを必要に応じて設定したら、パネルのApplyボタンをクリックするか、Enterを押すことでフィルタを適用できます。
パネル内で現在適用されているフィルタをクリアするには、パネルの中央領域でクエリ式をクリア(選択して削除)し、その後Applyボタンをクリックするか、Enterを押します。設計ワークスペース内のすべてのオブジェクトが完全に表示され、選択/編集できるようになります。
ワークスペース内のフィルタリングをクリアし、クエリ式をパネルの中央領域にロードしたままにするには、Clear Current Filterボタン(
)をSch Lib Standardツールバー(ショートカット Ctrl+C)で使用します。
右クリックメニュー
SCHLIB Filterパネル内で右クリックすると、ポップアップメニューを通じて追加のオプションとコマンドにアクセスできます。
メニューには以下のコマンドがあります:
-
Add to Favorites - パネルの中央領域に現在表示されているクエリ式をFavoritesタブのお気に入りクエリリストに追加するために使用します。クエリはExpression ManagerダイアログのFavoritesタブに新しいエントリとして表示されます。クエリがお気に入りリストに追加されると、右クリックメニューの上部に表示されます。お気に入りリストに最近追加されたクエリのうち10個がメニューに表示され、お気に入りのクエリ式にすばやくアクセスして再利用できるようになります。
-
Organize Favorites - FavoritesタブのExpression Managerダイアログにアクセスし、お気に入りクエリリストのエントリを整理(名前の変更、削除)するために使用します。
-
Examples - 事前定義された例のフィルタのサブメニューにアクセスするためにクリックします。例のフィルタを選択すると、関連する基本クエリ式がパネルの中央領域にロードされます。
-
History - パネルのクエリ履歴リストから取得された最近使用された9つのクエリ式を含むサブメニューにアクセスするためにクリックします。Moreエントリをクリックすると、HistoryタブのExpression Managerダイアログにアクセスし、履歴リスト全体からクエリを閲覧して適用することができ、必要に応じて履歴リストをクリアすることができます。
-
Show Scope Options - パネルのフィルタスコープ領域の表示を切り替えるために使用します。
-
Show Masking Options - パネルのフィルタハイライト領域の表示を切り替えるために使用します。
注意
一般
-
F12キーを押すと、ワークスペース内のパネルの表示が切り替わります。
-
SCHLIB Filterパネルを使用して適用されたフィルタリングは、セッションに対して永続的です。Clearアクション(SCHLIB Filterパネルから空のクエリを適用する)によってのみ、永続的なフィルタをクリアする必要があります。
-
SCHLIB Filterパネル自体の形状とサイズに応じて、コンテンツは動的に水平または垂直に配置されます。
クエリ式の構築
-
クエリが正しく解釈されない可能性がある場合は、括弧を使用することを強くお勧めします。
-
括弧は、ソフトウェアによってクエリが解釈される際に、ユーザーが括弧を提供していない場合に定義されたさまざまな演算子の優先順位内で最高の優先順位を持ちます。この順序は次のとおりです:
Brackets
Not
^, *, /, Div, Mod, And
+, -, Or, Xor
=, <>, <, >, <=, >=
&&, ||この優先順位は、パスカル型言語で使用されるものに似ています。しかし、括弧を多く使うことで疑念が取り除かれ、結果として得られるクエリは他の人にとって読みやすくなります。
-
あいまいさは左から右に作業することで解決されます。
-
括弧は内側から外側へ評価され、同じレベルのものは左から右へ処理されます。
PCB Filterパネル

PCB Filterパネル
概要
PCB Filterパネルは、論理クエリの作成を通じてフィルタを構築するためのコントロールを提供します。定義されたフィルタはアクティブなPCBに適用でき、複数のオブジェクトを高い精度と効率で選択および編集することができます。
パネルアクセス
パネルは、次の方法でPCBエディタからアクセスされます:
-
ワークスペースの右下にあるPanelsボタンをクリックし、次にPCB Filterを選択します。
-
メインメニューからView » Panels » PCB Filterをクリックします。
-
F12ショートカットキーを使用してください。
パネルセクション
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。
これらが「コンポーネント」と「トップレイヤー」に設定されている場合、ボードビューはトップレイヤーコンポーネントを強調表示します。両方のパネルセクションの選択は、複数のフィルタリングアクションの累積効果を表しており、任意のタイプのデザインオブジェクトを迅速に強調表示するために使用できます。
フィルタ式の構築にオブジェクトを使用するには、つまりそのオブジェクトでフィルタリングするには、オブジェクトマトリックス内のそのオブジェクトに関連付けられたチェックボックスを有効にします。領域の右クリックメニューで利用可能なコマンドを使用すると、マトリックス内のすべてのエントリを迅速にチェックまたはチェック解除したり、マトリックス内のすべてのチェックボックスの状態を切り替えたりできます。
パネルのLayer領域を使用して、フィルタを特定のレイヤーまたはレイヤーのクラスに制限します。リストされたエントリは次のことを反映しています:
-
ボードのために定義されたレイヤークラス、デフォルトは次の通りです:
-
<All Layers>
-
<Component Layers>
-
<Electrical Layers>
-
<Signal Layers>
-
-
レイヤースタックで定義されたレイヤー(レイヤースタックエディタで提示される)。
-
トップとボトムのペーストマスクレイヤー。
フィルタリングの選択を行うと、結果のクエリ式が動的に構築され、パネルのFilter領域に表示されます。フィルタクエリ式が必要に応じて定義されたら、別のアクションとして適用する必要があります。これを行うには、パネルの下部にあるApply to Allボタンをクリックします。また、ワークスペースで現在選択されているオブジェクトにのみ適用する場合は、Apply to Selectedボタンをクリックします。
オブジェクトによるフィルタリング
パネルの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に設定されています。
フィルタリングされたオブジェクトの選択
パネルによって提供される集合的なフィルタアクションは、興味のあるボード設計オブジェクトの表示と選択の両方を支援します。
強調表示された(フィルタリングされた)オブジェクトのみが選択可能であり、オブジェクトの位置を簡単に特定し、編集し、情報を見つけることができます。
フィルタのクリア
現在適用されているフィルタをクリアするには、Clearボタンをクリックします。
視覚的フィルタリングの設定
ワークスペースのドキュメントに適用されたフィルタリングの視覚的結果は、一連の強調表示コントロールによって決定されます。エディタビューに課される効果は、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
=, <>, <, >, <=, >=
&&, ||
この優先順位は、パスカル型言語で使用されるものに似ています。しかし、括弧を多く使うことで疑念が取り除かれ、結果として得られるクエリは他の人にとって読みやすくなります。 -
曖昧さは左から右に作業することで解決されます。
-
括弧は内側から外側へ評価され、同じレベルでは左から右へ行われます。
PCBLIB Filterパネル
概要
PCBLIB Filterパネルは、論理クエリの作成を通じてフィルタを構築するためのコントロールを提供します。定義されたフィルタは、アクティブなPCBコンポーネントフットプリントまたはアクティブなPCBライブラリ内のすべてのコンポーネントフットプリントに適用でき、複数のオブジェクトを高い精度と効率で選択および編集することができます。
Filter The Whole Libraryオプションを使用して、フィルタリングがアクティブなコンポーネントのみに適用されるか(無効)、アクティブなPCBライブラリドキュメント内のすべてのコンポーネントに適用されるか(有効)を制御します。
パネルアクセス
パネルは、次の方法でPCBライブラリエディタからアクセスされます:
-
ワークスペースの右下にあるPanelsボタンをクリックし、PCBLIB Filterエントリを選択します。
-
メインメニューからView » Panels » PCBLIB Filterをクリックします。
-
F12ショートカットキーを使用してください。
パネルは、エディタスペース内で浮いているか、画面の側面にドッキングされるように設定できます。現在、PCBLIB Filterパネルがパネルのグループにある場合は、パネルの下部にあるPCBLIB Filterタブを使用して前面に表示します。
パネルセクション
PCBLIB Filterパネルは、3つの領域で構成されています。最初の2つは、フィルタリングの範囲を定義する選択可能なリストエリアであり、ObjectとLayerです。3番目の領域であるFilterは、現在選択されているオブジェクトとレイヤーに基づいて作成されたクエリを表示します。
シンプルなフィルタ式の構築
パネルの主要な領域は、任意のオブジェクトの組み合わせを対象としたシンプルなフィルタ式を迅速に構築するためのコントロールを提供します。オブジェクトの種類は「オブジェクトマトリックス」に配置され、ネットオブジェクト(Net)、コンポーネントオブジェクト(Comp)、またはフリーオブジェクト(Free)に応じて分類されています。以下のコアオブジェクトリストは、これらの3つのグループにわたって複製されています:
-
トラック
-
アーク
-
ビア
-
パッド
-
塗りつぶし
-
領域
TextオブジェクトはCompおよびFreeグループの一部として利用可能ですが、このオブジェクトタイプはネットワークを認識しないため、Netグループには含まれていません。さらに、FreeグループにはComponent、ComponentBody、Room、Polygonも含まれています。
これらが「コンポーネント」と「トップレイヤー」に設定されている場合、ボードビューはトップレイヤーコンポーネントを強調表示します。両方のパネルセクションの選択は、複数のフィルタリングアクションの累積効果を表しており、任意のタイプのデザインオブジェクトを迅速に強調表示するために使用できます。
フィルタ式の構築にオブジェクトを使用するには、つまりそのオブジェクトでフィルタリングするには、オブジェクトマトリックス内のそのオブジェクトに関連付けられたチェックボックスを有効にします。領域の右クリックコンテキストメニューで利用可能なコマンドを使用すると、マトリックス内のすべてのエントリをすばやくチェックまたはチェック解除したり、マトリックス内のすべてのチェックボックスの状態を切り替えたりできます。
Layer領域を使用して、フィルタを特定のレイヤーまたはレイヤーの特定のクラスに制限します。リストされたエントリは以下を反映します:
-
ボードの定義されたレイヤークラスで、デフォルトは以下の通りです:
-
<All Layers>
-
<Component Layers>
-
<Electrical Layers>
-
<Signal Layers>
-
-
レイヤースタックに定義されたレイヤー(レイヤースタックで提示される)。
-
トップとボトムのペーストマスクレイヤー。
フィルタリングの選択を行うと、結果のクエリ式が動的に構築され、パネルのFilter領域に表示されます。フィルタクエリ式が必要に応じて定義されたら、それを別のアクションとして適用する必要があります。これを行うには、パネルの下部にあるApply to Allボタンをクリックします。または、ワークスペースで現在選択されているオブジェクトにのみ適用する場合は、Apply to Selectedボタンを使用します。
フィルタリングの適用
PCBライブラリコンポーネントは、異なるボードレイヤー上に配置されたプリミティブオブジェクトタイプ(アーク、パッド、トラックなど)で構成されています。オブジェクトは、「自由」な性質のものか、グループオブジェクトに「所有」されているもののいずれかです。なお、FreeをObject領域で選択すると、グループオブジェクトの一部でないオブジェクトのみが強調表示されます。
オブジェクトによるフィルタリング
パネルのObjectリストの選択により、基本設計オブジェクトがボードビューに表示されます。すべてのオブジェクトが強調表示されますが、Layerフィルタリストの設定によって変更される場合があります。

TrackとArcがObjectの下で選択され、LayerはTop Overlayに設定されている例のボード。
レイヤーによるフィルタリング
パネルのLayersリストの選択により、指定された物理設計レイヤー(シグナル、マスク、シルクスクリーンレイヤー)上のオブジェクトがボードビューに表示されます。有効なレイヤーオブジェクトは、Objectフィルタリストの設定によって変更されない限り、すべて強調表示されます。

ObjectがPadに設定され、LayerがTop Layerに設定されている例のボード。
フィルタリングされたオブジェクトの選択
PCBLIB Filterパネルによる集合的なフィルタアクションは、興味のあるボードデザインオブジェクトの表示と選択の両方を支援します。
強調表示された(フィルタリングされた)オブジェクトのみが選択可能であり、オブジェクトを見つけたり、編集したり、情報を探したりするのが容易になります。
フィルタのクリア
パネルの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をクリックしてPCBLIB Filterパネルの中央領域にクエリを読み込み、フィルタを適用する準備をします。
クエリビルダー
クエリビルダーを使用するには、PCBLIB FilterパネルのBuilderボタンをクリックして、Building Query from Boardダイアログを開きます。
このダイアログでは、AND条件および/またはOR条件の文字列を簡単に構築することによって、設計文書内の特定のオブジェクトをターゲットにするクエリを作成できます。
ダイアログの左側は、必要なオブジェクトのセットをターゲットにするために必要な条件を指定する場所です。最初は、Condition Type/Operator列のエントリがAdd first conditionとなります。このエントリを一度クリックすると、条件タイプのドロップダウンリストが表示されます。
リストされた条件タイプは、ボード設計に関連するもののみを反映します。
条件を選択し、次にCondition Value列をクリックして、その条件タイプの可能な値のドロップダウンリストにアクセスします。ダイアログの左側で条件を定義すると、右側に現在構築中のクエリのプレビューが表示されます。
必要に応じて、デザイン対象のセットを絞り込むためにさらに条件を追加し続けてください。条件はANDまたはORで組み合わせることができます。デフォルトの論理演算子はANDであり、別の条件を追加すると自動的に挿入されます。
条件間の論理演算子を変更するには、Condition Type/Operator列のANDまたはORのエントリをクリックし、必要な演算子を選択します。クエリのプレビューはそれに応じて更新されます。
優先順位の指定
uilding Query from Boardダイアログの上部にある
および
ボタンを使用すると、現在選択されている条件の周りに括弧を追加したり削除したりできます(インデントの増減)。これにより、特定の論理的にANDされた条件や論理的にORされた条件の優先順位を作成できます。
集合的なフィルタアクションは最初の条件は、条件タイプExists on Layerと値Top Layerに設定されました。次に、条件タイプObject Kind isを使用して、値Arcを持つ別の条件が追加されました。
この段階で、ダイアログ内で2番目の条件が選択され、右矢印ボタンがクリックされました。2番目の条件の周りに自動的に括弧が追加され、その括弧のペア内に条件を追加する可能性が出てきました。
次に、条件タイプIn Any Polygonの条件が括弧内に追加されました。
ダイアログの左上にあるShow All Levelsドロップダウンを使用して、条件の構造化された文字列内のレベルの視覚表示を制御します。これは基本的に括弧の表示の展開/折りたたみを行います。括弧を追加することは、新しいレベルを作成します。レベル1-5を表示できますが、それ以上のレベルを追加した場合はShow All Levelsオプションを使用します。
または、括弧で囲まれた条件に関連付けられた拡大または縮小のシンボルをクリックして、次のレベルを表示したり、現在のレベル(およびその下のすべてのレベル)をそれぞれ非表示にします。ダイアログの上部にある
および
ボタンも、現在選択されている条件を展開または折りたたむために使用できます。
ダイアログの上部にある
および
ボタンを使用して、構築中のクエリ文字列内で選択された条件を移動します。括弧で囲まれた条件(つまり、サブレベルを持つ条件)の場合、レベル構造内の任意の条件を移動できます。レベルが展開されている場合、条件はレベルを通じて下または上に移動できます。レベルが折りたたまれている場合、条件はレベル構造を超えて移動されます。
条件を削除するには、それを選択して、ダイアログの上部にある
ボタンをクリックするか、Deleteキーを使用します。
クエリの式が必要に応じて定義されたら、OKをクリックして、クエリを適用する準備ができたPCBLIB Filterパネルの中央領域をロードします。
設計ルールの作成
PCBLIB Filterパネルは、設計ルールを作成する機能も提供します。そのスコープは、パネルの中央領域で現在定義されているクエリ式を使用します。
新しい設計ルールを追加するには、PCBLIB FilterパネルのCreate Ruleボタンをクリックします。Choose Design Rule Typeダイアログが開きます。
このダイアログには、PCBドキュメントで利用可能なルールカテゴリとルールタイプがリストされています。作成したいルールのタイプを選択してからOKをクリックします(または、エントリーをダブルクリックします)。PCB Rules and Constraints Editorダイアログが開きます。
新しく作成されたルール名は、左側のナビゲーションツリーで選択されて表示されます。ルールクエリ式は、ダイアログの右上のペインにあります。
選択したタイプのルールが作成され、ルールの主編集ウィンドウが表示され、ルールに特定の制約を定義する準備が整います。PCBLIB Filterパネルからのクエリ式がダイアログのフルクエリ領域に入力されます。必要に応じてルール構成設定を洗練させ、新しいルールを適用します。
フィルタの適用とクリア
パネルでクエリを定義し、必要なオプションを設定したら、パネルのApplyボタンをクリックするか、Enterを押してフィルタを適用できます。
パネル内で現在適用されているフィルタをクリアするには、パネルの中央領域でクエリ式をクリア(選択して削除)し、Applyボタンをクリックするか、Enterを押します。設計ワークスペース内のすべてのオブジェクトが完全に表示され、選択/編集のために利用可能になります。
右クリックメニュー
PCBLIB Filterパネル内を右クリックすると、ポップアップメニューを通じて追加のオプションとコマンドにアクセスできます。
パネルのObjectまたはLayer領域を右クリックすると、次のコンテキストメニューオプションが開きます:
-
Toggle Check - オプションを切り替えることができます。現在選択されているオプションは選択解除され、選択解除されたオプションは選択されます。
-
Check All - 利用可能なすべてのオプションを選択できるようにする。
-
Uncheck All - 利用可能なすべてのオプションの選択を解除できる。
注意
一般
-
F12キーを押すと、ワークスペース内のパネルの表示が切り替わります。
-
クエリビルダー(Building Query from Boardダイアログ)は、関連する「ビルディングブロック」を使用して構築することのみを許可するセンシティブな条件タイプと値を使用してクエリを構築する簡単な方法を提供します。完全なキーワード指定と演算子構文を使用した高度なクエリ構築には、Query Helperダイアログを使用してください。
-
適用されたフィルターを通過するオブジェクトと通過しないオブジェクトの表示オプションが分かれているため、以前のフィルタリングの結果に基づいて新しいフィルタークエリを効果的に適用できます。
クエリ式を構築する際
-
クエリが正しく解釈されない可能性がある場合は、常に括弧を使用することを強くお勧めします。
-
ブラケットは、さまざまな演算子に対して定義された優先順位の中で最も高い優先順位を持ち、ユーザーがブラケットを提供していない場合にソフトウェアがクエリをどのように解釈するかを決定します。この優先順位の順序は次のとおりです:
Brackets
Not
^, *, /, Div, Mod, And
+, -, Or, Xor
=, <>, <, >, <=, >=
&&, ||この優先順位は、パスカル型言語で使用されるものに似ています。しかし、括弧を多く使うことで疑念が取り除かれ、結果として得られるクエリは他の人にとって読みやすくなります。
-
あいまいさは左から右に作業することで解決されます。
-
括弧は内側から外側へ評価され、同じレベルのものは左から右へ処理されます。
クエリ結果はどこですか?
Filterパネルにクエリを書いたので、クエリによって返されたオブジェクトにどのようにアクセスしますか?オブジェクトは、Altium Designer環境でアクセスおよび編集する方法が2つあります。
-
Graphically - フィルターを適用した後、デフォルトの動作は、クエリに失敗したすべてのオブジェクトをマスク(フェードさせて編集不可にする)し、合格したオブジェクトのみを残します。このモードは、ワークスペース内のオブジェクトを見つけてレビューするのに優れています。マスクされたオブジェクトは編集できないため、Ctrl+A(すべて選択)などのコマンドは、クエリによって返されたオブジェクトにのみ適用されます。
-
Listパネル - Listパネル(Shift+F12)は、デザインデータへのスプレッドシートのようなビューです。デフォルトでは、すべてのデザインオブジェクトが表示されますが、フィルターが適用されると、クエリによって返されたオブジェクトのみが表示されます。リストパネルは、ソートや選択のための標準的なスプレッドシートのような動作を持ち、単一または複数のセルを直接編集することができます。
PCB ListパネルとSCH Listパネルは、前のセクションのPSB/SCHクエリの結果を表示します。
オプションの強調表示
クエリが適用されるたびに(またはデータフィルタリング機能が使用されると)、ターゲットドキュメント内の各オブジェクトはそのフィルタリングアクションの結果のメンバーになります。しかし、結果に含まれるオブジェクトと結果に含まれないオブジェクトがその後どのように表示されるかは、Filterパネルで選択されたハイライトオプションに依存します。利用可能なハイライトオプションは3つあり、これらのオプションは互いに完全に独立しているため、1つ、2つ、またはすべてを選択できます。
ズーム
クエリが適用されるときにZoomオプションが有効になると、対象文書の表示が更新され、結果に含まれるすべてのオブジェクトが占める領域が表示されます。残りの各オブジェクトが更新されたビューに表示されるかどうかは、その領域に対する位置に依存するため、それらのオブジェクトは完全に表示される場合もあれば、部分的に表示される場合も、まったく表示されない場合もあります。
このオプションは、他のオプションのいずれかまたは両方と組み合わせて選択されることがよくあります。Maskオプションが有効になっていない場合、結果に含まれていないオブジェクトは、更新された境界内にある限り、グラフィカルビューに表示されます。一見、このオプションを単独で選択することは無意味に思えるかもしれませんが、特定のオブジェクトを含むようにグラフィカルビューを更新したい場合があり、その際にドキュメントのオブジェクトの選択状態やマスク状態を変更しないことがあります。
選択
Selectオプションが有効になっていると、結果にあるすべてのオブジェクトは選択された状態になり、残りのオブジェクトは選択されていません。選択されたオブジェクトは、非選択オブジェクトとは異なる方法で表示されます。
現在のクエリが適用されるときに選択オプションが選択されると、結果セットのメンバーであるすべてのオブジェクトは選択状態を取得し、結果セットのメンバーでない残りのオブジェクトは非選択状態を取得します。このオプションは、現在選択されているオブジェクトのみがその時点でプロパティを更新されるため、通常はグローバル編集手順の直前に選択されます。しかし、特定のオブジェクトを移動、コピー、または削除する必要がある場合など、選択オプションが役立つ他の場面もあります。
マスク
Maskのハイライトオプションは、ターゲットドキュメント内のオブジェクトの更新されたマスクプロパティを決定します。選択されると、結果に含まれるすべてのオブジェクトがマスクされ、残りのオブジェクトはマスク解除されます。マスクされたオブジェクトの主な特徴は、それらとそのプロパティが編集できないことです。(マスクされたオブジェクトはリストビューで薄暗く表示されますが、Listパネルでall objectsオプションが現在選択されていない限り、リストビューには表示されません。)マスクされたオブジェクトの主な特徴は、オブジェクトとそのプロパティが編集できないことです。
クエリビルダー
PCBエディタには専用のQuery Builderダイアログが含まれています。このダイアログを使用すると、ドロップダウンリストからテスト条件を選択して複雑なクエリを構築できます。Query Builderの利点は、異なる種類のオブジェクトをターゲットにしたクエリを作成できることです。
「クエリビルダー」機能の一部である「ビルディングクエリ」ダイアログは、クエリの指定に不慣れな人々を支援します。デザイナーが指定した条件に対応する内容のクエリが自動的に生成されます。
このダイアログの左側のセクションには、デザイナーがこのダイアログによって生成されたクエリによって返される文書の各オブジェクトに必要なプロパティを指定する作業を支援するためのコントロールが含まれています。それぞれの条件が指定または編集されると、対応するクエリの内容が更新され、ダイアログの右側のセクションに表示されます。このダイアログがOK(または適用)ボタンをクリックして閉じられると、関連するクエリが適用されるか、その内容がフィルターパネルにコピーされます(このダイアログが最初にどのように呼び出されたかによります)。
Query Builderダイアログは、以下の場所から起動できます(下の画像に示されています):
-
PCB Filterパネルから、Query Builderボタンをクリックしてクエリを構築し、文字列をパネルに読み込んでください。
-
PCB Rules and Constraints Editorダイアログから、Builderボタンをクリックして、このルールが適用されるオブジェクトを定義するクエリを作成します。
下の画像は、5Vネット上のパッドとビアの両方をターゲットにしたクエリを作成するために使用されているQuery Builderダイアログを示しています。
Query Builderダイアログ
Query Builderダイアログのオプションとコントロール
-
Show All Levels - ドロップダウンを使用して、条件の構造化された文字列におけるレベルの視覚表示を制御します。これは基本的に括弧の表示を展開/折りたたむものです。括弧を追加すると新しいレベルが作成され、レベル1から5を表示できます。あるいは、次のレベルを表示するために展開(
)、現在のレベル(およびその下のすべてのレベル)を非表示にするために折りたたみ(
)の記号をクリックします。
-
- 現在選択されている条件の周りの括弧を削除するために使用します(インデントを減らす)。これにより、特定の論理的にANDされたまたは論理的にORされた条件の優先順位を作成できます。
-
- 現在選択されている条件の周りに括弧を追加することができます(インデントを増やす)。これにより、特定の論理的にANDされたまたはORされた条件の優先順位を作成できます。
-
- 構築中のクエリ文字列で選択された条件を上に移動します。サブレベルを持つ条件(すなわち、括弧付き条件)の場合、レベル構造内の任意の条件を移動できます。レベルが展開されると、条件はレベルを通じて上に移動できます。レベルが折りたたまれると、条件はレベル構造を越えて移動します。
-
- 構築中のクエリ文字列で選択された条件を下に移動します。サブレベルを持つ条件(すなわち、括弧付き条件)の場合、レベル構造内の任意の条件を移動できます。レベルが展開されると、条件はレベルを通じて下に移動できます。レベルが折りたたまれると、条件はレベル構造を越えて移動します。
-
- 次のレベルを表示するために、シンボルを展開するために使用します。
-
- 現在のレベル(およびそれ以下のすべてのレベル)を隠すために、契約シンボルを使用します。
-
- 選択した条件を削除するために使用します。
-
Condition Type/Operator - この領域を使用して、必要なオブジェクトのセットをターゲットにするために必要な条件を指定します。最初に、Condition Type/Operator列のエントリはAdd first conditionとなります。このエントリを一度クリックすると、条件タイプのドロップダウンリストが表示されます。このリストは、ダイアログがどこから起動されたかに敏感です。PCB Rules And Constraints Editorダイアログ内の特定の設計ルールのためにクエリを構築している場合、条件リストはその特定のルールタイプに対して可能な条件タイプのみを反映します。
-
Condition Value - 最初の条件を選択し、次にCondition Value列をクリックして、その条件タイプの可能な値のドロップダウンリストにアクセスします。条件を定義すると、現在構築中のクエリのプレビューがQuery Preview領域に表示されます。
クエリヘルパー
クエリ作成スキルを向上させるための次のステップは、Query Helperダイアログを使用することです。Query Helperダイアログには、希望するクエリを入力できるQueryボックスが含まれており、Queryフィールドの下にある構文ボタン(例:And、Or、<、Not、Likeなど)や、Categoriesフィールド内のすべてのクエリキーワードの完全なリストも使用できます。
「クエリヘルパー」ダイアログは、自分のクエリを指定したいデザイナーのための支援を提供します。リストされている各キーワードには簡単な説明が付いていますが、キーワードがハイライトされている状態でF1キーを押すことでオンラインヘルプにアクセスできます。これにより、ハイライトされたキーワードによってドキュメント内のどのオブジェクトが返されるか、そのキーワードの使用方法、およびその使用例が1つ以上提供されるAltium Designerドキュメンテーションライブラリダイアログが呼び出されます。
ダイアログには以下の方法でアクセスできます:
-
FilterパネルのHelperボタンをクリックしてください。
PCB Filterパネルアクセス
SCH Filterパネルアクセス
-
File-based Libraries Searchダイアログ(コンポーネントパネルの右上隅
をクリックし、ドロップダウンメニューからFile-based Libraries Searchを選択してアクセス)で、Helperボタンをクリックします。
File-based Libraries Searchダイアログアクセス
ダイアログの上部にあるQueryセクションを使用して、利用可能な関数を使用してクエリ式を作成します。テキストボックスでは、検索式を確認および/またはさらに編集できます。テキストボックスに直接入力して検索式を編集します。特定のキーワードを追加するために入力を開始します。入力している間、ダイアログはこれまでに書かれたテキストに一致する利用可能なキーワードのドロップダウンメニューを提供します。キーワードをクリックして選択の入力を自動的に完了します。希望のキーワードがハイライトされている場合、Enterを押すことでも選択を自動的に完了できます。
利用可能なキーワードのCategoriesを閲覧して、必要なものを探します。Maskフィールドを使用すると、正確なキーワードがわからない場合に役立ちます。たとえば、回路図エディタのQuery Helperで、Maskフィールドに*harを入力すると、下の画像に示されているように、ハーネスに特に適用されるキーワードが見つかります。Maskフィールドは、キーワードのNameフィールドとDescriptionフィールドの両方で機能するため、可能性のあるキーワードを見つける最も迅速な方法です。
グリッド内のキーワードをダブルクリックすると、現在のカーソル位置にクエリが追加されます。
ダイアログの中央領域には、式を構築する際に使用する一連の演算子を提供する構文ボタンが含まれています。各構文ボタンの個々の機能の詳細については、下の論理クエリ式演算子セクションを参照してください。式が文法的に正しいかどうかを確認するには、ダイアログの左下にあるCheck Syntaxボタンを使用します。
履歴クエリ
フィルタパネル(SCH Filter / SCHLIB Filter、PCB Filter / PPCBLIB Filter)から新しいクエリを入力して適用すると、クエリ履歴リストに追加されます。パネル上のHistoryボタンをクリックしてこのリストにアクセスします。Expression Managerダイアログが開き、Historyタブがアクティブになります。
HistoryタブのExpression Managerダイアログは、過去に使用されたクエリ式のリストを提供します。ここでは、回路図の履歴クエリの例が示されています。PCBの類似の例リストを表示するには、画像の上にマウスを移動させます。
リストから履歴クエリを使用するには、そのエントリを選択してApply Expressionボタンをクリックするか、エントリを直接ダブルクリックします。ダイアログが閉じ、クエリの式が関連するフィルタパネルの中央領域にロードされます。
履歴クエリは、そのエントリを選択してAdd To Favoritesボタンをクリックすることで、お気に入りクエリのリストに追加できます。履歴リストを「フラッシュ」したい場合は、Clear History
リストから最も最近に使用されたクエリ式のうち最大9つが、フィルタパネルの右クリックHistoryサブメニューから使用できます。
お気に入りのクエリ
定義されたクエリは、次の2つの方法でお気に入りのクエリのリストに追加できます。
-
Add To Favoritesボタンをクリックするか、メインのQuery Expression領域で右クリックして、コンテキストメニューからAdd to Favoritesコマンドを選択して、アクティブなフィルターパネルの中央領域で現在定義されているクエリ式を追加します。
-
Expression ManagerダイアログのHistoryタブで履歴クエリエントリを選択し、次にAdd To Favoritesボタンをクリックします。
お気に入りのクエリ式は、式マネージャーダイアログのFavoritesタブに保存され、管理されます。フィルターパネル(SCH Filter / SCHLIB Filter、 PCB Filter / PCBLIB Filter)のFavoritesボタンを使用するか、フィルターパネルのQuery Expression領域を右クリックして、コンテキストメニューからOrganize Favoritesコマンドを選択することでアクセスできます。デザインスペースからは、Yショートカットキーを使用してダイアログにアクセスし、ポップアップフィルターメニューからOrganize Favoritesを選択します。
エディタのフィルタパネルやデザインスペースから、フィルタポップアップメニューを使用してお気に入りのクエリのリストにアクセスします。
クエリ式がFavoritesリストに追加されると、ユニークな名前が割り当てられます。デフォルトでは、一般的な名前が割り当てられます - Favorite_n - ここでnは次に使用可能な未使用の番号です。エントリの名前は、次のいずれかの方法を使用して、いつでも変更できます:
-
クエリエントリを選択してから、Renameボタンをクリックします。
-
クエリエントリを選択し、右クリックメニューからEditコマンドを選択します。
-
クエリエントリを選択し、次にNameフィールド内を再度クリックします。
各場合において、新しい名前を必要に応じて入力し、変更を適用するためにNameフィールドの外をクリックしてください。
お気に入りのクエリ式を編集するには、リスト内のエントリを選択し、次にEditボタンをクリックします(または右クリックしてコンテキストメニューからEditを選択します)。Edit Favoriteダイアログが開きます。このダイアログを使用して、お気に入りの名前を変更し、式自体を変更し、フィルターを通過するデザインオブジェクトと通過しないデザインオブジェクトの取り扱いを決定します。
回路図(左)とPCB(右)のために示されたEdit Favoriteダイアログを使用して、既存のお気に入りクエリを修正します。
Favoritesリストからクエリを削除するには、リスト内のエントリを選択し、Removeボタンをクリックするか、右クリックメニューからRemoveコマンドを選択します。削除の確認を求めるダイアログが表示されます。
お気に入りのクエリを使用する
お気に入りのクエリを使用する方法は3つあります:
-
Expression ManagerダイアログのFavoritesタブから、エントリを選択してApply Expressionボタンをクリックするか、エントリをダブルクリックします。ダイアログは閉じ、クエリのエクスプレッションが関連するフィルターパネルの中央領域に読み込まれます。
-
フィルタパネルの右クリックメニューの上部から(お気に入りリストに最近追加されたクエリ式のうち最大10個が利用可能です)。
-
デザインスペースのフィルタリングポップアップメニューから(Yを押す) - お気に入りのクエリ式がメニューの上部に最大10個表示されます。選択したクエリ式は、関連するフィルタパネルの中央領域に読み込まれます。
事前パッケージ化された例の使用
回路図エディタとPCBエディタの両方に、事前パッケージ化された例のクエリセットが用意されています。これらの例は、フィルタパネルの式領域を右クリックするか、デザインスペースでYショートカットキーを使用してアクセスしたフィルタリングメニューから利用できます。Examplesにマウスを合わせると、サブメニューが表示されます。
サブメニューの項目を選択すると、そのフィルタの背後にあるクエリが適用されます。例の1つの実際のクエリを表示するには、それを適用した後のHistoryリストを見てください。このリストは、フィルタリングポップアップメニューからもアクセスできます。
クエリ構築ツール
クエリを書く最も簡単な方法の1つは、Altium Designerに書かせることです!これは、Find Similar ObjectsダイアログまたはQuery Builderダイアログを使用して行うことができます。
類似オブジェクトの検索ダイアログ
Find Similar Objectsダイアログを使用すると、必要なオブジェクトを見つけるクエリが生成されます。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からは、ドキュメント内で特定のVia Diameterプロパティを持つすべてのビアのHole Sizeプロパティを同じ値に変更できます。
既存のオプションのクリア
検索を適用する前に、既存の選択または編集マスクをクリアするには、Clear Existingオプションを有効にします。連続した検索を行い、結果が蓄積されることが望ましい場合は、このオプションを無効にします。
フィルタツールバー
Filter ToolbarはPCBドキュメント用に提供され、指定されたプロパティを持つオブジェクトや指定されたコンポーネントの一部を形成するオブジェクトを除いて、ドキュメント内のすべてのオブジェクトをマスクすることができます。ツールバーの最右フィールドはクエリの内容を指定するために使用されます。フィールドにクエリを入力するか、ドロップダウンを使用して最近のクエリ(クエリHistoryリストに存在するもの)から選択できます。Filter Toolbarからクエリが適用される際にどのオプションを使用するかを指定することはできず、すべての場合において、以前のクエリはクリアされ、マスクおよびズームオプションは現在のクエリと共に使用されます。クエリオプションを使用するには、Filterパネル、Query Builderダイアログ、Query Helperダイアログ、またはFind Similar Objectsダイアログを使用してください。
-
ボードが配線されていない場合、フィルターが適用されると選択したネットに関連する論理接続が表示されます。ボードが配線されている場合、フィルターが適用されると選択したネットに関連する配線トラックが表示されます。
-
マスキングが適用されると、フィルター範囲に含まれないすべてのオブジェクトは選択/編集できなくなります。適用されたマスキングの範囲は、View ConfigurationパネルのView OptionsタブにあるMask and Dim SettingsセクションでアクセスできるMasked Objectsスライダーを使用して手動で調整できます。
-
既存の(適用された)フィルターは、Shift+Cのキーボードショートカットを使用するか、Filterツールバーの
ボタンをクリックすることで、いつでも手動でクリアできます。
論理クエリ式演算子
以下は、クエリ言語を使用して論理クエリ式を定義する際に使用できる演算子の概要です。
算術演算子
| 演算子 | 説明 | 例 |
|---|---|---|
| + | 加算演算子 | NetPinCount + NetViaCount |
| - | 減算演算子 | ArcStopAngle - ArcStartAngle |
| * | 乗算演算子 | PadXSize_BottomLayer * PadYSize_BottomLayer |
| / | 除算演算子 | HoleDiameter / ViaDiameter |
| Div | 整数除算演算子 | Color Div 65536 これは、Colorを65536で割り、結果の小数部分を切り捨てる計算です。 |
| Mod | 剰余演算子 | Color Mod 256 これは、結果の小数部分を決定せずに、Colorを256で割ったときの余りを計算します。 |
論理演算子
| 演算子 | 説明 | 例 |
|---|---|---|
| And | 論理AND演算子 | IsPad And OnMultiLayer パッドであり、マルチレイヤー層に存在するオブジェクトが返されます。 |
| && | 論理AND演算子(低い優先度) | IsPad && OnMultiLayer パッドであり、マルチレイヤー層に存在するオブジェクトが返されます。 |
| Or | 論理OR演算子 | IsPad Or IsVia パッドまたはビアのオブジェクトが返されます。 |
| || | 論理OR演算子(低い優先度) | IsPad || IsVia パッドまたはビアのオブジェクトが返されます。 |
| Xor | 論理的EX-OR演算子 | OnMultiLayer Xor (HoleDiameter <> 0) オブジェクトがマルチレイヤー層にあり、Hole Diameterがゼロであるか、マルチレイヤー層にないがHole Diameterがゼロでないオブジェクトが返されます。 |
| Not | 論理NOT演算子 | Not OnMultiLayer マルチレイヤー層に存在しないオブジェクトが返されます。 |
PCBエディタのクエリ式で特定のタイプのプリミティブを除外するためにNot演算子を使用する際、これらのプリミティブがグループオブジェクトの一部であり、これらのグループオブジェクトも式によって除外されていない場合、除外されないことに注意してください。例えば、Not IsPadクエリ式はフリーパッドオブジェクトを除くすべてのオブジェクトを返しますが、パッドを含むコンポーネントオブジェクトも返すため、コンポーネント内のパッドはこの式によって返されます。また、パッドはPCBエディタでグループオブジェクトと見なされるネットにも含まれる可能性があります。すべてのパッドオブジェクトを除外するには、Not IsPad And Not IsComponent And Not IsNetクエリ式を使用する必要があります。
比較演算子
| 演算子 | 説明 | 例 |
|---|---|---|
| < | 小なり演算子 | HoleDiameter < 40 物体のHole Diameterが40未満のオブジェクトを返します。 |
| <= | 小なりイコール演算子 | HoleDiameter <= 40 物体のHole Diameterが40以下のオブジェクトを返します。 |
| >= | 大なりイコール演算子 | HoleDiameter >= 40 物体のHole Diameterが40以上のオブジェクトを返します。 |
| > | 大なり演算子 | HoleDiameter > 40 物体のHole Diameterが40より大きいオブジェクトを返しますい |
| <> | 不等演算子 | HoleDiameter <> 40 物体のHole Diameterが40以外のオブジェクトを返します。 |
| = | イコール演算子 | HoleDiameter = 40 物体のHole Diameterが40のオブジェクトを返します。 |
| Between...And... | 包括的範囲演算子 | HoleDiameter Between 30 And 50 物体のHole Diameterが30以上50以下のオブジェクトを返します。 |
| Like | LIKE演算子 | Name Like 'ADDR?*' これは、関連する(テキスト)文字列がADDRで始まり、少なくとももう1文字を含むNameプロパティを持つオブジェクトを返します。 |
ワイルドカード文字
ワイルドカード文字を使用すると、正確に指定されていない文字列を提供できます。これらの文字は通常、他の文字と組み合わせて使用され、部分的に指定された文字列を提供します。一部の特別なキーワードは、正確に指定されていない文字列パラメータを受け入れることができますが、ほとんどの場合、文字列にはLike演算子によって比較される場合に限り、ワイルドカード文字を含めることができます。
| オペレータ | 説明 | 例 |
|---|---|---|
| ? | 任意のタイプの単一文字に置き換えることができます | Footprint Like 'DIP1?' これは、FootprintプロパティがDIP10、またはDIP12、またはDIP14などのオブジェクトを返します。 |
| * | 任意の数の文字に置き換えることができ、それぞれ任意のタイプの文字である | Footprint Like 'SIP*' これは、FootprintプロパティがSIP1、またはSIP12、またはSIP216などのオブジェクトを返します('*'は文字がない場合にも置き換えられるため、FootprintプロパティがSIPのオブジェクトも返されます) |
ブール文字列
| オペレータ | 説明 | 例 |
|---|---|---|
| True | キーワードの意味を肯定します | IsPad = True 返されるオブジェクトはパッドでなければなりません |
| False | キーワードの意味を否定します | IsVia = False 返されるオブジェクトはビアであってはなりません |
丸括弧と優先順位
論理クエリ式で使用される演算子の優先順位を見ておくことは価値があります。そうでなければ、式が必要なオブジェクトを対象としない可能性があります。
丸括弧は、ソフトウェアによってクエリが解釈される際に定義されたさまざまな演算子の優先順位の中で最も高い優先順位を持ちます(ユーザーが丸括弧を提供していない場合)。この優先順位の順序は、最も高いものから最も低いものまで、以下の通りです:
- 丸括弧 ()
- Not
- ^, *, /, Div, Mod, And
- +, -, Or, Xor
- =, <>, <, >, <=, >=
- &&, ||
グローバルシステムクエリ機能

Query Helperダイアログに表示されるグローバルシステムクエリ関数
このセクションでは、Altium Designerのスキーマティック、PCB、およびライブラリ文書で利用可能なクエリ言語キーワードの詳細を説明します。特定のクエリキーワードに関するヘルプが必要な場合は、以下の折りたたみセクションを使用するか、任意のキーワードをハイライト(またはクリック)し、Query Helper、Filterパネル、またはPCB設計ルールのQueryフィールドでF1を押して、そのセクションにすぐにアクセスしてください。
Altium Designerの特定のエディタやツールで利用可能なクエリ言語キーワードの詳細については、以下のページを参照してください:
算術関数
ABS
概要
引数の数値の絶対値に等しい(実数)を返します。その数値が正の場合、返される数値は同じ値になります。そうでない場合、返される数値は引数の数値に-1を掛けたものになります。
構文
ABS(X : Number / Numeric_String) : Number
使用例
ABS(2.3)
2.3を返します。
ABS(-7.2)
7.2を返します。
CEIL
概要
引数の数値の性質に依存する整数を返します。その数値が正確な整数である場合、返される数はまったく同じ値になります。それ以外の場合、返される数は引数の数値よりも大きい最小の整数です。
構文
CEIL(X : Number / Numeric_String) : Number
使用例
CEIL(5.0)
5を返します。
CEIL(5.33)
6を返します。
CEIL(-5.0)
-5を返します。
CEIL(-5.33)
-5を返します。
FLOOR
概要
引数の数値の性質に依存する整数を返します。その数値が正確な整数である場合、返される数はまったく同じ値になります。それ以外の場合、返される数は引数の数値よりも小さい最大の整数です。
構文
FLOOR(X : Number / Numeric_String) : Number
使用例
FLOOR(5.0)
5を返します。
FLOOR(5.33)
5を返します。
FLOOR(-5.0)
-5を返します。
FLOOR(-5.33)
-6を返します。
FRAC
概要
パラメータの数値の性質に依存する(実数)を返します:
-
その数値が正であるが、正確な整数でない場合、返される数はパラメータの数値と、その数値よりも小さい最大の整数との差です。
-
その数値が負であるが、正確な整数でない場合、返される数は、パラメータの数値と、パラメータの数値よりも大きい最小の整数との差です。
-
パラメータの数値が正確な整数である場合、返される数は0です。
構文
FRAC(X : Number / Numeric_String) : Number
使用例
FRAC(5.0)
0を返します。
FRAC(5.33)
0.33を返します。
FRAC(-5.0)
0を返します。
FRAC(-5.33)
-0.33を返します。
FRAC
概要
これは特別な目的の構造で、3つのクエリが含まれています。最初のクエリの値(開き括弧と最初のカンマの間)は評価されます。それが真であれば、2番目のクエリ(カンマの間)が返されます。そうでなければ、3番目のクエリ(2番目のカンマと閉じ括弧の間)が返されます。
構文
IIF(L : Boolean Query , A : Query , B : Query)
L、A、およびBは、それぞれ何らかのクエリを指定する文字列です。Lはブールクエリ(つまり、TrueまたはFalseの結果を返す性質のもの)である必要があります。
使用例
IsArc And IIF(ArcStopAngle - ArcStartAngle >= 0 , ArcStopAngle - ArcStartAngle Between 30 And 60 , ArcStartAngle - ArcStopAngle Between 300 And 330)
弧長が30度以上60度以下である全ての弧を返します。(弧の弧長プロパティは、その開始角度プロパティから停止角度プロパティを引いた角度であり、弧の停止角度プロパティが開始角度プロパティより小さい場合があるが、このクエリはすべての可能な弧オブジェクトに対して真の弧長プロパティを正しく評価します。)
IsComponent And IIF(Layer = 'Top Layer' , Rotation <> 0 , Rotation <> 180)
PCBの表面にある回転プロパティが0度でない全てのコンポーネント、およびPCBの裏面にある回転プロパティが180度でない全てのコンポーネントを返します。(コンポーネントオブジェクトは、トップ信号層またはボトム信号層にのみ存在できるため、トップ信号層にないコンポーネントはその代わりにボトム信号層にあるとされます。)
INT
概要
パラメータの数値の性質に応じて、整数値を返します:
- その数値が正であるが正確な整数でない場合、返される数値はパラメータの数値より小さい最大の整数です。
- その数値が負であるが正確な整数でない場合、返される数値はパラメータの数値より大きい最小の整数です。
- その数値が正確な整数である場合、返される数値はまったく同じ値を持ちます。
構文
INT(X : Number / Numeric_String) : Number
使用例
INT(5.0)
5を返します。
INT(5.33)
5を返します。
INT(-5.0)
-5を返します。
INT(-5.33)
-5を返します。
ヒント
これはTRUNC算術関数の別名です。
MAX
概要
提供されたすべてのパラメータの最大値に等しい(実数)値を持つ数値を返します。各パラメータは数値または数値文字列でなければならず、任意の数のパラメータを提供できます。
構文
MAX(N1 : Number / Numeric_String, [N2] : Number / Numeric_String, ...) : Number
使用例
MAX(2)
2を返します。
MAX(7,2,3)
7を返します。
ヒント
少なくとも1つのパラメータを提供する必要があります。
MIN
概要
提供されたすべてのパラメータの最小値に等しい(実数)値を持つ数値を返します。各パラメータは数値または数値文字列でなければならず、任意の数のパラメータを提供できます。
構文
MIN(N1 : Number / Numeric_String, [N2] : Number / Numeric_String, ...) : Number
使用例
MIN(2)
2を返します。
MIN(7,2,3)
2を返します。
ヒント
少なくとも1つのパラメータを提供する必要があります。
POWER
概要
第一パラメータの数値を第二パラメータの数値のべき乗にした値に等しい(実数)値を持つ数値を返します。
構文
POWER(X : Number / Numeric_String , Y : Number / Numeric_String) : Number
使用例
POWER(3,2)
9を返します。
POWER(32,0.2)
2を返します。
POWER(16,-0.5)
0.25を返します。
ROUND
概要
パラメータの数値の性質に応じて、整数値を返します:
-
その数値が正確な整数である場合、返される数値はまったく同じ値を持ちます。
-
その数値が正確な整数でない場合、返される数はパラメータの数値に最も近い整数です。隣接する整数のちょうど真ん中にある正の数は上に丸められ、隣接する整数のちょうど真ん中にある負の数は下に丸められます。
Syntax
ROUND(X : Number / Numeric_String) : Number
Example Usage
ROUND(5.0)
5を返します。
ROUND(5.33)
5を返します。
ROUND(5.5)
6を返します(切り上げ)。
ROUND(5.66)
6を返します。
ROUND(-5.0)
-5を返します。
ROUND(-5.33)
-5を返します。
ROUND(-5.5)
-6を返します(切り下げ)。
ROUND(-5.66)
-6を返します。
SIGN
概要
提供されたパラメータの符号値を返します。つまり、パラメータの数値の性質に応じて値が決まる整数を返します:
-
その数値が正であれば、返される数は1です。
-
その数値が負の場合、返される数は-1です。
-
その数値が正確にゼロである場合、返される数は0です。
構文
SIGN(X : Number / Numeric_String) : Number
使用例
SIGN(5.33)
1を返します。
SIGN(-5.33)
-1を返します。
SIGN(0)
0を返します。
SQR
概要
パラメータの数値の平方に等しい(実数)値を返します。
構文
SQR(X : Number / Numeric_String) : Number
使用例
SQR(2)
4を返します。
SQR(14.1)
198.81を返します。
SQR(-1.5)
2.25を返します。
SQRT
概要
引数の数値の正の平方根に等しい(実数)値を返します。
構文
SQRT(X : Number / Numeric_String) : Number
使用例
SQRT(4)
2を返します。
SQRT(10)
3.1623を返します。
TRUNC
概要
引数の数値の性質に依存する整数を返します:
-
その数値が正であるが、正確な整数でない場合、返される数はパラメータの数値よりも小さい最大の整数です。
-
その数値が負であるが、正確な整数でない場合、返される数はパラメータの数値よりも大きい最小の整数です。
-
その数値が正確な整数である場合、返される数はまったく同じ値になります。
構文
TRUNC(X : Number / Numeric_String) : Number
使用例
TRUNC(5.0)
5を返します。
TRUNC(5.33)
5を返します。
TRUNC(-5.0)
-5を返します。
TRUNC(-5.33)
-5を返します。
ヒント
これはINT算術関数の別名です。
ZERO
概要
パラメーターの数値に応じて、0または1のいずれかの値を持つ整数を返します。その数値がゼロであれば、返される数は0であり、そうでなければ返される数は1です。
構文
ZERO(X : Number / Numeric_String) : Number
使用例
ZERO(5.33)
1を返します。
ZERO(-5.33)
1を返します。
ZERO(0)
0を返します。
三角関数
ACOS
概要
指定された数値の逆余弦の角度に等しい値を持つ(実数の)数値を返します。その角度はラジアン単位です(度ではありません)。
構文
ACOS(X : Number / Numeric_String) : Number
使用例
ACOS(0)
1.5708を返します。
ACOS(0.5)
1.0472を返します。
ACOS(1)
0を返します。
ASIN
概要
指定された数値の逆正弦の角度に等しい値を持つ(実数の)数値を返します。その角度はラジアン単位です(度ではありません)。
構文
ASIN(X : Number / Numeric_String) : Number
使用例
ASIN(0)
0を返します。
ASIN(0.5)
0.5236を返します。
ASIN(1)
1.5708を返します。
ATAN
概要
指定された数値の逆正接の角度に等しい値を持つ(実数の)数値を返します。その角度はラジアン単位です(度ではありません)。
構文
ATAN(X : Number / Numeric_String) : Number
使用例
ATAN(0)
0を返します。
ATAN(1)
0.7854を返します。
ATAN(2.5)
1.1903を返します。
COS
概要
指定された角度の余弦に等しい値を持つ(実数の)数値を返します。その角度はラジアン単位です(度ではありません)。
構文
COS(X : Number / Numeric_String) : Number
使用例
COS(0)
1を返します。
COS(0.8)
0.6967を返します。
COS(1.57)
0.0008を返します。
COSH
概要
パラメータの数値の双曲線余弦に等しい値を持つ(実数の)数値を返します。
構文
COSH(X : Number / Numeric_String) : Number
使用例
COSH(TextHeight / TextWidth) < 70.5
TextHeight距離とTextWidth距離の比の双曲線余弦が70.5未満のオブジェクトを返します。(つまり、TextHeight距離とTextWidth距離の比が4.9487未満のオブジェクトを返すことと同等です)。
(TextHeight / TextWidth) >= COSH(2.3)
TextHeight距離とTextWidth距離の比が2.3の双曲線余弦に等しい、またはそれ以上のオブジェクトを返します(それは5.0372です)。
COTAN
概要
指定された角度の余接に等しい値を持つ(実数の)数値を返します。その角度はラジアン単位です(度ではありません)。
構文
COTAN(X : Number / Numeric_String) : Number
使用例
COTAN(0.1)
9.9666を返します。
COTAN(0.8)
0.9712を返します。
COTAN(1.57)
0.0008を返します。
SIN
概要
指定された角度の正弦に等しい値を持つ(実数の)数値を返します。その角度はラジアン単位です(度ではありません)。
構文
SIN(X : Number / Numeric_String) : Number
使用例
SIN(0)
0を返します。
SIN(0.8)
0.7174を返します。
SIN(1.57)
1.0を返します。
SINH
概要
パラメータの数値の双曲線正弦に等しい値を持つ(実数の)数値を返します。
構文
SINH(X : Number / Numeric_String) : Number
使用例
SINH(TextWidth / TextHeight) < 0.17
TextWidth距離とTextHeight距離の比の双曲線正弦が0.17未満のオブジェクトを返します。(つまり、TextWidth距離とTextHeight距離の比が0.1692未満のオブジェクトを返すことと同等です)。
(TextWidth / TextHeight) >= SINH(0.2)
TextWidth距離とTextHeight距離の比が0.2の双曲線正弦に等しい、またはそれ以上のオブジェクトを返します(それは0.2013です)LOG(X : 数値 / 数値文字列) : 数値
使用例
LOG(1)
0を返します。
LOG(2)
1を返します。
LOG(8)
3を返します。
LOG(10)
3.3219を返します。
指数関数と対数関数
EXP
概要
引数の数値の値の指数としてeを用いた(実数)を返します。(数値eは自然対数の底であり、約2.7183に等しいです。)
構文
EXP(X : Number / Numeric_String) : Number
使用例
EXP(0)
1を返します。
EXP(1)
2.7183を返します。
LG
概要
パラメータの数値の10進対数に等しい値を持つ(実数)を返します。
構文
LG(X : Number / Numeric_String) : Number
使用例
LG(1)
0を返します。
LG(10)
1を返します。
LG(25)
1.3979を返します。
LN
概要
パラメータの数値の自然対数(または底e)の値に等しい(実数)を返します。(数eは2.7183です)。
構文
LN(X : Number / Numeric_String) : Number
使用例
LN(1)
0を返します。
LN(2)
0.6931を返します。
LN(10)
2.3026を返します。
LOG
概要
パラメータの数値の値に等しい底2の対数の値を持つ(実数)を返します。
構文
LOG(X : Number / Numeric_String) : Number
使用例
LOG(1)
0を返します。
LOG(2)
1を返します。
LOG(8)
3を返します。
LOG(10)
3.3219を返します。
集約関数
AVG
概要
提供されたすべてのパラメータの平均値に等しい(実数)数値を返します。各パラメータは数値または数値文字列でなければならず、任意の数のパラメータを提供できます。
構文
AVG(N1 : Number / Numeric_String, [N2] : Number / Numeric_String, ...) : Number
使用例
AVG(2)
2を返します。
AVG(7,2,3)
4を返します。
ヒント
- 少なくとも1つのパラメータを提供する必要があります。
MAX
概要
提供されたすべてのパラメータの最大値に等しい(実数)数値を返します。各パラメータは数値または数値文字列でなければならず、任意の数のパラメータを提供できます。
構文
MAX(N1 : Number / Numeric_String, [N2] : Number / Numeric_String, ...) : Number
使用例
MAX(2)
2を返します。
MAX(7,2,3)
7を返します。
ヒント
少なくとも1つのパラメータを提供する必要があります。
MIN
概要
提供されたすべてのパラメータの最小値に等しい(実数)数値を返します。各パラメータは数値または数値文字列でなければならず、任意の数のパラメータを提供できます。
構文
MIN(N1 : Number / Numeric_String, [N2] : Number / Numeric_String, ...) : Number
使用例
MIN(2)
2を返します。
MIN(7,2,3)
2を返します。
ヒント
少なくとも1つのパラメータを提供する必要があります。
PROD
概要
提供されたすべてのパラメータの積に等しい(実数)数値を返します。各パラメータは数値または数値文字列でなければならず、任意の数のパラメータを提供できます。
構文
PROD(N1 : Number / Numeric_String, [N2] : Number / Numeric_String, ...) : Number
使用例
PROD(2)
2を返します。
PROD(7,2,3)
42を返します。
ヒント
少なくとも1つのパラメータを提供する必要があります。
SUM
概要
提供されたすべてのパラメータの合計に等しい(実数)数値を返します。各パラメータは数値または数値文字列でなければならず、任意の数のパラメータを提供できます。
構文
SUM(N1 : Number / Numeric_String, [N2] : Number / Numeric_String, ...) : Number
使用例
SUM(2)
2を返します。
SUM(7,2,3)
12を返します。
ヒント
少なくとも1つのパラメータを提供する必要があります。
システム関数
Copy
概要
文字列の部分文字列を返します。返される部分文字列内に含まれる文字数と、部分文字列の最初の文字が文字列内のどの位置になるかを指定することができます。
構文
Copy(S : String , Index : Integer , Count : Integer) : String
Sは文字列型の式です。Index およびCountは整数型の式です。Copyは、Count文字を含む部分文字列を返し、その開始位置はS[Index]です。
もしIndex がSの長さより大きい場合、Copyは空の文字列を返します。
もしCountが利用可能な文字より多く指定された場合、S[Index]からSの終わりまでの文字のみが返されます。
使用例
Copy('Cats and dogs',1,1)
'C'を返します。(文字列内の1番目の位置から1文字を返します)。
Copy('Cats and dogs',2,1)
'a'を返します。(文字列内の2番目の位置から1文字を返します)。
Copy('Cats and dogs',13,1)
's'を返します。(文字列内の13番目の位置から1文字を返します)。
Copy('Cats and dogs',14,1)
空の文字列を返します。(文字列内の14番目の位置から1文字を返しますが、文字列内には13文字しかないため、空の文字列が返されます。)
Copy('Cats and dogs',1,2)
'Ca'を返します。(文字列の1番目の位置から始めて2文字を返します)。
Copy('Cats and dogs',2,2)
'at'を返します。(文字列の2番目の位置から始めて2文字を返します。)
Copy('Cats and dogs',12,2)
'gs'を返します。(文字列の12番目の位置から始めて2文字を返します)。
Copy('Cats and dogs',13,2)
's'を返します。(文字列の13番目の位置から始めて2文字を返しますが、文字列内には13文字しかないため、1文字だけが返されます。)
Copy('Cats and dogs',15,2)
空の文字列を返します。(文字列内の15番目の位置から始めて2文字を返しますが、文字列内には13文字しかないため、空の文字列が返されます。)
Copy('Cats and dogs',1,6)
文字列内の1番目の位置から始めて6文字を返します。 'Cats a'を返します。
Copy('Cats and dogs',5,9)
' and dogs'を返します。(文字列の5番目の位置から9文字を返す)。
Copy('Cats and dogs',8,5)
'd dog'を返します。(文字列の8番目の位置から始めて5文字を返します)。
Copy('Cats and dogs',8,6)
'd dogs'を返します。(文字列の8番目の位置から6文字を返す。)
Copy('Cats and dogs',8,7)
'd dogs'を返します。(文字列の8番目の位置から始めて7文字を返しますが、文字列内には13文字しかないため、6文字しか返されません)。
Length
概要
文字列に含まれる文字の数を返します。
構文
Length(S : String) : Integer
S は返される文字数の文字列です。
使用例
Length(Name) Between 4 And 7
名前プロパティが4文字から7文字の間の文字を含むオブジェクトを返します。
Length('Cat')
3を返します。
Length('Darryll')
7を返します。
Length('Cats and dogs')
13を返します。
Length('')
0を返します。
Pos
概要
指定された文字列に出現する指定された部分文字列の最初の文字のインデックス値を返します。
構文
Pos(Substr : String , S : String) : Integer
Posは文字列S内で部分文字列Substrを検索します。SubstrとSは文字列型の式です。Substrの最初の文字のインデックスである整数値が返されます。
Posは大文字と小文字を区別します。Substrが見つからない場合、Posはゼロを返します。
使用例
Pos('T',Name) = 1
最初の位置に'T'を含むNameプロパティを持つすべてのオブジェクトを返します。'T1'や'Time Table'はそのような文字列の例です。('T'は'Time Table'の中に2回ありますが、最初の位置は最初の位置にあります。)
Pos('A',Name) = 2
Name プロパティの関連文字列が2番目の位置で初めて'A'を含むすべてのオブジェクトを返します。例えば、'RA1'や'CABLE CHART'がそのような文字列の例です。
Pos('B',Name) = 0
Name プロパティの関連文字列がどの位置にも'B'を含まないすべてのオブジェクトを返します。'D1'や'Time Table'がそのような文字列の例です。('Time Table'の文字列は8番目の位置に'b'を含みますが、Posは大文字と小文字を区別します。)
Pos('D',Name) > 0
Name プロパティの関連文字列が少なくとも1つの位置で'D'を含むすべてのオブジェクトを返します。'Data Chart'、'U1D'、'Install either D1 and D2 or D3 and D4, but never install all of these.'がそのような文字列の例です。
Pos('Con',Name) = 1
Name プロパティの関連文字列が最初の位置で'Con'を含むすべてのオブジェクトを返します。'Concatenate'がそのような文字列の例です。('Concatenate'内の'Con'の最初の位置はこの文字列の最初の3文字です。'Con'内の最初の文字は'C'で、'Concatenate'の最初の文字の位置です。)
Pos('ate',Name) = 5
Name プロパティの関連文字列が5番目、6番目、および7番目の位置で初めて'ate'を含むすべてのオブジェクトを返します。'Concatenate'がそのような文字列の例です。('Concatenate'内の'ate'の最初の位置はこの文字列の5番目から7番目の文字です。'ate'内の最初の文字は'a'で、'Concatenate'の5番目の文字の位置です。)
Pos('ate',Name) = 0
Name プロパティの関連文字列がどこにも'ate'を含まないすべてのオブジェクトを返します。'C1'や'TIME:'がそのような文字列の例です。
Pred
概要
パラメータの数値から1.0を引いた値と等しい(実数の)数値を返します。
構文
Pred(X : Number / Numeric_String) : Number
使用例
Pred(4.1)
3.1を返します。
Pred(41.313)
40.313を返します。
Random
概要
0からX-1の間のランダムな数値を返します。
構文
Random(X) : Number
使用例
Random(10)
0から9の間の値を返します。
Random(100)
0から99の間の値を返します。
Succ
概要
パラメータの数値に1.0を加えた値と等しい(実数の)数値を返します。
構文
Succ(X : Number / Numeric_String) : Number
使用例
Succ(2.1)
3.1を返します。
Succ(41.313)
42.313を返します。

















