![見出し画像](https://assets.st-note.com/production/uploads/images/170588330/rectangle_large_type_2_6496759ebcbf17f754b5cb778cb62978.png?width=1200)
【Grasshopper】抽出するコンポーネント集【パターン/階層編】
リストから
・パターンによる抽出
・階層による抽出
これらを行うコンポーネントをまとめました。
(それ以外の方法は前回の記事にまとめています。)
パターンで抽出
Trueを抽出 【Cull Pattern】
![](https://assets.st-note.com/img/1734406780-iPU0k9M4j3xJmI2o8nDhlQrs.jpg?width=1200)
Cull Patternは「P」に接続したTrue/FalseのTrueに当たるアイテムを抽出してくれます。
パターンが途中で終了した場合は繰り返し行います。
![](https://assets.st-note.com/img/1734406795-hcWtk9SEjALmwPZGxvVK06Us.jpg?width=1200)
パターンで分割① 【Dispatch】
![](https://assets.st-note.com/img/1734761522-u21MLom73gnTR4NQJUhdzrtp.png?width=1200)
Dispatchは先ほどのCull Patternと違いFalseに当たるアイテムも抽出します。
「A」端子からはTrueのアイテム、「B」端子からはFalseのアイテムが出てきます。
![](https://assets.st-note.com/img/1734761495-yYHbRKr9IwSaPf7T30JXZp1x.png?width=1200)
パターンで分割② 【Sift Pattern】
![](https://assets.st-note.com/img/1734406800-LOmpxRfD8HNIabCwi2v0kuPX.jpg?width=1200)
Sift Patternは「0」からFalse、「1」からTrueのアイテムが出てきます。
Dispatchと違い、該当しなかったアイテムは<null>になります。
![](https://assets.st-note.com/img/1734406805-QLnOVfW7syR98TvKkaUXNbGD.jpg?width=1200)
2を追加すれば、2を割り当てたアイテムが抽出されます。
(True/Falseはもともと1/0の値を持つため、0,1から出てきます。)
階層による抽出
階層ごとに抽出 【Explode Tree】
![](https://assets.st-note.com/img/1734763888-5OLuMgSdTWftZlwN2Amcph3i.jpg?width=1200)
Explode Treeは入力したリストの階層ごとに端子から出力されます。
合体コンポーネント集で紹介した「Entwine」の逆です。
![](https://assets.st-note.com/img/1734763892-pcXsJYbT64KdqZH3MeojfhSr.jpg?width=1200)
拡大して+から端子を増やしましょう。
指定した階層のみ抽出 【Tree Branch】
![](https://assets.st-note.com/img/1734764968-yom6PJV7BnfCMAuzdS4FNI59.png?width=1200)
Tree Branchは「P」端子で指定した階層名の階層のみを抽出します。
![](https://assets.st-note.com/img/1734765587-ZG5gzLNraUxEM9OKJQpPd8qs.png?width=1200)
Maintain→階層名はそのまま
Renumber→階層名は{0}(新しく割り振られる。)
指定した階層とそれ以外を抽出 【Split Tree】
![](https://assets.st-note.com/img/1734766946-Ris7mDoWdYUI6aKA1Mvk2cBu.png?width=1200)
Split Treeは「M」端子で指示した階層名を「P」端子で出力、それ以外は「N端子から出てきます。
![](https://assets.st-note.com/img/1734767375-V0sHXxqmL7BChZyFzpOU3uJ6.png?width=1200)
「そこに入る数字は何でも良い」という意味になります。
指定した階層とインデックスで抽出 【Tree Item】
![](https://assets.st-note.com/img/1734768407-zXf2gWKuEmYnT3AkOM58wsiV.png?width=1200)
Tree Itemは「P」端子に階層名、「i」端子にインデックス値を指定すると「E」端子より抽出されます。
指定した階層とインデックス値で抽出(一つのみ) 【Cherry Picker】
![](https://assets.st-note.com/img/1734769142-DO0w9BYTZElikWbSXt4aveP1.jpg?width=1200)
Cherry Pickerはコンポーネントに表示した階層・インデックス値を抽出してくれます。
階層はシンプルにダイアログボックスから階層を選ぶようになっておりますが、
インデックス値の方は数字にカーソルを置いた状態で、クリックしたまま上下に移動するとダイヤルが回るように数字が動きます。
![](https://assets.st-note.com/img/1734769263-q6iZEYrOkFXQPzfUWd3osRBj.jpg?width=1200)
階層内のアイテム数を指定して抽出 【Prune Tree】
![](https://assets.st-note.com/img/1734771360-xJEBDyfUjPkYKZG3qXtQLnlm.png?width=1200)
Ptune Treeは階層内のアイテムの数を指定し、該当するアイテムを抽出します。
![](https://assets.st-note.com/img/1734772016-Ga2O3rR5pI7TKFHfem8s14U6.png?width=1200)
![](https://assets.st-note.com/img/1734772475-2iJnS5vMzucL4wsoARb9XHpN.png)