目次

基本コード

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) # 複数のオブジェクトを対象

サンプルコード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)

実行結果

サンプルコード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))

実行結果

パラメータを変えて得られる図形