I'm playing around with an idea about applying a hexagonal grid to an (as yet undefined) irregular geometry. I want to be able to easily adjust the density of the polygonal grid, within a range.

The grid is an array of circles, but I'm representing them here as hexagons. My poor little laptop can't cope otherwise!

Presently I'm using Sverchok, but happy to explore other node-based solutions.

enter image description here

The key parameters are as follows:

  • The circles are uniform and can range in Radius from 1 unit to 4.5
  • The space between circles must be no less than 1 unit (currently I've defined a minimum size ('Centers') of 5 but really the minimum size should be 1 unit larger than the Radius - couldn't figure out how to do this either!)
  • While the circles cannot change radius (other than by manual input), and the spaces between them cannot be less than 1 unit, they can be further apart, in order to make as even arrangement as possible on the irregular surface.
  • The finished part should be printable.

So, question one is how might I apply this polygonal grid to a surface, and scale it within the rules specified?

(and is this a sensible way to construct a polygonal grid?)

By way of analogy, if I was doing this along a line, I might look at using Sverchok's Duplicate Objects Along Edge node, but I can't think how to make this work across a surface (regular or otherwise).


1 Answer 1



enter image description here

try to keep your nodes in order

enter image description here


  • $\begingroup$ Wow - this is superb. I have to admit, there's much that I don't understand here - well, most of it, but plenty of food for thought... I may be some time... Thanks $\endgroup$
    – Strawberry
    Commented May 6, 2021 at 22:41
  • $\begingroup$ there are many ways to make wrapping, with approximate or exact dimentions and with mesh or curves or surfaces. it can be projection on surface also. $\endgroup$
    – nikitron
    Commented May 7, 2021 at 15:28

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .