初めに
矢部です。このブログの読者さんは往々にしてgrasshopperを触っていると思います。とは言っても、人によって特定のコンポーネントの使用頻度やコンポーネント間のつなぎ方の癖、配置方法等それぞれのやり方があってgrasshopperの記述形式は千差万別ですよね。 人の書いたスクリプトを見るだけで楽しい会話が生まれるときもあれば、いかに自分のやり方が素晴らしいかで口論になり寝食を忘れることもあります。
その中でも特に永久のテーマのひとつは、コンポーネント表示におけるアイコン派vsテキスト派論争です。タケノコ派vsキノコ派。はたまたキツネ派vsタヌキ派と同様の熱量で先日社内でも論争が繰り広げられたのでブログに記そうと思います。 あなたはどっち派でしょうか?
という事で社内でアイコン派orテキスト派のアンケートをとったところ、アイコン派10:テキスト派1(筆者)で惨敗でした。 というか論争にもなってないくらいアイコン派が多い!テキスト派の筆者は社内のgh可読性を下げているのではないかと申し訳なくなりました。
というわけで勝負にならないため、今回はテキスト派の意地を見せるべく、比較をしながらテキスト表示のいいところを随所に紹介する形にします。テキスト派の人にとっては当たり前すぎる記事かもしれませんが、テキスト表示復権のため読んであげてください。
直感的なわかりやすさ
画像1のようにアイコン表示は絵を見て直感的にわかるので、処理内容をぱっと見で理解しやすいです。 一方でテキスト表示の場合は文字を読む必要があるため、見た瞬間に処理を理解する速度はアイコン表示に比べると遅くなります。
またテキスト表示は表示名が同じでもコンポーネントが異なる場合があるので注意が必要です。(画像2)
しかし、インターセクトタブにあるコンポーネント群はBrep|Line等の頭文字とXでテキスト表示されるので、テキストの方が分かりやすい気もします。何ならアイコンの方が分かりにくくないか?とまで思います。まさしく一長一短ですね。(画像3)
呼び出し方法
コンポーネントの呼び出し方法も人によって分かれると思います。 コンポーネントタブから選択して配置、検索窓を出してタイプして配置。と2つ方法がありますが、ある程度慣れてくると後者で呼び出すようになるのではないでしょうか?そんな時にテキスト表示は便利です。
アイコン表示だと見えないエイリアスがテキスト表示だと確認できるので、検索するときも表示されている文字列を打つことで呼び出せます。(画像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)
可読性のために
人が書いたghファイルを確認するときに、入出力が何か明示されていないと解読するのに時間がかかります。 grasshopperの可読性に関しては過去にsyntegrate blogでも取り上げられています。 blog.syntegrate.jp
そのために少なくとも社内では、ParamsタブにあるDataTypeコンポーネントを用いて 可読性を高める努力をしています。(画像6)
しかしDataTypeだけでも情報が不十分なので、文字列でメモを残すことが頻繁に発生します。メモの残し方もこれまたたくさんありますが、皆さんどのようにメモしていますか?
社内で多かった事例は、Datatypeをグループ化して名前をつけることでメモを付与している人が多かったです。(画像7)
いや手間じゃないですか?手巻き寿司くらい手間じゃないですか?あとメモ変更時のグループの当たり判定がシビアで大変じゃないですか?
テキスト表示の場合は表示名を変更するだけでコンポーネントに直接メモを残せます。 もちろんアイコン表示でも画像7のように右クリックして表示スタイルを変更できますが、それもクリック数が増えるので手間に感じてしまいます。 テキスト表示ならクリック数が少なく必要な作業をできるはずです。
最後に
アイコン派とテキスト派を比較しながらテキスト表示を推してきましたがいかがでしたでしょうか? テキスト表示を推している私ですが実は昔はアイコン派でした。そのため、アイコン表示のいいところも十分分かります。
私はこの記事を書いてみて、「いかに自分が作業工数を減らすかしか考えてないか」ということを自覚し、豊かな心持ちで作業できていないなと消沈しました。なので手巻き寿司の具を手羽先にして手間をかけて食べようと思います。
おわり