Подскажите скрипт. Может есть уже готовый.

  • Автор темы Автор темы EvilHIRURG
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

EvilHIRURG

Участник
Топикстартер
Сообщения
44
Реакции
1
Нужен скрипт что бы вытягивал элементы с подслоев в один слой.
В пример это символы: Когда символы на рабочей области то в панели "СЛОИ" вот такая ситуация
2014-10-15 19-01-01 Скриншот экрана.png


Когда удалиш ссылку на символ то вот так всё вылядет

2014-10-15 19-01-21 Скриншот экрана.png


А мне нужно что бы было так:

2014-10-15 19-01-51 Скриншот экрана.png



Может в кто натыкался на подобные скрипты? Помогите! Плиз!
 
А что за символы, не понял, объясните, пожалуйста? и при чём тут подслои?
 
Символы как пример. Может быть что угодно. Главное что бы скрипт элементы вытягивал с подслоёв в один слой.
 
Скрипта не видел.
Руками одноуровневые подслои легко слить (не знаю как переведен этот пункт меню палитры слоев: Мerge Selected) в один подслой.
 
в результате переписки родился action, который частично решил поставленную задачу:
 

Вложения

Код:
var docRef=activeDocument;
var layerCount=docRef.layers.length;
for(i=layerCount-1;i>=0;i--){
    var currLayer=docRef.layers[i];
    if(currLayer.layers.length>0){
        for(j=currLayer.layers.length-1;j>=0;j--){
    currLayer.layers[j].move(currLayer,ElementPlacement.PLACEAFTER);
    }
    }
    }
 
Имхо, нужно так. Не тестил особо. И! Реализуйте свои желания, а, соответственно, и стройте процесс работы, согласно возможностям программы, иначе Вы постоянно будете "умирать" под слоем своих фантазий.
Код:
// Не трогать, магия!
var alayer = app.activeDocument.activeLayer;
var del_layer = new Array();
for(var i=0; i<alayer.layers.length; i++)
{
  del_layer.push(alayer.layers[i]);
}

move_layers(alayer);

for(ss = del_layer.length - 1; ss >= 0; ss--) del_layer[ss].remove();

function move_layers(a)
{
   a.hasSelectedArtwork=true;
   mySelection = activeDocument.selection;
   for (var j = mySelection.length - 1; j >= 0; j-- )
   {
    mySelection[j].move(alayer,ElementPlacement.INSIDE);
    mySelection[j].selected=false;
   }
}
 
БОМБА!!!!!!! Спасибо ОГРОМНОЕ!!!!!!!!!!!!!!!!
 
Статус
Закрыто для дальнейших ответов.