#develope a point matrix using a dictionary - use to generate a variable line system import rhinoscriptsyntax as rs PtMtx = {} lines = [] def PointMatrix(): imax = 10 jmax = 10 point = rs.GetObject('select a point', rs.filter.point) for i in range(imax): for j in range(jmax): x = i * 3 y = j * 3 z = 0 #point = (x,y,z) #rs.AddPoint(point) PtMtx[(i,j)] = [x,y,z] #rs.AddTextDot((i,j), point) #rs.AddLine(PtMtx[(3,2)], PtMtx[(9,9)]) for i in range(imax): for j in range(jmax): if i > 0 and j > 0: lines.append(rs.AddCurve((PtMtx[(i-1,j)], PtMtx[(i,j)], PtMtx[(i,j-1)]), 1)) #rs.AddLine(PtMtx[(i,j-1)], PtMtx[(i,j)]) for i in range(len(lines)): #if i > 10: StartPt = rs.CurveMidPoint(lines[i]) distance = rs.Distance(point, StartPt) lines[i] = rs.RotateObject(lines[i], point, distance *2, None, False) #rs.AddTextDot(i, StartPt) PointMatrix()