==== 基本コード ====
rs.RotateObject(object_id, center_point, rotation_angle, axis=None, copy=False) # 1つのオブジェクトを対象
rs.RotateObjects(object_ids, center_point, rotation_angle, axis=None, copy=False) # 複数のオブジェクトを対象
*API [[https://developer.rhino3d.com/api/RhinoScriptSyntax/#object-RotateObjects|RotateObjects]]
*API [[https://developer.rhino3d.com/api/RhinoScriptSyntax/#object-RotateObject|RotateObject]]
==== サンプルコード1 ====
四角形を原点を中心として反時計回りに30度回転させる
import rhinoscriptsyntax as rs
a=[]
a.append(rs.AddSrfPt([[0,0,0], [100,0,0], [100,100,0], [0,100,0]]))
rs.RotateObjects(a, [0,0,0], 30)
実行結果
{{:rot.png?direct|}}
==== サンプルコード2 ====
三角形を[1,1,1]ベクトル周りに一定角度間隔で回転させながら複製を作る
import rhinoscriptsyntax as rs
import math
a=[]
tri = rs.AddSrfPt([[0,0,0], [100,0,0], [0,100,0]])
rot_center = [0,0,0]
rot_axis = [1,1,1]
DIV_NUM = 12
for i in range(DIV_NUM):
angle = i * 360 / DIV_NUM
a.extend(rs.RotateObjects(tri, rot_center, angle, rot_axis, True))
実行結果
{{:rot2.png?direct|}}
パラメータを変えて得られる図形
{{:rot3.png?direct&400|}}