Чтобы вращать весь куб или его часть нужен всего один пивот.
piv=CreatePivot();Создаем пивот для вращения
;Ставим в середину всего блока
PositionEntity piv, EntityX(cubes(5)), EntityY(cubes(10)), EntityZ(cubes(5))
Центры кубиков теперь не прыгают и нужно просто сравнить координаты чтобы найти нужные.Дальше найденные кубики присоединяем к piv. Вращаем piv в нужную сторону, отсоединяем кубики.