#006CSVファイルをGHに読み込もう!

2023.11.14

はじめに

今回はCSVファイルを活用した柱梁のモデリングを行っていきます。

CSVを活用することで、データの整理が格段にしやすくなるので今回を機にぜひ活用しましょう。

公式サイトで各コンポーネントの種類と解説がされているので参考にしてください。
Grasshopper コンポーネントIndex | AppliCraft

Rhino側の前準備

Rhino側であらかじめ柱と梁を作図しておきます。

それぞれを「Column」「Beam」レイヤに入れておきます。

また、オブジェクトに柱符号・梁符号を振っておきます。

CSVファイルの用意

エクセル等を用いてCSVファイルに下のように入力しておきます。

各符号に対して、断面寸法を入力しています。

CSVファイルの読み込み

「File Path」「Read File」「Button」「Panel」「Stream Gate」「Text Split」「List Item」を用意します。

「Params>Primitive>File Path」

 

「Params>Input>Read File」

 

「Params>Input>Button」

「Params>Input>Panel」

「Sets>Tree>Stream Gate」

 

「Sets>Text>Text Split」

 

「Sets>List>List Item」

 

File Path」を右クリックします。

Select one existing fileをクリックして、CSVの参照ファイルを指定します。

Stream Gate」に「File Path」と「Button」をつなぎます。

CSVファイルが更新されたとき、「Button」をクリックすれば更新できるようになります。

つぎに「File Path」をつなぐことでCSVファイルの中身を読み込むことができます。

各リストに1行分のデータがすべて詰まっているため、「,」で分割する必要があります。

Text Split」に「File Path」と「,」が入力された「Panel」をつなぎます。

これで1行にまとめられた各項目が分割されました。

List Item」につないで、符号・部材せい・部材幅に分けます。

そのとき、「List Item」に拡大して出力端子を増減させて必要な数に調整してください。

また、現状ではツリー構造になっているので、出力端子を右クリックしてFlattenを選択してください。

これらの操作を行うと以下のようになります。

適宜、出力端子に「Panel」をつないで、正しく出力されているか確認するといいでしょう。

ちなみにSCVファイルが開かれた状態だとエラーが発生します。

柱オブジェクトの読み込み・断面情報の取得

Geometry Pipeline」「Object Details」「Find similar member」「List Item」を用意します。

「Params>Geometry>Geometry Pipeline」

「Params>Input>Object Details」

 

「Sets>Sets>Find similar member」

 

「Sets>List>List Item」

 

Geometry Pipeline」のレイヤにCalumnと入力しカーブアイコンを有効にします。

Object Details」につなぐことで、オブジェクトの名前を取得できます。これで柱符号を取得します。

Find similar member」のD端子し「Object Details」のN端子を接続します。

S端子にはCSVの「List Item」の部材符号が出力されている端子を接続します。

これはオブジェクトの符号がCSVファイルの何番目の符号に対応しているかを出力しています。

List Item」を二つ用意し、i端子に「Find similar member」のi端子を接続、

L端子にはCSVの「List Item」の部材せい・部材幅が出力されている端子をそえれぞれ接続します。

これで、オブジェクトの部材せい・部材幅の情報を取得することができます。

これらの操作を行うと以下のようになります。

柱の立体化

Division」「Negative」「Construct Domain」「Rectangle」「Boundary Surfaces」「Extrude Linear」を用意します。

「Maths>Domain>Construct Domain」

 

「Maths>Operators>Division」

 

「Maths>Operators>Negative」

 

「Curve>Primitive>Rectangle」

 

「Surface>Freeform>Boundary Surfaces」

 

「Surface>Freeform>Extrude Linear」

 

以下のように繋ぎます。

Extrude Linear」のA端子には柱の「Object Details」をつなぎます。

Rhino画面で確認しましょう。

符号ごとに断面が対応しているか確認しましょう。

梁の読み込み

柱のコンポーネントをコピーしましょう。

梁符号と断面が一致しているか確認しましょう。

続きもコピーして作成しましょう。

Rectangle」のY方向のコンポーネントの組み方を少し変えました。

Rhino画面を確認しましょう。

まとめ

今回はCSVの読み込みを活用した、柱梁に断面情報を与え立体化するところまで行いました。

これを活用すれば、Rhino作業で符号だけ振ればいいので作業が格段に楽になるので非常におすすめです。

今回作成したGHデータはこちらからダウンロードできます。