maybe something along the lines of a flat cube tied to your mouse position for reference. upon mouseclick get object width and depth, and then use those for an X Y for loop grid.
heres some pseudocode for my methode
if mouseclick() = 1
xmax = brush object width
ymax = brush object depth
for x = 1 to xmax step desired_object_count/(xmax *ymax)
for y = 1 to ymax step desired_object_count/(xmax *ymax)
place new object brushpositionx+x,desired y height,brushpositionz+y
next y
next x
endif
or you could change it to random placement which would be easier. I'm doing the same sort of thing at the moment with my editor for easily placing forest.
im not good with circles, but i imagine a similar approach with the radius and curcumferance using circle maths would do the trick, but its over my head.
maybe think of printing a circle on a dot matrix using the previously demonstrated x y technique, but increasing ymax by one for half the passes and decreasing it by one for the remainder. this would give you a circle, however it is clumsy, and i feel there is a better way with sine and pi.
edit: that circle idea would make a diamond, nevermind:/edit
hope that helps
Sometimes I like to use words out of contents