Для меня самый понятный подход такой.
1. Замечаем, что если грань сдвинуть вдоль её ребра, получится параллельно равносоставленный параллелепипед.

Этому соответствует замена ребра

на

.
Это очевидно для

(на рисунке к почтивертикальному образующему вектору прибавили половину почтигоризонтального). Повторяя, можно получить любое

.
2. Значит, грань можно сдвигать параллельно ей самой как угодно, с сохранением равносоставленности. Этому соответствует замена ребра

на

.
3. Теперь легко последовательно добиться того, чтобы каждое ребро было координатным.