vicc blog

株式会社ヴィックの技術ブログです。

Grasshopperの表示はアイコン派?テキスト派?

初めに

矢部です。このブログの読者さんは往々にしてgrasshopperを触っていると思います。とは言っても、人によって特定のコンポーネントの使用頻度やコンポーネント間のつなぎ方の癖、配置方法等それぞれのやり方があってgrasshopperの記述形式は千差万別ですよね。 人の書いたスクリプトを見るだけで楽しい会話が生まれるときもあれば、いかに自分のやり方が素晴らしいかで口論になり寝食を忘れることもあります。

その中でも特に永久のテーマのひとつは、コンポーネント表示におけるアイコン派vsテキスト派論争です。タケノコ派vsキノコ派。はたまたキツネ派vsタヌキ派と同様の熱量で先日社内でも論争が繰り広げられたのでブログに記そうと思います。 あなたはどっち派でしょうか?

画像1:アイコン表示とテキスト表示の比較

という事で社内でアイコン派orテキスト派のアンケートをとったところ、アイコン派10:テキスト派1(筆者)で惨敗でした。 というか論争にもなってないくらいアイコン派が多い!テキスト派の筆者は社内のgh可読性を下げているのではないかと申し訳なくなりました。

というわけで勝負にならないため、今回はテキスト派の意地を見せるべく、比較をしながらテキスト表示のいいところを随所に紹介する形にします。テキスト派の人にとっては当たり前すぎる記事かもしれませんが、テキスト表示復権のため読んであげてください。

直感的なわかりやすさ

画像1のようにアイコン表示は絵を見て直感的にわかるので、処理内容をぱっと見で理解しやすいです。 一方でテキスト表示の場合は文字を読む必要があるため、見た瞬間に処理を理解する速度はアイコン表示に比べると遅くなります。

またテキスト表示は表示名が同じでもコンポーネントが異なる場合があるので注意が必要です。(画像2)

画像2:テキスト表示名が同じコンポーネント

しかし、インターセクトタブにあるコンポーネント群はBrep|Line等の頭文字とXでテキスト表示されるので、テキストの方が分かりやすい気もします。何ならアイコンの方が分かりにくくないか?とまで思います。まさしく一長一短ですね。(画像3)

画像3:Intersect類のコンポーネント比較

呼び出し方法

コンポーネントの呼び出し方法も人によって分かれると思います。 コンポーネントタブから選択して配置、検索窓を出してタイプして配置。と2つ方法がありますが、ある程度慣れてくると後者で呼び出すようになるのではないでしょうか?そんな時にテキスト表示は便利です。

画像4:テキスト表示が独特なコンポーネント

アイコン表示だと見えないエイリアスがテキスト表示だと確認できるので、検索するときも表示されている文字列を打つことで呼び出せます。(画像4)

アイコン表示でもコンポーネントをマウスオーバーすると()の中にエイリアスが書いてあるので確認できますが、わざわざマウスオーバーで確認するのは手羽先食べる時と同じくらい手間だと思います。

特に画像4で示されているコンポーネントは、コンポーネント名と表示の名前が異なるものから私がよく使うものたちを抜粋しています。 画像3で紹介したインターセクト関係もよく使いますが、Deconstruct系はアイコン派も知っているのではないでしょうか?

テキスト派は、てやんでい!あたぼうよ!となるかもしれませんが、アイコン派の方もこれだけ覚えれば、呼び出しコストが下がるのではないでしょうか? 一覧にしておきます。

便利な呼び出しkeyword

コンポーネント名 表示名(検索word)
DIvide Surface SDivide
Iso Trim subSrf
Deconstruct Point pDecon
Deconstruct Vector Devec
Deconstruct Brep DeBrep
Deconstruct Plane DePlane
Deconstruct Domain DeDomain
Brep Edges Edges
Tree statistics Tstat
Create Set CSet
Explode Tree BANG!
Shift Path PShift
Param Viewer Viewer

ここで一つ僕が納得いってないものを紹介します。 Construct Pointコンポーネントです。これだけはテキスト表示で「pt」なのにもかかわらず検索しても真っ先に引っ掛かりません! なぜか優先順位が低く検索窓の上の方に出てきます。

なので私はこれだけはコンポーネントタブからConstruct Pointを右クリックして個別にエイリアス設定をしています。(画像5)

画像5:厄介なconstruct pointコンポーネント

可読性のために

人が書いたghファイルを確認するときに、入出力が何か明示されていないと解読するのに時間がかかります。 grasshopperの可読性に関しては過去にsyntegrate blogでも取り上げられています。 blog.syntegrate.jp

そのために少なくとも社内では、ParamsタブにあるDataTypeコンポーネントを用いて 可読性を高める努力をしています。(画像6)

画像6:データタイプコンポーネント

しかしDataTypeだけでも情報が不十分なので、文字列でメモを残すことが頻繁に発生します。メモの残し方もこれまたたくさんありますが、皆さんどのようにメモしていますか?

社内で多かった事例は、Datatypeをグループ化して名前をつけることでメモを付与している人が多かったです。(画像7)

画像7:メモの付与の仕方

いや手間じゃないですか?手巻き寿司くらい手間じゃないですか?あとメモ変更時のグループの当たり判定がシビアで大変じゃないですか?

テキスト表示の場合は表示名を変更するだけでコンポーネントに直接メモを残せます。 もちろんアイコン表示でも画像7のように右クリックして表示スタイルを変更できますが、それもクリック数が増えるので手間に感じてしまいます。 テキスト表示ならクリック数が少なく必要な作業をできるはずです。

最後に

アイコン派とテキスト派を比較しながらテキスト表示を推してきましたがいかがでしたでしょうか? テキスト表示を推している私ですが実は昔はアイコン派でした。そのため、アイコン表示のいいところも十分分かります。

私はこの記事を書いてみて、「いかに自分が作業工数を減らすかしか考えてないか」ということを自覚し、豊かな心持ちで作業できていないなと消沈しました。なので手巻き寿司の具を手羽先にして手間をかけて食べようと思います。

おわり