Three squares each have sides of length 6 units and overlap each other as shown below. The points where the sides cross are midpoints. Find the area of the gray figure in square units.

[asy]

size(3cm,3cm);

fill((0,1)--(1,1)--(1,2)--(0,2)--cycle,lightgray);
fill((0.5,0.5)--(1.5,0.5)--(1.5,1.5)--(0.5,1.5)
--cycle,lightgray);
fill((1,0)--(2,0)--(2,1)--(1,1)--cycle,lightgray);

draw((0,1)--(1,1)--(1,2)--(0,2)--(0,1));
draw((0.5,0.5)--(1.5,0.5)--(1.5,1.5)--(0.5,1.5)
--(0.5,0.5));
draw((1,0)--(2,0)--(2,1)--(1,1)--(1,0));

draw((-0.4,1)--(-0.4,2),Bars);
label("6",(-0.4,1.5),UnFill(1));

[/asy]
Partition the figure by extending the sides of the ``middle'' square as shown at the right. Each original square contains four $3 \times 3$ small squares. The shaded figure consists of ten $3 \times 3$ squares, so its area is $10 \times 9 = \boxed{90\text{ square
units}}$.

[asy]

size(3cm,3cm);

fill((0,1)--(1,1)--(1,2)--(0,2)--cycle,lightgray);
fill((0.5,0.5)--(1.5,0.5)--(1.5,1.5)--(0.5,1.5)
--cycle,lightgray);
fill((1,0)--(2,0)--(2,1)--(1,1)--cycle,lightgray);

draw((0,1)--(1,1)--(1,2)--(0,2)--(0,1));
draw((0.5,0.5)--(1.5,0.5)--(1.5,1.5)--(0.5,1.5)
--(0.5,0.5));
draw((1,0)--(2,0)--(2,1)--(1,1)--(1,0));

draw((-0.4,1)--(-0.4,2),Bars);
label("6",(-0.4,1.5),UnFill(1));

draw((0.5,1.5)--(0.5,2));
draw((0,1.5)--(0.5,1.5));

draw((1.5,0.5)--(2,0.5));
draw((1.5,0)--(1.5,0.5));

label("3",(0.25,2),N);
label("3",(0.75,2),N);

[/asy]