Rhinocerosには2曲線の間に曲線を作成するTweenCurves(http://docs.mcneel.com/rhino/5/help/ja-jp/commands/tweencurves.htm)が使えますが、Grasshopper(以下GH)上で扱える同機能にはマッチング方法の設定がありません。今回はGH上でマッチング方法を踏まえたTweenCurvesが使えるようにC#でコードを書いていきます。
RhinocerosでTweenCurvesコマンドを利用する際に設定できるマッチング方法
GH既存のTweenCurves。2曲線と作成する位置を数値(0.0~1.0)で指定
次にC#コンポーネントで書くコードをマッチング方法に応じて3種類のメソッドで記します。今回はCurveクラスのstaticメソッドを利用しています。
注意点としては、GHで使える既存のTweenCurvesコンポーネントは状況によってどのマッチング方法とも合わない独自の結果を生む場合があります。どれが最適かという訳ではなく、2曲線の条件によって上手く機能しない場合がある際にマッチング方法を色々試してみるという理解が大切です。
あと、マッチング方法を“なし”にした場合、線の条件次第では選択順によって結果が変わる場合がたまにありますのでこちらも気になる方は色々試してみると良いでしょう。
Rhinocerosで作成する場合、大抵は最適なマッチング方法を予め定義してくれるので良くない結果が生まれた場合にのみ、気にしてみると良いでしょう。GHでマッチングを利用する場合、何が最適かを自身で判断する必要がありますので注意が必要です。
添付しているghファイルでは、この3つの方法を1つのコンポーネントで切り替える形で用意しました。上記のように1行でお気軽に利用するも良し、以下の画像のように1つにまとめてみるも良しです。
TweenCurvesコンポーネントを作るついでに、今回は少し応用的に少しコードを加えて、
1.カーソルを合わせると表示されるポップアップの説明文も書き換えてみました。
2.cAとcBが未入力の際にWarningが出る(オレンジ色になる)よう書いてみました。
共に数行で出来ますので興味のある方は添付ファイルを確認してみて下さい。(Additional Codeの欄にメソッドで記述しています。)
プログラミンのソフトについて、どんなソフトを使っていますか?
python??
LU
返事が遅くなり申し訳ありません。
DDLではスタッフによって利用する言語が違います。私はGrasshopperの為に今はC#を利用していますが、以前はJavaやAndroidも少し勉強していました。私はPythonが使えませんが、今DDLで一番多く使われているのはPythonかもしれません。
たいへん勉強になりました!
過去記事の添付ファイルが消えてません?
コメントをするにはログインしてください。