はじめに
GrasshopperでPythonスクリプトを書くとき、一般的にはGrasshopper標準のエディターを使いますが、
外部エディタを使うことでコードを書くのが飛躍的に効率的になります。
今回はVS Codeを例に説明します。
外部エディタを使うメリット
- Rhino/GH以外のライブラリのコード補完ができる
- コードが見やすくなる
- 別ファイルのインポートなどが管理しやすい
- コードだけ見たいときにRhinoを開かなくていい
- かっこいいエディタを使うとテンションがあがる
環境
- Windows10
- Rhino6
- VS Code
VS Codeでやること
Pythonのコードが書けさえすれば何でもよいのですが、より快適に書くために下記手順で環境を整えます。
VS CodeのPython拡張機能をインストール
こちらからインストールできます。
Python2.7環境を構築する
anacondaなどを使って仮想環境を準備するのがおすすめです。
Pythonの環境構築については、たくさんの方がわかりやすく解説されているので割愛します。
こちらの記事が比較的新しくておすすめです。
注意点
Rhinoで動くIronPythonはpython2系なので、Python2で環境を構築することをお勧めします。
###Rhino/Grasshopperのコード補完ライブラリをインストール
stubsを入れることでRhino、Grasshopperのコード補完が効くようになります。
こちらを参考にRhino-stubs
とGrasshopper-stubs
をpython環境にインストールしてください
pip install Rhino-stubs
pip install Grasshopper-stubs
(「python2.7はサポートが終了しています」的なアラートが出ますが気にしないでください。)
構築したpython2.7をインタプリターとしてVS Codeで指定する
画面左下にあるPython~をクリックすると画面上部にインタプリタを選択するところが出てくるので今回作ったPython環境を選択してください。
Grasshopperでやること
Read Fileの設定
-
Read File
というコンポーネントを置く
- コンポーネント名を右クリックして
Per Line
のチェックを外す
- 「F」を右クリックして
Syncronise
をチェックする
このチェックをすることで外部エディタで更新したコードがGrasshopperで反映されるようになります。
Pythonファイルを読み込む
Pythonコンポーネントの設定
- Pythonコンポーネントを配置
- コンポーネント名を右クリック→
Show "code" input parameter
をクリック
インプットのトップにcode
というパラメータが出てきます。
-
Read File
の「C」をPythonコンポーネントのcode
につなぐ
- これでPythonファイルをリンクさせることができました!
あとはVS Codeでコードを書きGrasshopperで結果を確認してください。
注意点
コードの変更は必ず外部エディタで行う
Grasshopperのエディタでコードを変更してエディタを閉じようとすると下記のメッセージがでてリンクが解除されてしまいます。
Grasshopperの入力パラメータ名は外部エディタでは認識されない
例えばこのようにx
とy
をGrasshopperで入力していても
Pythonコード内で定義されているわけではないので、VS Code上ではUndifined variable
というエラーが出てきます。
VS Code上でコード単体でテストしたい場合は変数を初期化しておく必要がありますが、Grasshopper上で実行するだけであれば問題ありません。
さいごに
Grasshopper上のPythonコードを外部エディタで書く方法をご紹介しました。単体のPythonファイルだけならこの方法で十分なのですが、別ファイルのモジュールや設定ファイルを使って本格的に開発をしようとするとGrasshopperならではの問題がでてきます。それについてはまた別の記事で解説いたします。
参考