AddCurveAddCurve関数で、制御点を指定して曲線を作成することができます。
本記事のGrasshopperファイルのダウンロードはこちら

1つ目の例では、上の画像のように、開いた曲線を作成します。

使用コンポーネント 1: Python 3 Script 2: Curve 3: Point 4: Closed
import rhinoscriptsyntax as rs
# RhinoをPythonから操作するためのライブラリを読み込む
pts = [(0,0,0),(10,10,0),(20,0,0),(30,10,0),(40,0,0)]
# 複数の点の座標(X, Y, Z)をリストとして定義
curve = rs.AddCurve(pts, degree=3)
# 指定した複数の座標をもとにカーブ(曲線)を作成
points = rs.AddPoints(pts)
# 指定した複数の座標に点を作成(制御点の位置を可視化)「Python 3 Script」には、上記のコードが記載されています。
順番に、コードの解説をしていきます。
pts = [(0,0,0),(10,10,0),(20,0,0),(30,10,0),(40,0,0)]pts = [(0,0,0),(10,10,0),(20,0,0),(30,10,0),(40,0,0)] は、制御点の座標を、リストとしてまとめたものです。
curve = rs.AddCurve(pts, degree=3)curve = rs.AddCurve(pts, degree=3) では、pts に指定した座標を制御点として、曲線を作成しています。
degree では、曲線の次数(滑らかさ)を設定できます。
「Python 3 Script」の右側の端子名を「curve」に設定すると、その端子から曲線データが出力されます。
今回は開いた曲線のため、「Closed」コンポーネントからは、Falseと出力されており、開いていることが分かります。
points = rs.AddPoints(pts)points = rs.AddPoints(pts) では、pts に指定した複数の座標に点を一括で作成します。
こちらは、制御点の確認用に点を作成しています。
「Python 3 Script」の右側の端子名を「points」に設定すると、その端子から点データが出力されます。

2つ目の例では、上の画像のように、閉じた曲線を作成します。

import rhinoscriptsyntax as rs
# RhinoをPythonから操作するためのライブラリを読み込む
pts = [(0,0,0),(10,10,0),(20,0,0),(30,10,0),(40,0,0),(0,0,0)]
# 複数の点の座標(X, Y, Z)をリストとして定義
curve = rs.AddCurve(pts, degree=3)
# 指定した複数の座標をもとにカーブ(曲線)を作成
points = rs.AddPoints(pts)
# 指定した複数の座標に点を作成(制御点の位置を可視化)1つ目例と違う部分は、pts = [(0,0,0),(10,10,0),(20,0,0),(30,10,0),(40,0,0),(0,0,0)] の部分です。
リスト内の最初と最後の座標が、(0,0,0) と一致しています。
最初と最後の座標が一致している場合、閉じた曲線になります。
そのため、「Closed」コンポーネントからは、Trueと出力されています。




Comment