AddPolylineで連続する直線を作る方法|Grasshopper Python × RhinoScriptSyntax入門

AddPolyline

AddPolyline関数で、連続する直線(ポリライン)を作成することができます。

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

開いた連続する直線

1つ目の例では、開いた連続する直線を作成してます。

使用コンポーネント

使用コンポーネント 1: Python 3 Script 2: Curve 3: 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)をリストとして定義

line = rs.AddPolyline(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)] は、連続する直線を作るための複数の点の座標を、リストとしてまとめたものです。

リストに関してはこちら

line = rs.AddPolyline(pts)

line = rs.AddPolyline(pts) は、pts にまとめた複数の点を順番に結んで連続する直線を作成し、line に代入します。

Python 3 Script」の右側の端子名を「line」に設定すると、その端子から線データが出力されます。

最初の点と最後の点の位置が一致していないため、開いた線になっています。

そのため、「Closed」コンポーネントからは、Falseと出力されており、開いていることが分かります。

閉じた線の場合

2つ目の例では、閉じた連続する直線を作成してます。

使用コンポーネント
import rhinoscriptsyntax as rs
# RhinoをPythonから操作するためのライブラリを読み込む

pts = [(0,0,0),(10,10,0),(20,0,0),(10,-10,0),(0,0,0)]
# 複数の点の座標(X, Y, Z)をリストとして定義

line = rs.AddPolyline(pts)
# 指定した複数の座標を順番に結び、連続する直線を作成

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

pts = [(0,0,0),(10,10,0),(20,0,0),(10,-10,0),(0,0,0)]の座標が、先程と変わっています。

一番最初の座標と、一番最後の点の座標が、(0,0,0)と一致しています。

この場合、閉じた線になります。

Closed」コンポーネントで確認すると、Trueとなっており、閉じていることが分かります。

Comment

Translate »