Between the inner hexagon and the outer one, I want to to offset similar to the divide length that the larger hexagons have more offsets and the smaller ones less, but each offset have around the same distance.
DivLength doesn’t work well in this case because the lines are not consistent length so the point count varies on the innermost offset. Using Divide Curve instead is more predictable because all lines get the same number of points.
I started to do this conditionally by comparing the distance between the last point and first point in each ring but found that the condition was always ‘False’, so just used Shift List to remove the last point on each ring. But as you can see that leaves gaps at the end of many rings.
So instead of using DivLength for this, I divided the ring lengths by the desired separation to get number of points and used Divide Curve instead (again). Looks better to me? But there is nothing to prevent adjacent circles from overlapping in either of these solutions.