Hexagonal grid in circle or ellipse

Hi.
I’m new here and i don’t know if this has been asked before. Apologies if it has.

I am trying to create a fluid flat surface with a hexagonal grid with openings through attractor points.

The script works only on rectangles and not on a surface with curves.
Also, if 2 attractor points are close the hexagonal geometry overlaps with each other instead of being one continuous grid.

Any help would be appreciated!

Goal:

hexagon attractor curve.gh (17.1 KB)
hexagon attractor point.gh (17.0 KB)