import rhinoscriptsyntax as rs import random as ran import fantastic_stairs_lib as fs # delete everything and start from scratch rs.DeleteObjects(rs.AllObjects()) rs.EnableRedraw(False) for i in range(20): arc = fs.make_arc([0,0,0], 50, 5, 10, i*90) rs.MoveObject(arc, [0,0,i*10]) crv = rs.AddSpiral([0,0,0],[0,0,100], 10, 1,44) (crv1, tothgt) = fs.curve_to_stairline(crv) len_c = rs.CurveLength(crv1) (steps,th) = fs.calculate_steps_height(tothgt) An=0 tt = (len_c-An)/steps if tt>0.32: tt=fs.tt P=steps/5 pod_l=fs.calculate_podlen(len_c, tt, steps, P, An) stair= fs.make_curved_podeststair(crv1, steps=steps, th=th, tt=tt, pod_l=pod_l, P=P, An=pod_l+th, DC=steps+1, s_width=2) rs.MoveObject(stair, [0,0,i*10]) rs.RotateObject(stair, (0,0,0), 90*i) if i == 0: decke = rs.AddCylinder([0,0,0], fs.thick, 43, True) rs.MoveObject(decke, [0,0,-fs.thick]) if i>0: decke = rs.AddCylinder([0,0,0], fs.thick, 43, True) rs.MoveObject(decke, [0,0,i*10]) rs.DeleteObject(crv) rs.DeleteObject(crv1) for i in range(15): arc = fs.make_arc([100,0,0], 50, 5, 10, i*90+90) rs.MoveObject(arc, [0,0,i*10]) crv = rs.AddSpiral([100,0,0],[100,0,100], 10, 1,44) (crv1, tothgt) = fs.curve_to_stairline(crv) len_c = rs.CurveLength(crv1) (steps,th) = fs.calculate_steps_height(tothgt) An=0 tt = (len_c-An)/steps if tt>0.32: tt=fs.tt P=steps/5 pod_l=fs.calculate_podlen(len_c, tt, steps, P, An) stair= fs.make_curved_podeststair(crv1, steps=steps, th=th, tt=tt, pod_l=pod_l, P=P, An=pod_l+th, DC=steps+1, s_width=2) rs.MoveObject(stair, [0,0,i*10]) rs.RotateObject(stair, (100,0,0), 90*i+90) if i == 0: decke = rs.AddCylinder([100,0,0], fs.thick, 43, True) rs.MoveObject(decke, [0,0,-fs.thick]) if i>0: decke = rs.AddCylinder([100,0,0], fs.thick, 43, True) rs.MoveObject(decke, [0,0,i*10]) rs.DeleteObject(crv) rs.DeleteObject(crv1)