############################## import rhinoscriptsyntax as rs import random, time, sys ### sys.path.append("P:/") ### import DM_lib as dm ### reload( dm ) ############################## rs.UnitSystem(3) rs.ShowGrid(view=None, show=0) rs.ShowGridAxes(view=None, show=0) rs.ViewDisplayMode(view=None, mode="Wireframe") rs.EnableRedraw(0) dm.PointRadius(displayModeX=0, rad=3, styl=1) rs.DeleteObjects(rs.AllObjects()) ##Kreise dm.newEmptyLayer("PROJ::crv", [0,0,200]) if 0: rs.AddCircle([0,0,0],7.4) rs.AddCircle([0,0,3.33],9.43) rs.AddCircle([0,0,6.66],10) rs.AddCircle([0,0,10],9.43) rs.AddCircle([0,0,13.33],7.4) rs.AddCircle([0,0,16.66],3.5) #.AddPoint(0,0,24.66) #plane = #rs.AddEllipse(plane,5,10) rs.ZoomExtents() rs.EnableRedraw(1) ### 4 the MACs dm.printDisplay(1) if 0: for i in range(num): distance = abs(i - center_index) anz=10 if i==1: rs.AddEllipse([0,0,num+i*6],i*3,i*1) rs.AddPoint(0,0,num+i*15) if i>4: elli=rs.AddEllipse([0,0,i],20-1.5*distance,10-0.6*distance) rs.DivideCurve(elli,anz,create_points=True) ##################### num = 25 ### max 32 / min ~16 anz = 20 ### sinnvoll ab ~12 ###### if 1: center_index = num // 2 allCoords = [] for i in range(num): distance = abs(i - center_index) if i==1: rs.AddEllipse([0,0,num+i*6],i*3,i*1) pnts_0 = rs.DivideCurve(rs.AllObjects()[0], anz, create_points=0) rs.DeleteObject(rs.AllObjects()[0]) rs.AddPoint([0, 0, num+i*15]) spitze = rs.PointCoordinates( rs.AllObjects()[0] ) rs.DeleteObject(rs.AllObjects()[0]) if i>4: elli = rs.AddEllipse([0,0,i], 20-0.6*(0.1*distance**2), 15-0.6*(0.1*distance**2) ) pnts = rs.DivideCurve(elli, anz, create_points=0) if i>5: rs.DeleteObject( elli ) allCoords.append( pnts ) allCoords.append( pnts_0 ) lenx = len(allCoords) for i in range(anz): coords = [] for j in range(lenx): k = (j+i)%anz coords.append( allCoords[j][k] ) coords.append( spitze ) rs.AddCurve( coords, 2 ) # cor1=elli[0,pnt[0]] # cor2=elli[1,pnt[1]] # rs.AddCurve((cor1,cor2),1) #Variante 2 # for i in range(5): # p0 = pnt[i] # p1 = pnt[i+1] # rs.ObjectColor([rs.AddLine( p0, p1 )],[200,100,100])