部品表のフィルタリング

部品表を形成する部品をフィルタリングできます。フィルターの種類には、メインの2種類があります。

メインフィルタ

メインフィルタは、DATAEXTRACTIONコマンドと同じように機能します。まず、必要なレベル(トップ、ボトム、階層)のアセンブリ内のすべての部品が、フィルタ式と照合されます。フィルタを通過したパーツのみが部品表に含まれます。

フィルタリングは部品表が生成される前に行われるため、フィルタ式は部品表列を参照しない場合があります。例えば、標準仕様は部品の通常のプロパティであるため、すべての標準部品を対象としたフィルタを作成することができます。ただし、メインフィルタを設定して、1より大きい数量のすべての部品をフィルタで除外することはできません。そのためには、列フィルタを使用する必要があります。

フィルタコンフィギュレータ

メインフィルタを設定する最も簡単な方法は、部品表マネージャーでフィルタコンフィギュレータを使用することです。

フィルタコンフィグレータでは、一連の条件を定義できます。各条件は、選択したプロパティとターゲット値の間の関係を定義します。

考えられる関係は次のとおりです。
  • 等しい
  • 等しくない
  • 未満
  • 超過
  • 以下
  • 以上
条件をグループに追加して、それらの条件の処理方法を定義できます。グループには2種類あります。
  • すべて - そのグループ内のすべての条件が「真」である場合に「true」になります。これは「and」演算子と同じです。
  • いずれか - そのグループ内の少なくとも1つの条件が「真」である場合に「true」になります。これは「or」演算子と同じです。

グループには任意の数の条件を含めることができます。入れ子状のグループを含めることもできるため、複雑なフィルタが可能になります。

条件を追加するには:
  • プロパティのリストからプロパティを選択します。
  • 必要な関係演算子を選択し、ターゲット値を指定します。

    テキスト値の場合、可能なすべての値のリストからターゲット値を選択できます。数値の場合は、ドキュメントのデフォルト単位を基準にして値を自動的に変換するために、そのターゲット単位を指定することもできます。

テキスト値の場合、「等しい」および「等しくない」関係ではワイルドカード文字がサポートされます。

フィルタコンフィグレータは、条件のセットをフィルタ式に自動的に変換します。フィルタ式は、クリックすると表示されます。

この式は完全に編集可能で、条件セットとの双方向の関連付けが可能です。

構文の説明:

演算子 意味
== 等しい
!= 等しくない
< 未満
> 超過
<= 以下
>= 以上
  • プロパティ名は引用符で囲む必要があります。
  • 関係演算子は、「and」および「or」演算子を使用して組み合わせることができます。演算子「and」は、演算子の両側が真であれば「true」になります。演算子「or」は、演算子の左右どちらかが真であれば「false」となります。
  • 論理演算子ANDとORは、大文字と小文字を区別しません。
  • "(" and ")"を使用して、2つの演算子を1つに結合します。
  • 文字列の値は二重引用符""で囲みます。
  • 文字列に対する関係演算子は、大文字と小文字を区別します。
  • "==" および "!=" 演算子は、ワイルドカードをサポートしています。

たとえば、すべての標準部品の部品表を取得するには、次の式を使用します:

"Is standard"=="Yes"

すべてのISO標準部品の部品表を取得するには、次の式を使用します:

"Is standard"=="Yes" および "Part standard"=="ISO"

すべてのISOまたはDIN標準部品の部品表を取得するには、次の式を使用します:

"Is standard"=="Yes" および ("Part standard"=="ISO" または "Part standard"=="DIN")

ワイルドカード

ワイルドカード文字を使用すると、プロパティ値を特定のテンプレートと照合できます。例えば、名前に「nozzle」を含むすべてのコンポーネントを検索する場合は、次の式を使用できます:「Componentname」== "*nozzle*"

ワイルドカード文字は、フィルタコンフィグレータのターゲット値としても使用できます。

ワイルドカード文字をサポートしているのは、「等しい」と「等しくない」の関係演算子のみです。

Note: メインフィルタのワイルドカード文字では、大文字と小文字が区別されることに注意してください。列フィルタでは、大文字と小文字を区別するか、大文字と小文字を区別しない一致が必要かを指定できます。

以下の特殊文字がサポートされています。

名前 文字 説明
バッククォート ` 次の文字をエスケープします。(文字通りそれを取ります)
カンマ , パターンを区切ります。
アスタリスク * ヌル文字を含む任意の文字列に一致します。
疑問符 一覧表示 1文字が一致します。
ピリオド . 英字以外の1文字が一致します。
アットマーク 最初の点と同じ 英文字1文字と一致します。
ハッシュタグ # 単一の数字が一致します。
チルダ ~ パターンの最初の文字がパターン以外のものと一致する場合です。
括弧 [...] 囲まれた1文字に一致します。
チルダ括弧 [~...] 囲まれていない1文字に一致します。
ハイフン - 括弧内で、指定した範囲内の1文字に一致します。

列フィルタ

列フィルタを使用すると、列の内容に応じて、行が表示する条件をすばやく設定できます。(一部のスプレッドシートプロセッサーのフィルタに多少似ています) メインフィルタとは異なり、部品表の生成後に適用されます。したがって、数量などの集計コンテンツを含む列に列フィルタを使用することができます。

各列には、1つのフィルタのみを含めることができます。ただし、必要な数の列に列フィルタを追加できます。すべての列フィルタを通過する行のみが最終的な部品表に表示されます。

部品表マネージャーの列フィルタダイアログを使用して、列フィルタを設定できます。

このダイアログでは、リストからフィルタの種類を選択し、それに応じてフィルタを設定できます。使用可能なフィルタのリストは、下の表に示すように、列のコンテンツ種類によって異なります。

フィルタ種類 列の種類 説明
常に承諾 任意 すべての列の値が受け入れられる
等しい 数値 値はターゲット値と等しいこと
等しくない 数値 値はターゲット値と等しくないこと
未満 数値 値はターゲット値未満であること
超過 数値 値はターゲット値を超過していること
以下 数値 値はターゲット値以下であること
以上 数値 値はターゲット値以上であること
数値 値が指定された範囲内にあり、両端の値を含んでいること
範囲外 数値 値が指定された範囲内であってはならず、両端の値は除外
完全に一致する 文字 値がターゲットと完全に一致していること
一致しない 文字 値はターゲットとは異なること
で始まる 文字 値が指定されたテキストで始まっていること
で始まらない 文字 値が指定されたテキストで始まっていないこと
で終わる 文字 値が指定されたテキストで終わっていること
で終わらない 文字 値が指定されたテキストで終わっていないこと
含む 文字 値に指定されたテキストが含まれていること
含まれません 文字 値に指定されたテキストが含まれていないこと
パターンに一致する 文字 値が指定されたワイルドカードテンプレートと一致すること
パターンに一致しない 文字 値が指定されたワイルドカードテンプレートと一致しないこと
in 文字と数値 値が指定された値のセット内にあること
not in 文字と数値 値が指定された値のセット内にないこと

すべての文字フィルタについて、大文字と小文字を区別するか、区別しないかを指定することもできます。