import rhinoscriptsyntax as rs import random as ran import fantastic_stairs_lib as fs reload(fs) # delete everything and start from scratch rs.DeleteObjects(rs.AllObjects()) rs.EnableRedraw(False) curve = fs.make_random_spiral(15,15,20) len_c = rs.CurveLength(curve) An=0 P=8 mods= (len_c-An)/ (P*fs.tt+fs.pod_l + fs.tt) steps= int(mods*P)+1 fs.make_curved_podeststair(curve, steps=steps, pod_l=fs.pod_l, DC=steps+1, P=P, An=An) i=1 length_fromstart = An+P*fs.tt+fs.pod_l/2 while length_fromstart < len_c: point = rs.CurveArcLengthPoint(curve, length_fromstart) m_l= rs.AddLine(point, [point[0], point[1], i*P*fs.th-fs.thick]) rs.AddPipe(m_l, 0, 0.2) (box1, line1)=fs.make_box_wline([point[0], point[1], i*P*fs.th-fs.thick], 1.5, 1.2, fs.thick) param = rs.CurveClosestPoint(curve, point) normal = rs.CurveTangent(curve, param) angle = rs.Angle([0,0,0], normal)[0] rs.RotateObjects([box1,line1], [point[0], point[1], i*P*fs.th-fs.thick], angle, [0,0,1]) i=i+1 length_fromstart += P*fs.tt+fs.pod_l+fs.tt #rs.DeleteObject(line1) rs.EnableRedraw(True)