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()) """ curve= fs.make_random_spiral(10,8,10) len_c= rs.CurveLength(curve) tothgt=len_c*0.06 fs.make_curved_ramp(curve,tothgt) module =6 length_fromstart= module while length_fromstart < len_c: point = rs.CurveArcLengthPoint(curve, length_fromstart) m_l = rs.AddLine (point, [point[0], point[1], length_fromstart*0.06]) rs.AddPipe (m_l, 0,0.1) length_fromstart+= module """ curve= fs.make_random_spiral(10,8,10) len_c= rs.CurveLength(curve) An=0 P=12 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.2,4.2,fs.thick) param = rs.CurveClosestPoint(curve,point) normal = rs.CurveTangent (curve,param) angle= rs.Angle([0,0,0], normal)[0] rs.RotateObject([box1,line1], [point[0], point[1], i*P*fs.th-fs.thick], angle, [0,0,0]) i= i+1 length_fromstart+= P*fs.tt+fs.pod_l+ fs.tt curve= fs.make_random_spiral(10,8,10) len_c= rs.CurveLength(curve) An=0 P=12 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.2,4.2,fs.thick) param = rs.CurveClosestPoint(curve,point) normal = rs.CurveTangent (curve,param) angle= rs.Angle([0,0,0], normal)[2] rs.RotateObject([box1,line1], [point[0], point[1], i*P*fs.th-fs.thick], angle, [0,0,0]) i= i+1 length_fromstart+= P*fs.tt+fs.pod_l+ fs.tt """ 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()) """ curve= fs.make_random_spiral(10,8,10) len_c= rs.CurveLength(curve) tothgt=len_c*0.06 fs.make_curved_ramp(curve,tothgt) module =6 length_fromstart= module while length_fromstart < len_c: point = rs.CurveArcLengthPoint(curve, length_fromstart) m_l = rs.AddLine (point, [point[0], point[1], length_fromstart*0.06]) rs.AddPipe (m_l, 0,0.1) length_fromstart+= module """ curve= fs.make_random_spiral(10,8,10) len_c= rs.CurveLength(curve) An=0 P=12 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.2,4.2,fs.thick) param = rs.CurveClosestPoint(curve,point) normal = rs.CurveTangent (curve,param) angle= rs.Angle([0,0,0], normal)[0] rs.RotateObject([box1,line1], [point[0], point[1], i*P*fs.th-fs.thick], angle, [0,0,0]) i= i+1 length_fromstart+= P*fs.tt+fs.pod_l+ fs.tt curve= fs.make_random_spiral(10,8,10) len_c= rs.CurveLength(curve) An=0 P=12 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.2,4.2,fs.thick) param = rs.CurveClosestPoint(curve,point) normal = rs.CurveTangent (curve,param) angle= rs.Angle([0,0,0], normal)[2] rs.RotateObject([box1,line1], [point[0], point[1], i*P*fs.th-fs.thick], angle, [0,0,0]) i= i+1 length_fromstart+= P*fs.tt+fs.pod_l+ fs.tt rs.MirrorObject(make_curved_podeststair) """