Hi,

I’m trying to generate circle spawning from one base circle where a circle is spawned from this base circle and from this circle, another circle is spawned etc until the circles fill up the curve boundary.

The whole process will start off with a for loop in which everything is contained in and the initial steps i have are:

- for i in count of x (where x is the number of circles we want to generate)
- generate the first circle and create a list so that the last item on the list is the one chosen to generate the next circle from
- Every time it spawns it has to check if there is a curve intersect with the outside boundary, if yes they it will need to be rotated

The current script I have at the moment is this:

import rhinoscriptsyntax as rs

from Rhino.Geometry import Circle

from Rhino.Geometry import Point3d

from Rhino.Geometry import Vector3d

import Rhino.Geometry.Transform as rgt

import scriptcontext as sc

firstPoint = rs.coerce3dpoint(startPoint) #create firstPoint variable

a = #create a list for output

count = len(a) #create count for list

for i in range of count:

def spawnCircle(firstPoint, recursion): #define circle spawning function

```
a.append(firstPoint) #adding data to this list
if recursion < 10: #creating a loop within the function
movedPoint1 = firstPoint + Point3d(10, 5, 0) #moving point function within the loop
spawnCircle(movedPoint1, recursion + 1) #creating a cap for the loop
```

spawnCircle(firstPoint, 0) #spawn the new circles

moveVecX = 6 #define vectorX distance

moveVecY = 20 #define vectorY distance

moveVecZ = 8 #define vectorZ distance

moveVector = rs.CreateVector(moveVecX, moveVecY, moveVecZ) #moving according to the vectors above

xf = rgt.Translation(moveVector) #defining the moving variable

a = sc.doc.Objects.Transform(startPoint,xf,bool) #executing the move function

Not sure how to fix it so any help will be greatly appreciated!!