Rainbow cubes dance

Script
#Bottom[br]A1 = (1, 1, -1)[br]A2 = (1, -1, -1)[br]A3 = (-1, 1, -1)[br]A4 = (-1, -1, -1)[br][br]#Top[br]A5 = (1, 1, 1)[br]A6 = (1, -1, 1)[br]A7 = (-1, 1, 1)[br]A8 = (-1, -1, 1)[br][br]c1 = Cube(A3, A4, A2)[br][br]t = Slider(0, 1, 0.01, 1, 170, false, true, false, false)[br]SetValue(t, 0)[br][br]f = 0[br][br]O = (0,0,0)[br][br]n = 15[br][br]Ln = 1..n[br][br]Lname = Zip("cube"+k, k, Ln)[br][br]Execute(Zip( name+" = Rotate( Rotate( Dilate(c1, "+k+"), f, O, Line(O, (1; f; f + "+k+" * 2 pi/n)) ), f, O, Line(O, (1; f; f + "+k+" * 2 pi/n)) ) ", k, Ln, name, Lname))[br][br]mapping(v, x, y, z, w) = z + (v - x) * (w- z) / (y - x);[br][br]Execute(Zip(" ShowLabel("+name+", false) ", name, Lname))[br][br]Execute(Zip(" SetLineThickness("+name+", floor(mapping("+k+", 1, 15, 2, 6))) ", k, Ln, name, Lname))[br][br]Execute(Zip(" SetDynamicColor("+name+", "+k+"/15, 1, 0.8) ", k, Ln, name, Lname))[br][br]Execute(Zip(" SetFilling("+name+", 0) ", name, Lname))[br][br]#l1 = Zip( Rotate( Rotate( Dilate(c1, k), f, (0, 0, 0), Line(O, (1; f; f + k * 2 pi/n)) ), f, (0, 0, 0), Line(O, (1; f; f + k * 2 pi/n)) ) , k, 1..n)[br][br]StartAnimation(t)

Information: Rainbow cubes dance