SENDTOBACK это не на шаг вниз, а в самый низ
как вы собираетесь используя BRINGFORWARD отправлять элементы вниз я вообще не понял
for (k = 1; k < mSel.length; k+4)
так нельзя
в общем, комментарии и код имеют мало что общего
SENDTOBACK - опечатка, конечно же SENDBACKWARD - шаг на единицу.
Переварил информацию, понял свою ошибку. Решение найдено, но zOrder всё равно глючит - примеры ниже.
Сначала решение.
сдвиг элементов по zOrder с шагом 4 начиная со 2го эелемента:
PHP:
var aDoc = app.activeDocument;
var mSel = aDoc.selection;
var paths = aDoc.pathItems;
for (k = 0; k < mSel.length; k++) // каждый 2й элемент вниз на единицу с шагом 4
{
k+=1;
mSel[k].zOrder(ZOrderMethod.SENDBACKWARD);
k+=2;
}
значения K по циклу:
for k = 0
k = 0+1 = 1
mSel = 1
k = 1+2 = 3
--
for k = 3+1 = 4
k = 4+1 = 5
mSel = 5
k = 5+2 = 7
--
for k = 7+1 = 8
k = 8+1 = 9
mSel = 9
k = 9+2 = 11
и т.д. ...
итого, mSel = 1, 5, 9... шаг 4, что и требовалось.
математика цикла, конечно, примитивная, но очень сбивает такое в голове прокручивать.
Теперь, глюки zOrder, примеры с SELECTION и PATHS:
PHP:
var aDoc = app.activeDocument;
var mSel = aDoc.selection;
var paths = aDoc.pathItems;
///////////////////////////////////////////////////
for (k = 0; k < mSel.length; k++) // SELECTION - код НИЧЕГО не делает
{
mSel[k].zOrder(ZOrderMethod.SENDBACKWARD); // BACKWARD
}
///////////////////////////////////////////////////
for (k = 0; k < mSel.length; k++) // SELECTION - сдвигает элементы ВВЕРХ
{
mSel[k].zOrder(ZOrderMethod.BRINGFORWARD); // FORWARD
}
///////////////////////////////////////////////////
for (k = 0; k < paths.length; k++) // PATHS - сдвигает элементы ВВЕРХ
{
paths[k].zOrder(ZOrderMethod.SENDBACKWARD); // BACKWARD
}
///////////////////////////////////////////////////
for (k = 0; k < paths.length; k++) // PATHS - сдвигает элементы ВВЕРХ
{
paths[k].zOrder(ZOrderMethod.BRINGFORWARD); // FORWARD
}