import rhinoscriptsyntax as rs # Clear the scene rs.DeleteObjects(rs.AllObjects()) # Define initial points and parameters for the spiral and line point0 = (0, 0, 0.5) point1 = (0, 0, 10) pitch = 1 turns = 2 radius0 = 2.0 radius1 = 3.0 radius2 = 3 radius3 = 4 # Create the initial straight line crv1 = rs.AddLine([radius0 / 1.5, -6, 0], [radius0, 0, 0.5]) crv2 = rs.AddLine([radius2/1.5, -6, 0], [radius2, 0, 0.5]) # Create the spiral curve crvs1 = rs.AddSpiral(point0, point1, pitch, turns, radius0, radius1) crvs2 = rs.AddSpiral(point0, point1, pitch, turns, radius2, radius3) # Bridge Curve crvB = rs.AddCurve(([radius1, 0, 2.5], [2,12,3], [-radius3,24,2.5]),3) crvB2 = rs.AddCurve(([radius3, 0, 2.5], [2,12,3], [-radius1,24,2.5]),3) # Create the spirale curve on the other side crvs1o = rs.AddSpiral([0,24,2.5], [0,24,0.5], pitch, turns, radius3,radius2) crvs1o2 = rs.AddSpiral([0,24,2.5], [0,24,0.5], pitch, turns, radius1,radius0) # Create the initial straight line on the other side crv1o = rs.AddLine([-radius2 / 1.5, 30, 0], [-radius2, 24, 0.5]) crv1o2 = rs.AddLine([-radius0 / 1.5, 30, 0], [-radius0, 24, 0.5]) # 2. Seite radiuss0 = 3.5 radiuss1 = 4.5 radiuss2 = 4.5 radiuss3 = 5.5 point2 = (0,0,12) #Anfangsstuck2 crv3 = rs.AddLine([-radiuss0/1.5,-6,0],[-radiuss0,0,0.5]) crv4 = rs.AddLine([-radiuss1/1.5,-6,0],[-radiuss1,0,0.5]) #Spirale2 crvs3 = rs.AddSpiral(point0, point2, pitch, -turns, -radiuss0, -radiuss1) crvs4 = rs.AddSpiral(point0, point2, pitch, -turns, -radiuss2, -radiuss3) # Bridge Curve crvB21 = rs.AddCurve(([-radiuss1, 0, 2.5], [-2,12,5], [radiuss3,24,2.5]),3) crvB22 = rs.AddCurve(([-radiuss3, 0, 2.5], [-2,12,5], [radiuss1,24,2.5]),3) # Create the spirale curve on the other side crvs1oo = rs.AddSpiral([0,24,2.5], [0,24,0.5], pitch, -turns, -radiuss3,-radiuss2) crvs1oo2 = rs.AddSpiral([0,24,2.5], [0,24,0.5], pitch, -turns, -radiuss1,-radiuss0) # Create the initial straight line on the other side crv1oo = rs.AddLine([radiuss2 / 1.5, 30, 0], [radiuss2, 24, 0.5]) crv1oo2 = rs.AddLine([radiuss0 / 1.5, 30, 0], [radiuss0, 24, 0.5]) # Define a cross-section line for the sweep (2mm wide) line_for_sweep = rs.AddLine([radius0 / 1.5, -6, 0], [2, -6, 0]) line_for_sweep2 = rs.AddLine([-radiuss0 / 1.5, -6, 0], [-3, -6, 0]) # Join the created curves joined_curve = rs.JoinCurves([crv1, crvs1,crvB,crvs1o,crv1o]) joined_curve2 = rs.JoinCurves([crv2, crvs2,crvB2,crvs1o2,crv1o2]) joined_curveo = rs.JoinCurves([crv3, crvs3,crvB21,crvs1oo,crv1oo]) joined_curveo2 = rs.JoinCurves([crv4, crvs4,crvB22,crvs1oo2,crv1oo2]) # Delete the original curves to clean up rs.DeleteObjects([crv1, crvs1,crvB,crvs1o,crv1o]) rs.DeleteObjects([crv2, crvs2,crvB2,crvs1o2,crv1o2]) rs.DeleteObjects([crv3, crvs3,crvB21,crvs1oo,crv1oo]) rs.DeleteObjects([crv4, crvs4,crvB22,crvs1oo2,crv1oo2]) """ # Handlauf srf = rs.ExtrudeCurve( """ """ # Sweep the cross-section along the connected (joined) curve rs.AddSweep2([joined_curve, joined_curve2],line_for_sweep, False) """