I thought I read in the Lua manual that table order isn't necessarily linear if you don't specify the index. Like [1] wouldn't always be x, unless you did:
Cube = { Square = {{ x = {}, y = {}, Length = 30, Height = 10 }} }
Now Cube.Square[1].x[1] is valid.
But Square is only a single-element array (and one dimensional).
It'll be easier to help if you write what you wanted to do with Cube - just write the expression you would like to use (even if it doesn't work).
Do you want to have Cube.Square[1], Cube.Square[2] etc. (if so, how many squares)? And what do you want to put in x[1], x[2], etc? My question is really - what does Cube hold? What sort of information do you want to store in Cube?
I have already wrote the code that fills in x & y, that works fine, but then I added cube to it because I wanted it to hold 3 squares, which will make up an isometric cube. (I wanted to see if I could draw them without using pictures, which I have done.)