- Сообщения
- 44
- Реакции
- 1
Здравствуйте!
У меня есть вот такой скрипт который меняет на каждой монтажной области случайным порядком символы. Но есть одно "НО". Он меняет символы но не учитывает размеры. Вернее он учитывает размеры символов при созданиикоторые находятся в панели "символы", а мне нужно что бы учитывались размеры которые уже на монтажной области отредактированы. Тоесть делалась замена вместе из учетом размера. Примеры приложу.
Сам скрипт
заранее спасибо!
У меня есть вот такой скрипт который меняет на каждой монтажной области случайным порядком символы. Но есть одно "НО". Он меняет символы но не учитывает размеры. Вернее он учитывает размеры символов при созданиикоторые находятся в панели "символы", а мне нужно что бы учитывались размеры которые уже на монтажной области отредактированы. Тоесть делалась замена вместе из учетом размера. Примеры приложу.
Сам скрипт
Код:
//@target illustrator
replaceSybols ();
function recoursive ( a, sym ) {
for ( var j = 0; j < a.length; j++ ) {
if ( a[ j ].typename == 'SymbolItem' ) {
var sm=Math.round(Math.random()*activeDocument.symbols.length);
//alert("Random symbol "+sm);
a[ j ].symbol = activeDocument.symbols[sm];
} else if ( a[ j ].typename == 'GroupItem' ) {
recoursive ( a[ j ].pageItems, sym );
}
}
}
function replaceSybols () {
var artbordsLen = activeDocument.artboards.length,
symbolsLen = activeDocument.symbols.length,
actArtb = 0,
stop;
activeDocument.artboards.setActiveArtboardIndex ( actArtb );
artbordsLen >= symbolsLen ? stop = symbolsLen : stop = artbordsLen;
executeMenuCommand ( 'deselectall' ); // compatible with CS6+
for ( var i = 0; i < stop; i++ ) {
activeDocument.selectObjectsOnActiveArtboard ();
try { recoursive ( selection, activeDocument.symbols[ i + 1 ] );} catch ( e ) { }
executeMenuCommand ( 'deselectall' ); // compatible with CS6+
actArtb + 1 != stop ? actArtb += 1 : '';
activeDocument.artboards.setActiveArtboardIndex ( actArtb );
}
redraw ();
}
заранее спасибо!