==== 基本コード ====
rs.AddPipe(curve_id, parameters, radii, blend_type=0, cap=0, fit=False)
API [[https://developer.rhino3d.com/api/RhinoScriptSyntax/#surface-AddPipe|AddPipe]]
==== サンプルコード1 ====
直線を与えて、半径20のパイプを生成
import rhinoscriptsyntax as rs
a=[]
line = rs.AddLine([0,0,0],[200,200,200])
a.extend(rs.AddPipe(line, 0, 20))
実行結果
{{:pipe.png?direct|}}
次のように cap=2 とすると、端が半球になる
a.extend(rs.AddPipe(line, 0, 20, 0, 2))
実行結果
{{:pipe2.png?direct|}}
==== サンプルコード2 ====
傾いたパイプを回転させると一葉双曲面が現れる
import rhinoscriptsyntax as rs
import math
a=[]
theta = math.radians(120)
r = 100
h = 100
line = rs.AddLine([r,0,-h],[r * math.cos(theta), r * math.sin(theta),h])
pipe = rs.AddPipe(line, 0, 5, 0, 2)
DIV_NUM = 24
for i in range(DIV_NUM):
angle = i * 360 / DIV_NUM
a.extend(rs.RotateObjects(pipe, [0,0,0], angle, [0,0,1], True))
参考: [[オブジェクトの回転]]
実行結果
{{:pipe3.png?direct|}}
{{:pipe4.jpg?direct&400|}}
※ おまけ:この形は、綿棒が少なくなってきたときに観察される
[[https://twitter.com/jmitani/status/1430514976863571970|外部リンク]]