2017年5月19日

Grasshopper : テキストファイルの読み込み


勉強を進めようという前にごく基本的なデータの取り込みで少しハマりました...。
単純な座標データの取り込みなんですが、やってみるとなかなか思い通りにいかないもんです。
Grasshopper 0.9.0076

Read File Component

読み込むだけなら Read File で簡単にできるのですが、そのあとの整形・変換が注意ポイントです。

Split Text Component

Read File で取り込むと1行ずつの文字列のリストになります。
座標データなので各カラムを分割して数値に直す必要があります。
文字列の分割には Split Text を使いますが、"セパレータ文字"を指定するところで注意です。
※1列目はインデックス番号


使いやすいようにとセパレーター(区切り文字:Delimiter)を Value List にしてみたのですが、これが問題で書き方によって認識したりしなかったりします...。



カンマとスペースはダブルクォーテーションで囲む。
タブは通常プログラムコードではエスケープして ¥t と書くのですが使えないようです。
{tab} というGrasshopper上の特殊文字の指定も認識しません。
結局、Panelでタブ(エスケープしないで)を接続したら機能しました。

区切り文字にタブは向かないということなのでしょう...。




GhPython Component

取り込みと整形・リスト化にPythonを使う方法も試しました。

こちらも区切り文字(Delimiter)を指定できるようにしたのですが、
ここでは Value List でシングルクォーテーションで囲った¥t が使えます。
{tab}も使えます。
逆にダブルクォーテーションで囲った¥t はダメでした。



IronPython.Runtime.List

Pythonを使う時、ちょっとわかりづらいのがPythonのリストを直接出力できないということです。
そのまま出力しようとするとIronPython.Runtime.List というリストになって、データとして認識しません。
forumの過去スレを調べて解決しましたが、初心者にはわかりづらいポイントですね。

DataTreeで出す方法







点として出す方法


















0 件のコメント:

コメントを投稿