Grasshopperのコンポーネント自作方法 -その0-

C#

そもそもなんでコンポーネントを作る必要があるの?

Grasshopperではさまざまなコンポーネントがデフォルトで提供されています。特にRhino6から標準で使えるようになったKangarooは物理計算エンジンとしてとても使いやすいプラグインだと思います。

ただ,Grasshopperで複雑な計算をやろうとするといくつか面倒なこともあるのかなと感じています。具体的には・・・

  • 検索しにくい。
    • プロジェクトが大きくなるに連れて,「どこで」「どのように」計算しているかわからなくなる。所謂スパゲッティコード化(見た目的にも笑)
    • チームでの開発や保守性の観点から工夫が必要になる。
  • シンプルな変更に時間がかかる。
    • スライダーの最大値と最小値を変更するのに何回クリックするねん問題
    • 変数に数値を入れるだけとかに時間がかかる。
  • 繰り返し計算が面倒

といったところでしょうか。もちろんビジュアルプログラミングなので,頭に浮かんだアイデアをすぐに3D形状として確認しながらスタディできることや,プログラミングに長けていない方でも間違いにくいという超強力な利点もあります。

じゃぁコンポーネントを作りましょう

上記のような、問題点を解決するために、自分でコンポーネントを作ることが役立つことがあります。

宮大工も様々な鉋や加工道具を準備していたように、デジタルエンジニア,コンピュテーショナルデザイナーも自分に合った道具を作ることが重要だと私は思っています!

GrasshopperのMathタブでは上の三つがよくコンポーネント作成に使われています。つまりプログラム言語のC#, VB, Pythonですね。

どの言語もとても優秀なプログラミング言語で一つを極めれば十分いろんなことができます。特に入門される方には以下の違いに注目するとよいかもしれません。

  • コンパイラ言語:C#, VB
    • じっくり大きなghプロジェクトを構築したい方におススメ
    • 多くコンポーネントを作りたい方におススメ
    • 導入難易度はPythonより高め
  • スクリプト言語:Python
    • ほとんどのデータはGrasshopperのコンポーネントを利用するが、困ったところだけ手軽にコードを書きたい人におススメ
    • コンパイラ言語に比べて短い行数で書けることが多い。
    • 導入難易度がやや低い

といったかんじでしょうか。

これからこのブログでは、コンパイラ言語としてC#,スクリプト言語としてPythonのそれぞれのコンポーネント作成方法をご紹介する予定です。お楽しみに!

コメント

タイトルとURLをコピーしました