AddPointsで複数の点を作る方法|Grasshopper Python × RhinoScriptSyntax入門

AddPoints

AddPoints関数で、複数の点を作成することができます。

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

例1

1つ目の例では、上の画像のように、点を3つ作成してます。

例1

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

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

corrds = [(0,0,0),(10,0,0),(20,0,0)]
# 複数の点の座標(X, Y, Z)をリストで定義

pts = rs.AddPoints(corrds)
# 指定した複数の座標に点を一括で作成

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

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

corrds = [(0,0,0),(10,0,0),(20,0,0)]

複数の点の座標を、リストとしてまとめています。

リストに関してはこちら

それぞれの (x, y, z) が1つの点を表しており、この場合は3つの点が定義されています。

変数名「corrds」は、座標を意味する「Coordinates」から付けています。

変数に関してはこちら

pts = rs.AddPoints(corrds)

AddPoints関数で、複数の点を作成します。

変数corrdsに格納された複数の座標をもとに点を作成し、その結果をptsに代入しています。

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

例2

2つ目の例では、上の画像のように、forループを使って等間隔に点を配置します。

forループに関してはこちら

例2

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

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

corrds = []
# 点の座標を格納するための空のリストを作成

for x in range(0, 100, 10): 
    # 0から100未満まで、10ずつ増加する数値を順番に取り出す(0, 10, 20, ... 90)
    corrds.append((x,0,0))
    # 各xの値を使って座標(x, 0, 0)を作成し、リストに追加

pts = rs.AddPoints(corrds)
# 作成した複数の座標に点を一括で作成

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

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

corrds = []

点の座標を格納するための空のリストを作成しています。

このリストに、後から複数の座標を追加していきます。

for x in range(0, 100, 10): 
    corrds.append((x,0,0))

forループを使って、0から100未満までの値を10ずつ変化させながら(0, 10, 20, … 90)、座標を順番に作成しています。

その中で、(x, 0, 0) という座標を作成し、corrdsに追加します。

これにより、X方向に等間隔で並んだ点の座標が作成されます。

pts = rs.AddPoints(corrds)

AddPoints関数で、複数の点を作成します。

corrdsに格納された複数の座標をもとに点を作成し、その結果をptsに代入しています。

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

例3

3つ目の例では、上の画像のように、2重のforループを使って、点をグリッド状に配置します。

例3

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

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

corrds = []
# 点の座標を格納するための空のリストを作成

for x in range(0, 100, 10):
    # 0から100未満まで、10ずつ増加するX座標を順番に取り出す

    for y in range(0, 100, 10):
        # 0から100未満まで、10ずつ増加するY座標を順番に取り出す

        corrds.append((x,y,0))
        # 各X・Yの組み合わせで座標(x, y, 0)を作成し、リストに追加

pts = rs.AddPoints(corrds)
# 作成したすべての座標に点を一括で作成

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

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

corrds = []

点の座標を格納するための空のリストを作成しています。

このリストに、後から複数の座標を追加していきます。

for x in range(0, 100, 10):
    for y in range(0, 100, 10):
        corrds.append((x,y,0))

2重のforループを使って、X方向とY方向の値をそれぞれ変化(0, 10, 20, … 90)させています。

その中で、各組み合わせごとに (x, y, 0) の座標を作成し、corrds に追加しています。

これにより、点がグリッド状(格子状)に並ぶ座標が作成されます。

pts = rs.AddPoints(corrds)

AddPoints関数で、複数の点を作成します。

corrdsに格納された複数の座標をもとに点を作成し、その結果をptsに代入しています。

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

Comment

Translate »