ExtrudeCurveで線を押し出してサーフェスを作る方法|Grasshopper Python × RhinoScriptSyntax入門

RhinoScriptSyntax GHPython
ExtrudeCurve

ExtrudeCurve関数で、線を押し出してサーフェス(面)を作成することができます。

本記事のGrasshopperファイルのダウンロードはこちら

作成例

今回は、上の画像のように、線を押し出します。

コード

使用コンポーネント 1: Python 3 Script 2: Curve 3: Surface

import rhinoscriptsyntax as rs
# RhinoをPythonから操作するためのライブラリを読み込む

center_pt = (10,10,0)
# 四角形の基準となる点(中心位置のように使用)

path_pts = ((10,10,0), (10,10,50))
# 押し出し方向を決めるための2点(開始点と終了点)

rectangle = rs.AddRectangle(center_pt, 50, 50)
# 指定した位置に、幅50・高さ50の四角形を作成する

path = rs.AddLine(path_pts[0], path_pts[1])
# 押し出しに使用する直線(パス)を作成する

surface = rs.ExtrudeCurve(rectangle, path)
# 四角形を直線方向に押し出して、サーフェス(面)を作成する

Python 3 Script」には、上記のコードが記載されています。

順番に、コードの解説をしていきます。

center_pt = (10,10,0)

center_pt = (10,10,0) では、四角形を作成する位置を座標で定義しています。

今回は、座標 10,10,0 を基準に、四角形を作成します。

path_pts = ((10,10,0), (10,10,50))

path_pts = ((10,10,0), (10,10,50)) では、押し出し方向を決めるための2つの座標を、タプルで定義しています。

タプルに関してはこちら

後ほど、指定した2つの座標をつなぐ線を作成し、作成した線を押し出しのパスとして使います。

rectangle = rs.AddRectangle(center_pt, 50, 50)

AddRectangle 関数を使い、指定した座標を基準に、幅50・高さ50の四角形を作成します。

この四角形が、押し出しの元となる形状になります。

path = rs.AddLine(path_pts[0], path_pts[1])

AddLine 関数で、指定した2つの座標をつなぐ直線を作成します。

path_pts[0] では、path_pts のタプル内の1つ目の座標を取得し、path_pts[1] では、2つ目の座標を取得しています。

これにより、取得した2つの座標をつなぐ直線が作成されます。

この直線が、押し出しの方向(パス)として使われます。

surface = rs.ExtrudeCurve(rectangle, path)

ExtrudeCurve 関数で、作成した四角形を、直線方向に押し出してサーフェス(面)を作成します。

1つ目の引数では、押し出す線(今回は四角形)、2つ目の引数にはパスの線を指定します。

これにより、線を押し出してサーフェスを作成することができます。

Python 3 Script」の右側の端子名を「rectangle」に設定すると線データ、「path」に設定するとパスの線データ、「surface」に設定するとサーフェスデータがGH上に出力されます。

Comment

Translate »