Grasshopper :: New Python Component
Rhino6のGrasshopperで、Pythonコンポーネントが新しくなりました。
エディターの画面が変わり、なんとコンパイルしてコンポーネントの作成もできるようになりました。
今回はその変わった点について触れたいと思います。
Pythonコンポーネント変更点
Pythonコンポーネントで変わった点は、ざっくり以下の2点かと思います。
- エディターのリニューアル
- コンポーネント作成機能の追加
ではそれぞれ見ていきましょう。
エディターのリニューアル
まずはコンポーネントをダブルクリックして出てくるエディターについてです。
上図はエディターを開いたデフォルトの状態です。このように、メニューバーが変わっていたり、予めコードが記入されています。
メニューバー
メニューバーは、[Edit][Tools][Mode]が新たに追加されています。
[Edit]はCtrl+α系の操作です。今までもできましたが、メニューバーに追加されたようですね。
[Tools]はちょっとした便利機能として、検索と置換の[Find & Replace]、エディターのフォントの編集を[Font Options]、現在表示されているコードをテンプレート化する[Set Template Code]があります。
[Mode]はエディターのモードを切り替える項目です。
[Procedural Script Mode]は通常のエディターのモード、[GH_Component SDK Mode]はコンポーネントを作成する時のモードになります。
この[GH_Component SDK Mode]モード時に[Compile]を選ぶと、コンパイルしてコンポーネントを作成することができます。
では具体的に[GH_Component SDK Mode]でコンポーネントを作成してみましょう。
コンポーネント作成
サンプルとして、以前作成した点をソートするコードで作成していきます。
まず、Pythonコンポーネントを配置し、入力と出力の変数名を入力します。
次に、エディターを開いて[Mode]を[GH_Component SDK Mode]に切り替えます。
すると、今まで見えていなかったClass等が表示され、この中のRunScript関数内に処理する内容を記述します。
ちなみに最初に入出力の変数を変えたのは、Runscript()の引数に自動で入力側の変数、returnに出力側の変数が入力されるからです。
続いて処理するコードを入力し、[Mode]の[Compile]を選択してコンポーネント名やカテゴリ、アイコンなどの設定を行います。
そして[Compile]をクリックすると、コンポーネントが作成され、自動でライブラリのフォルダへ格納されます。
ちなみにPythonで作成したコンポーネントの拡張子は、[.ghpy]です。
実際に作成したコンポーネントを配置してみると、
このように、上がオリジナルの[Python Script]コンポーネントで、下がコンパイルされたコンポーネントになり、後者は中身のコードを編集することができない完成版となります。
終わりに
新しくなったPythonコンポーネントの機能を紹介しました。
今回触れなかったメニューバーの[Mode]にある[Copy Compilable Code]について、また処理速度の変化については、次回以降に扱いたいと思います。
使用した主なコンポーネント
- [Python Script] (Maths > Script > Python Script)