GHA(Grasshopper Assembly file)の作り方については、公式サイトで詳しく紹介されています。
Your First Component (Windows)
基本的にここにまとめられている手順に従って作業すればGHAができあがります。
とはいえ、ところどころ分かりにくところがあるので、補足情報をメモにまとめておきます。(なお、公式の情報はRhino7対応のようです。2024/03/19現在、Rhino8へアップデートされていません。)
New Grasshopper Add-On dialog
ダイアログの設定項目とGrasshopperの画面に表示される状態が分りにくいので、対応関係を図にまとめると、こんな感じです。
ソースコードとの対応関係でみると、こちら。
プラットフォームとビルド
テンプレートからVisual Studioでプロジェクトを作ると、.NET7と.net framework 4.8のマルチターゲットになっている。(良くできてますね)
.NET8を含める場合は、単純に”net8.0”を追記するだけで良いようです。(もちろん、.NET8は別途インストールしておく必要があります)
どのプラットフォームをターゲットにするかはツールバーから選択する。
この状態でビルドすると、Bitmapに関連したエラーが発生します。(なにもコードを追加していない状態でエラーだとビックリしますよね)
原因と対策
System.Drawing.Commonは.NET6以降、Windowsプラットフォームのみの提供になったためと考えられる。(その他のMac,Linuxではサポートされない)
ソースコードを見ると、アイコンの処理でBitmapを使っているのでこれ必須。ということで、System.Drawing.Commonを別途NuGetでインストールする。
これでビルドできるようになります。後は、公式サイトの説明に従って作業を進めることができます。
動作環境
以下の環境で動作を確認しています。
- Windows11 Pro(64bit, 23H2)
- Rhinoceros 8 SR5
- Visual Studio Professional 2022(17.9.3)