GrasshopperのSetsパネルのコンポーネント一覧です。緑のボタンをクリックで各グループ一覧にジャンプします。
左にあるA~Cは重要度で、Aが一番重要度の高いコンポーネントになります。

 

List

コンポーネント

コンポーネントの場所

機能

重要度

テキスト表示

アイコン表示 コンポーネント名 「詳細…」をクリックで機能説明
A

Sets>List>List Item

List Itemコンポーネント

リスト(List)から指定したインデックス(i)のアイテムを出力する。 
A

Sets>List>List Length

List Lengthコンポーネント

リスト(List)の長さ(含まれるアイテムの数)を整数で出力する。
A

Sets>List>Sort List

Sort Listコンポーネント

入力したリスト(Keys)を昇順に並べ替える。Aに値が入っていた場合、Keysで並び替えたのと同じ順に並び替える。
B

Sets>List>Split List

Split Listコンポーネント

リスト(List)を指定した値の前後で分割し、出力する。Aが指定値より前、Bが後。
B

Sets>List>Insert Items

Insert Itemsコンポーネント

リスト(List)の指定した値(i)の箇所に、アイテム(I)を挿入する。後のアイテムは挿入した数だけ、インデックスがずれる。
C

Sets>List>Item Index

Item Indexコンポーネント

入力したデータ(List)の中から特定のアイテム(Item)を検索し、データの中のインデックスを出力する。
B

Sets>List>Partition List

Partition Listコンポーネント

リスト(List)を指定した数(Size)ずつ、別の階層にデータを分ける。複数の数を入力した場合は、その数ずつ繰り返した階層に分割される。
B

Sets>List>Replace Items

Replace Itemsコンポーネント

リスト(List)の指定した値(i)のアイテムを、異なるアイテム(I)で置き換える。
C

Sets>List>Reverse List

Reverse Listコンポーネント

リスト(List)のインデックスの順番を逆にする。
B

Sets>List>Shift List

Shift Listコンポーネント

リスト(List)のインデックスを指定した数(Shift)だけ、ずらす。WrapがTrueの時はアイテムの総数は変わらず、Falseの時はずらした数だけ(巻き戻らず)アイテム数が減る。
C

Sets>List>Sub List

Sub Listコンポーネント

リスト(List)の中の指定した範囲(Domain)のアイテムだけ、出力する。
A

Sets>List>Dispatch

Dispatchコンポーネント

True/Falseパターン(Pattern)を指定して、リスト(List)を分割する。
B

Sets>List>Null Item

Null Itemコンポーネント 

アイテム(Item)が、NullかInvalidか判断し該当する場合は、Trueを出力する。
B

Sets>List>Pick’n’Choose

Pick’n’Chooseコンポーネント

パターン(Pattern)で指定した入力端子のデータを、順番に取り出し出力する。その際、取り出すデータはパターンのインデックスと同じものを取り出す。
B

Sets>List>Replace Nulls

Replace Nullsコンポーネント 

アイテム(Item)内のNullの箇所を、指定したアイテム(Replacements)で置き換える。
B

Sets>List>Weave

Weaveコンポーネント  

パターン(Pattern)で入力端子の読み込む順を指定し、入力データが無くなるまで繰り返し出力していく。その際、出力されるデータは入力データのインデックスの初めから順に最後まで出力される。
A

Sets>List>Combine Data

Combine Dataコンポーネント  

インデックスを保持したまま入力したNullを削除し、データリストを再構成する。Sift Patternと組み合わせて使用することが多い。
A

Sets>List>Sift Pattern

Sift Patternコンポーネント  

リスト(List)をパターン(Pattern)で指定した値の、端子から出力する。該当しなかったアイテムはNullで、インデックスを変更しないように出力する。
C

Sets>List>Cross Reference

Cross Referenceコンポーネント  

入力した相互のデータリストのすべての組み合わせを出力する。
C

Sets>List>Shortest List

Shortest Listコンポーネント 

入力した複数のリストを、一番短いリストに合わせて出力する。
C

Sets>List>Longest List

Longest Listコンポーネント 

入力した複数のリストを、一番長いリストに合わせて出力する。

Sequence

コンポーネント

コンポーネントの場所

機能

重要度 

テキスト表示

アイコン表示 コンポーネント名 「詳細…」をクリックで機能説明
A

Sets>Sequence>Cull Index

Cull Indexコンポーネント

リスト(List)から指定した値(Indecies)のアイテムを取り除く。
A

Sets>Sequence>Cull Pattern

Cull Patternコンポーネント

リスト(List)からTrue.Falseなどのパターンを使用して、要素を取り除く。
C

Sets>Sequence>Cull Nth

Cull Nthコンポーネント

リスト(List)のN番目に当たる要素を、繰り返し取り除く。 
B

Sets>Sequence>Random Reduce

Random Reduceコンポーネント

リスト(List)から指定数(Reduction)アイテムを、無作為に削除し順番を入れ替える。 
C

Sets>Sequence>Range

Rangeコンポーネント

範囲(Domain)を分割数(Steps)する数を指定し、等差の数列を作る。
A

Sets>Sequence>Series

Seriesコンポーネント

初期値(Start)と一回に増える値(Step)、繰り返す数(Count)を決め、等差の数列を作る。
C

Sets>Sequence>Char Sequence

Char Sequenceコンポーネント 

指定した数(Count)だけ文字(Char Pool)を順に読み込み、テキストを作成する。Formatに指定するテキストを入力し、追加で記述もできる。
B

Sets>Sequence>Duplicate Data

Duplicate Dataコンポーネント 

データ(Data)を指定した数(Number)を複製する。 
C

Sets>Sequence>Fibonacci

Fibonacciコンポーネント

初期値A,Bを決め、フィボナッチ数列を作成する。フィボナッチ数列は、そのインデックスの値と、一つ先のインデックスの値を繰り返し足し算していく数列。Numberは繰り返す回数。
B

Sets>Sequence>Repeat Data

Repeat Dataコンポーネント 

データ(Data)を指定したアイテムの数(Length)に到達するまで、繰り返す。
C

Sets>Sequence>Sequence

Sequenceコンポーネント 

初期値(Initial)と連続する数式(Notation)を指定した数(Lengh)だけ繰り返す数列を作成する。 
C

Sets>Sequence>Stack Data

Stack Dataコンポーネント 

データ(Data)を指定した個数のパターン(Stack)に従い、繰り返し複製する。
A

Sets>Sequence>Jitter

Jitterコンポーネント 

リスト(List)内のアイテムの順番をランダムに変更する。変更する強さ(Jitter)を、0から1の値で指定できる。
A

Sets>Sequence>Random

Randomコンポーネント 

範囲(Domain)と個数(Number)を決めて、複数のランダムな値を作成する。

Sets

コンポーネント

コンポーネントの場所

機能

重要度

テキスト表示

アイコン表示 コンポーネント名 「詳細…」をクリックで機能説明
C

Sets>Sets>Create Set

Create Setコンポーネント

重複している要素が存在するデータリストから、1つだけ出力する。
C

Sets>Sets>Set Difference

Set Differenceコンポーネント

AとBと同じ要素を削除し、出力する。
C

Sets>Sets>Set Difference(S)

Set Difference(S)コンポーネント

A,Bに入力したデータリスト内の異なる要素のみ、出力する。
C

Sets>Sets>Set Intersection

Set Intersectionコンポーネント

入力された複数のリストから同じ要素だけを出力する。
C

Sets>Sets>Set Majorty

Set Majortyコンポーネント

A,B,Cに入力した要素において2つ以上存在する要素を出力する。
C

Sets>Sets>Set Union

Set Unionコンポーネント

入力した複数のデータリストの要素を重複せずに統合する。
C

Sets>Sets>Carthesian Product

Carthesian Productコンポーネント

A,Bに入力したデータの同じインデックス同士でまとめ出力する。
C

Sets>Sets>SubSet

SubSetコンポーネント

データリスト内に指定した要素が存在するか否かをブール値で出力する。
C

Sets>Sets>Disjoint

Disjointコンポーネント

A,Bに入力したデータが同じが否かをブール値で出力する。
C

Sets>Sets>Member Index

Member Indexコンポーネント

入力したデータリストに対して、指定した値の個数とインデックスを出力する。
C

Sets>Sets>Replace Members

Replace Membersコンポーネント

入力したリストに対して、指定した要素を置き換える。
C

Sets>Sets>Delete Consecutive

Delete Consecutiveコンポーネント

リスト内の連続した要素を削除し、1つだけ出力する。
C

Sets>Sets>Find similar member

Find similar memberコンポーネント

入力した値に対して、指定した値に類似したデータを出力する。
C

Sets>Sets>Key/Value Search

Key/Value Searchコンポーネント

Keysを検索し、それに相当するValueを出力する。

Text

コンポーネント

コンポーネントの場所

機能

重要度

テキスト表示

アイコン表示 コンポーネント名 「詳細…」をクリックで機能説明
C

Sets>Text>Text Join

Text Joinコンポーネント

複数のテキスト(Text)を一つにまとめる。間に挟む文字を、Joinで指定できる。
C

Sets>Text>Text Split

Text Splitコンポーネント

テキスト(Text)を、分割する文字(Separators)を指定し、その文字の前後で分ける。
C

Sets>Text>Characters

Charactersコンポーネント

テキスト(Text)を一文字ごとに分割し、文字ごとに出力する。
C

Sets>Text>Concatenate

Concatenateコンポーネント

複数の任意の文字列を入れ、順番に文字を結合する。
C

Sets>Text>Text Length

Text Lengthコンポーネント

テキスト(Text)の文字数を取得する。
C

Sets>Text>Format

Formatコンポーネント

指定した形(Format)でテキストを作成する。Formatに入力する際、{0},{1}のような形で端子を指定することができる。例、Formatに{0}+{1} を、{0}にテスト、{1}にRhinoを入力した場合、テスト+Rhino が出力される。
C

Sets>Text>Text Case

Text Caseコンポーネント

テキスト(Text)の文字を、すべて大文字に変換する。 
C

Sets>Text>Text Fragment

Text Fragmentコンポーネント

テキスト(Text)を、入力した値(Start)から指定した数(Count)、文字を抽出する。
C

Sets>Text>Text Trim

Text Trimコンポーネント

テキスト(Text)の中の、初め(Start)と終わり(End)の空白を削除する。削除するかしないかを、True,Falseで指定。
C

Sets>Text>Replace Text

Replace Textコンポーネント

入力したテキスト(Text)を、文字を検索(Find)して別の文字(Replace)で置き換える。
C

Sets>Text>Sort Text

Sort Textコンポーネント

入力したテキスト(Keys)の順で、データを並び替える。別のデータ(Values)を入力した場合、リストをKeysと同じ順で並び替える。
C

Sets>Text>Match Text

Match Textコンポーネント

入力したテキスト(Text)、指定したテキスト(Pattern)かどうかを、True,Falseで判定する。
C

Sets>Text>Text Distance

Text Distanceコンポーネント 

A、Bに入力したテキスト(Text)の文字列の異なる数を出力する。

Tree

コンポーネント

コンポーネントの場所

機能

重要度

テキスト表示

アイコン表示 コンポーネント名 「詳細…」をクリックで機能説明
C

Sets>Tree>Flatten Tree

Flatten Treeコンポーネント

すべての階層を取り除き、フラットなデータ構造{0}にする。詳細は、リンク参照。
https://www.applicraft.com/tips/rhinoceros/graft_flatten_simplify/
C

Sets>Tree>Graft Tree

Graft Treeコンポーネント

アイテムごとに一つ階層を作り、その中にデータを格納する。詳細は、 リンク参照。
https://www.applicraft.com/tips/rhinoceros/graft_flatten_simplify/
A

Sets>Tree>Trim Tree

Trim Treeコンポーネント

入力したデータ(Tree)の一番深い階層から、指定した数(Depth)だけ階層を削除する。
C

Sets>Tree>Unflatten Tree

Unflatten Treeコンポーネント

Flattenされた入力データ(Tree)を、ガイド(Guide)と同じ階層構造に変更する。データとガイドのアイテム数が同じ必要がある。
B

Sets>Tree>Clean Tree

Clean Treeコンポーネント

入力データ(Tree)からNullや、または無効なアイテム(Invalid)、空(Empty)のデータを取り除く。
C

Sets>Tree>Prune Tree

Prune Treeコンポーネント

入力したデータ(Tree)から、枝分かれする数の最小値(N0)と最大値(N1)を決め、該当したデータを取り除く。
C

Sets>Tree>Simplify Tree

Simplify Treeコンポーネント

データ管理上無くても問題ない階層を削除し、構造を単純化する。詳細は、リンク参照。
https://www.applicraft.com/tips/rhinoceros/graft_flatten_simplify/
C

Sets>Tree>Tree Statistics

Tree Statisticsコンポーネント

入力したデータ(Tree)の階層名(Path)、階層内のアイテム数(Lengh)、階層の数(Count)を出力する。
C

Sets>Tree>Entwine

Entwineコンポーネント

データの階層をそれぞれ入力した端子の階層になるように、変更する。
B

Sets>Tree>Explode Tree

Explode Treeコンポーネント

入力したデータ(Data)を、階層ごとに出力する。存在する階層だけ出力端子を用意する必要がある(右クリック>Match Outputで増やすことができる)。
B

Sets>Tree>Flip Matrix

Flip Matrixコンポーネント 

列と行を取り替えるように、階層構造を変換する。それぞれの階層のインデックスが同じものを、階層にまとめる形となる。
A

Sets>Tree>Marge

Mergeコンポーネント

入力した複数のデータを、階層名ごとにまとめて並べ直す。データ管理上、非常に重要なコンポーネント。
C

Sets>Tree>Match Tree

Match Treeコンポーネント

入力データ(Tree)とデータ(Guide)が同じTree構造の時、データを出力する。
A

Sets>Tree>Path Mapper

Path Mapperコンポーネント 

階層の変更方法を直接記述することによって、データ構造で編集するコンポーネント。
B

Sets>Tree>Shift Paths

Shift Pathsコンポーネント

データ(Data)の階層を、指定した数(Offset)だけ減らす。Offset値が負の数の場合は深い階層から(TrimTreeと同じ挙動)、正の数の場合は浅い階層から削除する。
C

Sets>Tree>Split Tree

Split Treeコンポーネント

入力データ(Data)を階層名を指定し(Masks)、指定した階層のデータをPositiveから、それ以外をNegativeから出力する。Masksに入力するのは、{ }で指定する値。
A

Sets>Tree>Stream Filter

Stream Filterコンポーネント 

複数のデータを入力しておき、Gateの値で指定した端子のデータを出力する。
A

Sets>Tree>Stream Gate

Stream Gateコンポーネント

入力データ(Stream)を、Gateの値で指定した端子から出力する。
C

Sets>Tree>Relative Item

Relative Itemコンポーネント

入力データ(Tree)と階層とアイテムの数(Offset)を指定し、ABからそれぞれOffset数だけずらしたデータを出力する。Offsetに入力する値は、{階層をずらす数}(インデックスをずらす数)を入力する。Shift Listの階層版のような動き。
C

Sets>Tree>Relative Items

Relative Itemsコンポーネント

入力データAB(Tree)と階層とアイテムの数(Offset)を指定し、ABからそれぞれOffset数だけずらしたデータを出力する。Offsetに入力する値は、{階層を削除する数}(インデックスを削除する数)を入力する。
C

Sets>Tree>Tree Branch

Tree Branchコンポーネント

入力したデータ(Tree)の階層名(Path)で、指定したデータを出力する。
B

Sets>Tree>Tree Item

Tree Itemコンポーネント

入力したデータ(Tree)から階層名(Path)とインデックス(Index)を指定して該当データを出力する。 
C

Sets>Tree>Construct Path

Construct Pathコンポーネント

入力値(Indices)を、階層名{ }の形式に変更する。 複数の値を入れた場合は、階層ごとの値となる。例)0と2を入力すると、{0;2}が出力。
C

Sets>Tree>Deconstruct Path

Deconstruct Pathコンポーネント

階層名を入力すると、それぞれ整数に分解し出力する。 Construct Pathの逆の働き。例){0;0;1}を入力すると、0と0と1が出力。
C

Sets>Tree>Path Compare

Path Compareコンポーネント

階層名(Path)と比較する階層名(Mask)を入力し、同じかどうかをTrue,Falseで出力する。例){0;1}と{0;1}を入力すると、同じなのでTrueが出力。
C

Sets>Tree>Replace Paths

Replace Pathsコンポーネント

データ(Data)を入力し、検索する階層名の条件(Search)に合うものを、別の階層名(Path)に変換する。

List Item

詳細1:入力したリストから、入力iで指定したインデックスを使用して出力iからアイテムを取り出すことができる。(複数可)⇔[Cull Index]コンポーネントはその逆。

入力Wの初期値はTrueで、インデックスが範囲を超えた場合は、最初から繰り返す。(Falseにすれば、範囲外のデータはnullとなり出力されない)


 

詳細2:出力iは、キャンバスをズームインする事によって表示される+/-マークで増減できる。


 

詳細3:[ListItem]コンポーネントを利用して、divideした頂点リストの中から指定した頂点同士を接続するラインを作成した例

List Length

詳細1:リストの長さを取得する。(複数可)リストデータは、数値でなくても可。

 

詳細2:[ListLength]コンポーネントでリストの長さ(オブジェクト数)を取得し、[Series]コンポーネントで等差数列を作成後、[TextTag]コンポーネントでラベリングした例。

 

Sort List

詳細1:数値リストKを小さい順に並べ替える。オプションの入力A(数値でなくても可)を使用すると、Aに入れたリストも同時に並べ替えてくれる。

また、出力を右クリックして[Reverse]を選択すると、昇順を逆にできる。

 

 

詳細2:[Sort List]コンポーネントのオプション入出力Aを利用し、カーブ上のtパラメータに応じて、そこから一番距離が短いポイントにSphereを作成する例

 

Dispatch

詳細1:入力Pのブーリアン値(True/False)によって、条件に合うもの(True)は出力Aへ、合わないもの(False)は出力Bに選別される。
※True/Falseの代わりに1/0を入力しても可。



詳細2:[Dispatch]コンポーネントの入力Pに、ブーリアン値を返す[Larger Than]コンポーネントを接続し、A≧Bの結果がTrueならCircleを、FalseならRectangleを作成した例。


Combine Data

詳細1:複数のデータを入力することで、一つにまとめる機能を持つコンポーネント。


〇階層内の同じ個所への入力データは最初に入力されたデータが保持される([Merge]コンポーネントの様に足し算されていくわけではない)
〇Nullデータは無視される
と言う理屈でデータをまとめる。

主な使用法としては、[Sift Pattern]コンポーネントと合わせて使うことで、スクリプトで言うif文の様に条件に当てはまるものだけを抽出し、変更を加えた上で元のリストに戻すことができる。

Sift Pattern

詳細1:入力データをパターンのfalseとtrueに該当するものに分けて出力してくれるコンポーネント。

Siftはふるいという意味。Dispatchと似た機能を持つが、Sift Patternは省かれたデータは <null>データとして出力され、階層が変わらないように出力される(0からはFalseの、1からはTrueの条件に合うものが出力される)。


詳細2:
[Combine Data]コンポーネントと合わせて使用することで、スクリプトで言うif文の様な働きをさせることができる(下図は[Sift Pattern]コンポーネントの1から出力したものだけを、10倍にして[Combine Data]コンポーネントでリストを結合した例)。



詳細3:<null>が出力される特徴を生かして、Replace Nullsコンポーネントとの併用なども可能。(Repalace Nullsは、<null>を指定した値で置き換えるコンポーネント)


Cull Index

詳細1:入力したリストから、入力iで指定したインデックスを削除して出力iからリストを取り出す(複数可)。⇔[List Item]コンポーネントはその逆。


 


入力Wの初期値はTrueで、インデックスがリストの範囲を超えた場合は、最初から繰り返す(Falseにすれば、インデックスは範囲外となり、何も削除されない)。


Cull Pattern

詳細1:入力P(Cull Pattern)に対して、Boolean値(True/False)でパターンを指定すると、True値のみが抽出される。作成したパターンは自動的に繰り返される。




詳細2:カーブ上に[Divide length]コンポーネントで等間隔にポイントを作成し、その上に円柱を配置後、[Cull Pattern]コンポーネントで作成したパターンにより円柱を間引いた例。

Series

詳細1:一連の数値のリストを作成する。入力Sで開始値を、入力Nではステップ値(いくつずつ増加するか)、入力Cでカウント数(リスト総数)を指定する。



詳細2:[Series]コンポーネントで生成された等差数列を[Cross Reference]コンポーネントにて相互参照を行い、[Construct Point]コンポーネントで立方体状にポイントを生成し、球を配置した例。


Jitter

詳細1:入力Lの既存リストをランダムに並べ替える。入力JのJitter値では、シャッフルの強さを変更可能。0=シャッフルなし、1=シャッフル最大。入力Sのシード値では、乱数の分布を変更できる。



詳細2:2次元の長方形を作成した後、[Extrude]コンポーネントの押し出しを指定する入力Dに、[Jitter]コンポーネントを接続した例。


Random

詳細1:入力Rにて範囲(ドメイン)を決め、入力Nで指定した数のRandomな数値を生成。

入力Sのシード値では、乱数の分布を変更できる。



詳細2:出力値を整数で出すには、コンポーネントを右クリックして[Integer Numbers]にチェックを入れる。



詳細3:2次元の長方形を作成した後、[Extrude]コンポーネントの押し出しを指定する入力Dに、[Random]コンポーネントを接続した例


Trim Tree

詳細1:入力された階層を指定した数だけ、右側から削除する。

Depth(深さ、削除する数)には、正の値のみ入力可能。同様の働きを持つShift Pathコンポーネントは正と負の両方が入力可能(こちらは階層を左側からでも右側でも削除可能)。



詳細2:階層を削除した後のデータは、同じ階層ごとにまとめて管理される。その際、パネルに並んだ上から順にアイテムに追加される(例では、{0;0;0;0}と{0;0;0;1}が一つ右側から削除されたので、同じ{0;0;0}の階層にまとめられている)。



詳細3:
Graftした後のデータを、Trim Treeで一つ削ると同じ階層になる。


Merge

詳細1:データが同じツリー構造にある複数のデータを結合する。



詳細2:長方形とそれをオフセットした2つのカーブを[Merge]コンポーネントで結合したものに、[Boundary]コンポーネントでサーフェスを張り、[Extrude]コンポーネントで押し出しを行った例。


Path Mapper

詳細1:データ構造を変更した例。


Stream Filter

詳細1:入力した複数のデータをから、出力するデータを指定し出力する。


Stream Gate

詳細1:出力先を0に指定し、データを吐き出した例。