直方体の作成
基本コード
rs.AddBox(points)
- API AddBox
AddBox関数には、8つの頂点座標を指定する必要があり、その並び順にもルールがある。
この関数をそのまま使用するのはとても不便なので、対角線上にある2点を指定するだけで直方体が生成される、次の関数を使うとよい。
def box2pt(p1, p2): pt0 = p1 pt1 = rs.coerce3dpoint([p2[0], p1[1], p1[2]]) pt2 = rs.coerce3dpoint([p2[0], p2[1], p1[2]]) pt3 = rs.coerce3dpoint([p1[0], p2[1], p1[2]]) pt4 = rs.coerce3dpoint([p1[0], p1[1], p2[2]]) pt5 = rs.coerce3dpoint([p2[0], p1[1], p2[2]]) pt6 = p2 pt7 = rs.coerce3dpoint([p1[0], p2[1], p2[2]]) return rs.AddBox([pt0, pt1, pt2, pt3, pt4, pt5, pt6, pt7])
サンプルコード
import rhinoscriptsyntax as rs a = [] def box2pt(p1, p2): pt0 = p1 pt1 = rs.coerce3dpoint([p2[0], p1[1], p1[2]]) pt2 = rs.coerce3dpoint([p2[0], p2[1], p1[2]]) pt3 = rs.coerce3dpoint([p1[0], p2[1], p1[2]]) pt4 = rs.coerce3dpoint([p1[0], p1[1], p2[2]]) pt5 = rs.coerce3dpoint([p2[0], p1[1], p2[2]]) pt6 = p2 pt7 = rs.coerce3dpoint([p1[0], p2[1], p2[2]]) return rs.AddBox([pt0, pt1, pt2, pt3, pt4, pt5, pt6, pt7]) a.append(box2pt([0,0,0], [100,200,50]))
実行結果
直方体の作成.txt · 最終更新: 2023/01/26 11:59 by jmitani