import rhinoscriptsyntax as rs import random as ran import fantastic_stairs_lib as fs reload(fs) # alles loeschen rs.DeleteObjects(rs.AllObjects()) """ #curve = fs.make_random_spiral(20,15,10) curve = rs.AddSpiral([0,0,0],[0,0,1], 0, turns=10, radius0=3, radius1=18) len_c = rs.CurveLength(curve) An=0 P=10 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 len_fromstart = An+P*fs.tt+fs.pod_l/2 while (len_fromstart < len_c): point = rs.CurveArcLengthPoint(curve, len_fromstart) m_l = rs.AddLine(point, [point[0], point[1], i*P*fs.th-fs.thick]) rs.AddPipe(m_l, 0, 0.5) (box1, line1)=fs.make_box_wline([point[0], point[1], i*P*fs.th-fs.thick], fs.pod_l, 12, 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 len_fromstart += P*fs.tt+fs.pod_l+fs.tt """ #curve = rs.AddSpiral([0,0,0],[0,0,1], 0, turns=10, radius0=3, radius1=18) curve = fs.make_clover2(30, 20, 50, (0,30,0)) len_c = rs.CurveLength(curve) An=0 P=10 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 len_fromstart = An+P*fs.tt+fs.pod_l/2 while (len_fromstart < len_c): point = rs.CurveArcLengthPoint(curve, len_fromstart) m_l = rs.AddLine(point, [point[0], point[1], i*P*fs.th-fs.thick]) rs.AddPipe(m_l, 0, 0.5) (box1, line1)=fs.make_box_wline([point[0], point[1], i*P*fs.th-fs.thick], fs.pod_l, 10, 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 len_fromstart += P*fs.tt+fs.pod_l+fs.tt