ラベル 过滤器 の投稿を表示しています。 すべての投稿を表示
ラベル 过滤器 の投稿を表示しています。 すべての投稿を表示

2019年9月22日日曜日

フィルタ(2)AND/OR

条件判断

フィルタの条件判断はAND(且つ)とOR(又は)があります。ANDとORを使用すれば複合的な条件文を作ることができます。その考え方は「算数」に置き換えると簡単です。

ルール - AND/OR

  • AND------×(掛け算)
  • OR--------+(足し算)

条件判断       - TRUE/FALSE

  • TRUE     =1 (≠0)
  • FLASE    =0

ANDの例

下の図の例は壁の中で
  1. タイププロパティ[機能]の値が「外部」である
  2. タイププロパティ[幅]の値が「100以上」である
  3. インスタンスプロパティ[面積]の値が「100より小さい」
の三つのルールのすべてを満たしている壁を選択するフィルタです。このフィルタを実際に作成してみましょう。

手順


  1. [表示]タブ>[グラフィックス]パネル>[フィルタ]
  2. フィルタグループの新規作成
  3. 名前を「壁 外部 t100 100㎡未満」としてOK。
    フィルタを作成
  4. カテゴリグループでのみをチェック。
  5. フィルタ規則グループで下の図のように条件1を追加。
    タイププロパティ[機能]の値が「外部」である
  6. ルールを追加をクリックし、条件2を下の図のように設定。
    タイププロパティ[幅]の値が「100以上」である
  7. もう一度ルールを追加をクリックし、条件3を下の図のように設定。
    インスタンスプロパティ[面積]の値が「100より小さい」
下の図はこのフィルタをビューに適用して、前回のように青色に着色した状態です。
フィルタで着色
この場合、三つのルールがすべてTRUE=1であればANDは掛け算なので
1×1×1=1(≠0)
なので、TRUEと判断できますが、一つでもFALSE=0があると
1×0×1=0
でFALSEと判断されます。
もし、ORであれば、ORは足し算なので、一つでもTRUE=1があれば
1+0+0=1(≠0)
でTRUEと判断されます。
ORの場合は一つでもルールに合致すればTRUE

ルールを入れ子にする


3の条件を以下のように変更してみます。
  • インスタンスプロパティ[面積]の値が「100以上200以下」
これを実際に作成してみましょう。
  1. 三番目のルールを-をクリックして削除。
    ルールを削除
  2. セットを追加をクリック
    セットを追加
  3. ANDを選択し、ルールを追加をクリック
    ANDセットにルールを追加
  4. 下の図のように面積が100以上を追加。
    面積が100以上
  5. セット内のルールを追加をクリックし、面積が200以下のルールを追加
    ルールを追加
このように、ルールはつぎつぎと入れ子(ネスト)にすることができます。
ルールのネスト
理屈を理解すれば、複数のルールを組み合わせてより複雑なフィルタを作成することができます。

2019年9月15日日曜日

フィルタ(1)

フィルタとは?

ビューの表示・非表示、あるいは色や線種の上書きをコントロールしようとするには

  1. カテゴリ単位
  2. 要素単位
で可能ですが、この1と2の間に「要素のパラメータ単位」という考え方があります。これがフィルタです。
フィルタとは「要素のプロパティの値である条件に合致した要素を選択する」という働きがあり、ビューにフィルタで選択した要素の上書きを設定することができます。

フィルタの作り方

例えば壁のみを表示する、ということはカテゴリの設定で可能です。表示/グラフィックスの上書きで壁だけにチェックをいれれば、
表示/グラフィックスの上書きで壁だけにチェックをいれれば
壁だけを表示することができます。
壁だけを表示できるが
さらに、壁は壁でも外壁だけをフィルタを使って表示してみましょう。

  1. [表示]タブ>[グラフィックス]パネル>[フィルタ]
  2. 新規作成をクリックし、名前を外壁としてOK。
    フィルタの新規作成
  3. 中央のカテゴリリストでを選択。
    カテゴリで壁を選択
  4. フィルタ規則を下の図のように設定。これは「タイプパラメータ機能が外部に等しいものを選択する」という意味です。
    フィルタ規則を設定
  5. OK

ビューに適用する


  1. [表示]タブ>[グラフィックス]パネル>[表示/グラフィックス]
  2. フィルタタブを選択。
    フィルタタブ
  3. 追加をクリックし、外壁を選択してOK。
    フィルタを追加
  4. 投影/サーフェスのパターンを選択して、青色の塗りつぶしを設定してOK。
    青色の塗り潰しを設定
  5. OKを二度押してダイアログボックスを閉じる
    外壁が青色に

条件にあてはまるもののみを表示するには

フィルタの特性として、フィルタに適合する要素を上書きしたり非表示にすることはできても、フィルタに適合する要素だけを表示することはできません。そこで、特定の条件に合致しないものを選択する、というフィルタを作ります。

  1. [表示]タブ>[グラフィックス]パネル>[フィルタ]
  2. 新規作成をクリックし、名前を外壁以外としてOK。
  3. カテゴリで壁を選択し、フィルタ規則で下の図のように、タイププロパティ機能が外部に等しくない、というフィルタを作成しOK。
    外部に等しくない
  4. フィルタを適用するビューを開く
  5. [表示]タブ>[グラフィックス]パネル>[表示/グラフィックス]
  6. フィルタタブを選択。
  7. 追加をクリックし、外壁以外を追加して、表示のチェックを外す。
    表示のチェックを外す
  8. OKを二度押してダイアログボックスを閉じる
    フィルタを適用したビュー
まずはこれが基本です。プロパティの値にを使うことで、表現の幅が広がります。