I don't know of anything off hand, but it really should be quite simple to code. I did something similar already with a transform to boot. I can't find the code right now, but nesting squares within a square goes something like this:
square[][] = AddRectangle[10][10] //creates the field array 10 squares across in size
xloc = 0 //initializes starting x position
yloc = 0 //initializes starting y position
for (x = 0, x <= <xarraysize>, x++){ //where <xarraysize> is the actual array size defined
for (y = 0, y <= <xarraysize>, y++) {
square[x][y] = AddRectangle(10,10,xloc,yloc) //where x & y are the array positions & (10,10,xloc,yloc) are the
//size of the individual squares and their position.
xloc = xloc + 10 //increments the xloc variable by the pixel size of the rectangle
yloc = yloc +10 //increments the xloc variable by the pixel size of the rectangle
}
}
At least I think that is about what I did. I will post it if I can find it. It was originally written in SmallBasic just to prototype the logical concept. I will be implementing it in Java, eventually for a personal project I have been working on for about 4 years now off and on (more off than on) to learn the language.
Note, if you want variable size internal squares, you can put a variable in in place of the 10's listed above and then just subtract the number of pixels left in the array. It would, of course, require another variable or two to track the array size in pixels, but that should be trivial to add.