You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
120 lines
2.9 KiB
120 lines
2.9 KiB
#include "y_JSExtensions.jsx";
|
|
function sortNumber(a,b){
|
|
return a - b;
|
|
}
|
|
function pad(n,i){ //pad n with ceroes up to i places.
|
|
if (String(n).length>=i){
|
|
return String(n)
|
|
}else{
|
|
dif = i- (String(n)).length;
|
|
padding = "";
|
|
for (p=0;p<dif;p++){
|
|
padding = padding+"0"
|
|
}
|
|
return padding+String(n)
|
|
}
|
|
}
|
|
function yUniStr(str){
|
|
if (app.project.activeItem != null) {
|
|
myLayers = app.project.activeItem.layers;
|
|
//myLayerNames = [];
|
|
nameMatches = [];
|
|
for (i=1;i<=myLayers.length;i++){
|
|
if(getBaseName(myLayers[i].name) == getBaseName(str)){
|
|
nameMatches.push(getN(myLayers[i].name))
|
|
}
|
|
|
|
}
|
|
|
|
newN = getFirstGap(nameMatches);
|
|
if(nameMatches.length == 0 | (newN==0)){
|
|
return str
|
|
}else{
|
|
return str+' '+newN
|
|
}
|
|
}else{
|
|
alert('E01 : No Comp is ACTIVE')
|
|
}
|
|
}
|
|
function getN(str){
|
|
lastChunk = str.substr(str.lastIndexOf(' '),str.length);
|
|
if(lastChunk == parseInt(lastChunk)){
|
|
return parseInt(lastChunk);
|
|
}else{
|
|
return 0;
|
|
};
|
|
}
|
|
function getBaseName(str){
|
|
lastChunk = str.substr(str.lastIndexOf(' '),str.length);
|
|
if(lastChunk == parseInt(lastChunk)){
|
|
return str.substr(0,str.lastIndexOf(' '));
|
|
}else{
|
|
return str;
|
|
};
|
|
}
|
|
function getFirstGap(array){
|
|
length = array.length
|
|
array.sort(function sortNumber(a,b){return a-b})
|
|
max = array[array.length-1]
|
|
for (n=0;n<=max;n++){
|
|
entry = array.getOne(n);
|
|
if (entry == -1){
|
|
return n
|
|
}
|
|
}
|
|
return max+1
|
|
return array[0];
|
|
}
|
|
function yReplace(inputSTR,replaceSTR,replacementSTR){
|
|
tmpArray = inputSTR.split(replaceSTR);
|
|
tmpSTR = '';
|
|
for(i=0;i<tmpArray.length;i++){
|
|
tmpSTR = tmpSTR+tmpArray[i]
|
|
if(i<tmpArray.length-1){
|
|
tmpSTR = tmpSTR+replacementSTR;
|
|
}
|
|
}
|
|
return tmpSTR;
|
|
}
|
|
function genStamp(args){
|
|
d = new Date();
|
|
//alert(d.getMonth());
|
|
y = String(d.getFullYear()).substring(2,4);
|
|
m = pad(d.getMonth()+1,2);
|
|
d = pad(d.getUTCDate(),2);
|
|
str = String(m)+String(d)+String(y);
|
|
return str
|
|
}
|
|
function mergeMultiLine(_str){
|
|
var re = new RegExp('[\n\r]');
|
|
_lines = _str.split(re);
|
|
newStr = '';
|
|
|
|
if(_lines.length>1){
|
|
for(L=0;L<_lines.length;L++){
|
|
alert(_lines[L]);
|
|
if(L==_lines.length-1||_lines[L]==''){
|
|
dash = '';
|
|
}else{
|
|
dash = '.';
|
|
}
|
|
if(_lines[L]!=''){
|
|
newStr = newStr+_lines[L]+dash;
|
|
}else{
|
|
newStr = newStr;
|
|
}
|
|
}
|
|
}else{
|
|
newStr = _str;
|
|
}
|
|
return newStr;
|
|
}
|
|
function yFactor(n,f){
|
|
if((typeof(n)=='number'&&typeof(f)=='number')&&(n>f)){
|
|
value = n - (n%f);
|
|
return(value);
|
|
}else{
|
|
alert('error');
|
|
}
|
|
}
|