I have 1000mm x 1000mm rectangle and I am trying to do perforated circles at 66% of the surface with a range of radius between 10 mm - 30mm and spacing between edges of the circles of a range between 10 mm - 15mm, it does not matter the arrangement of the circles it could be random or in a grid, but what matters is the 66 % and the sizes!

I think your best bet is to create something like the attached, with larger and smaller circles. Otherwise it will be difficult to get to the 66% you need without having overlapping circles or very close circles. It would help if you find a way to get the first circles closer to the edge, as now the area around the circles is relatively large. 66% perforated_sg.gh (16.1 KB)

but also the problem is the spacing between them which is way smaller than what i need, if i try with the edges i cannot achieve it also, which i think it is impossible to have a minimum spacing of 10 to 15 mm , and these big circles are double the size that i need , i was thinking if there is any way that i can control radius and spacing in the 66% .

Depending on the surface it is possible to have no or infinite solutions.
I would use Galapagos here, basically doing trial and error. As a fitness function you minimize the deviation from the 66 %. Or you build a score system as fitness.
Hope this helps

quick attempt - unfortunately proves that given your constraints, you can’t have both 66% cover and that much space between circles (in a square grid configuration)

0.9069 or 90.69% area filling with just same-sized circles.

Let’s try with the extreme, most advantageous, situation: big ratio circle to gaps.
If you use circles of Ø40mm > do the circle packing > shrink them to Ø30mm (the maximum diameter possible and to have 10mm gaps, the minimum possible), you will end up with the 56.25% of the area (from Ø40 to Ø30).
0.9069*0.5625=0.51 or 51%

Achieving 66% is not possible.

You need to increase your maximum circle diameter or tolerate smaller gaps. (or both)
And still, we are referring to the most “packed” situation, with just a honeycomb hexagon grid of same-sized circles.
(using smaller circle to fill small spaces could be good idea to increase perforated area, but that would go against your spacing rule, with Ø30 and 10 gap)

(please someone double-check what i wrote, i wrote this in a rush, maybe i’m 100% wrong)

Thanks for your reply , so as a conclusion with these constrains it is impossible to get the 66%, lets say i want to keep the constrain of the spacing which is 10 mm, is there any way i could find the maximum radius!

Time to undust my old Casio!
Some math:
0.9069 from wiki is nh1=(pi*3^0.5)/6
to your nh2=0.66 is a reduction in areas, and that reduction should mean a 10mm reduction in diameters…

ΔD=diameter reduction or gap a=(nh2/nh1)^0.5 D=(ΔD*a)/(1-a)