import rhinoscriptsyntax as rs import random as ran import fantastic_stairs_lib as fs rs.DeleteObjects(rs.AllObjects()) crl=rs.AddCircle([0,0,0],0.5) circle = rs.FirstObject(select=False) rs.ExtrudeCurveStraight(crl, [0,0,0], [0,0,33]) srf = rs.FirstObject(select=False) rs. CapPlanarHoles(srf) #stair crv = rs.AddSpiral([0,0,0], [0,0,1], 0, 8, 1) fs.make_curved_stair(crv, th=0.176470588, steps=119) #platform platform_radius = 5 platform_thickness = 0.5 hole_radius = 1.6 platform_height = 20.5 oc = rs.AddCircle([2, 0, platform_height], platform_radius) ic = rs.AddCircle([0, 0, platform_height], hole_radius) oc_pl=rs.ExtrudeCurveStraight((oc),[0,0,platform_height], [0,0,platform_height+platform_thickness]) ic_pl=rs.ExtrudeCurveStraight((ic),[0,0,platform_height], [0,0,platform_height+platform_thickness]) rs.CapPlanarHoles(oc_pl) rs.CapPlanarHoles(ic_pl) rs.BooleanDifference(oc_pl,ic_pl,delete_input=True) #handrail crv1 = rs.AddSpiral([0, 0, 0], [0, 0, 21], 3.6, 5.5, 1.6) crv2 = rs.CopyObject(crv1, [0, 0, 1.2]) if crv1 and crv2: rs.AddLoftSrf([crv1, crv2]) #upper part u_circle_center = [0, 0, 29] u_circle_radius = 2.5 uc = rs.AddCircle(u_circle_center, u_circle_radius) rs.ExtrudeCurveStraight(uc, u_circle_center, [0, 0, 29.5]) #middle part m_circle_center = [-1, 0, 25] m_circle_radius = 3 mc = rs.AddCircle(m_circle_center, m_circle_radius) rs.ExtrudeCurveStraight(mc, m_circle_center, [-1, 0, 25.5])