Quantcast
Channel: Adobe Community : Popular Discussions - Illustrator Scripting
Viewing all 12845 articles
Browse latest View live

ExtendScript Illustrator - Change color of text one character at a time.

$
0
0

I'm trying to write code for ExtendScript ToolKit to target Illustrator. I've been writing in JavaScript, but am open to switching to AppleScript if needed. The goal of the code is to change the characters in a text box one by one to the color of the image behind that letter. The end goal is to have the color of the text create the image.

 

Basically, I select a character. And lets say that character is at 720x648 (in pixels) in a 24x36 in image. Then I detect the color in the image layer at that location. Then turn the selected character to that color.

 

I have encountered two problems, finding a way to have the script detect the color of the picture at a given location (ideally in pixels) and then change that one character to that color.

 

So far my code is this, with a color hard coded in for testing purposes since I haven't figured out the detection part yet.

 

if ( app.documents.length > 0 ) {

var doc = app.activeDocument;

 

//get text from textbox

var numChars = 0;

textArtRange = doc.textFrames[0].contents;

numChars += textArtRange.length;

 

//loop through to select characters one at a time

for (x=0; x<numChars; x++){

     var selectChar=textArtRange.charAt(x)

     doc.characterStyles.removeAll();

     var charStyle=doc.characterStyles.add("NewOne");

     var charAttr=charStyle.characterAttributes;

     var detectedColor = new RGBColor();   //ideally the detected color would go here. But for now it is hard coded.

         detectedColor.red = 242;

         detectedColor.green = 51;

         detectedColor.blue = 51;

     charAttr.fillColor = detectedColor;

     charStyle.applyTo(selectChar); // I got an error here: "Object expected".

}//end for loop

 

 

To detect the color, I tried using the following code, but it only works in Photoshop and even there I can't find a way to store that color the way I need to.

 

app.activeDocument.colorSamplers.removeAll();

var pixelLoc = [UnitValue(16) , UnitValue(16)];

var myColorSampler = app.activeDocument.colorSamplers.add(pixelLoc);



I have put in so many hours into this and just want to rip my hair out. Any help or guidance anyone can give would be SO appreciated! Thanks in advance!!!



Script to convert all text to paths and save out artboards

$
0
0

I'm wondering if there's a way to convert all text to paths, even text within symbols, and then export each artboard to it's own file. This would be for creating flat files to upload to a printing service. Bonus would be to also remove unused symbols and hidden layers. Is this possible with scripting?

fill color using a script.

$
0
0

I'm trying to create a script in CS5 mac os10.6.8 that will change the fill color of selected pathItems. I need a simple script that will change a selected pathItem to cmyk values 2,3,15,0. I will then select this script and implement the action in a batch of 600 files.

 

I wish this process could be recorded as an action but when I record the action "add new swatch" I have to manually input the cmyk values, which will take forever for a batch of over 600 files.

Rounding decimals script on a CMYK document

$
0
0

I've never actually created scripts before so trying to create code from scratch is totally foreign to me, but I'm trying to make one by using various bits of code that I've found in the default Adobe scripts and other pieces that I've found online. Essentially I want it to do the following one one step:

 

1. Copy and paste the artwork from an RGB workspace to a CMYK workspace, converting all colour values to CMYK

2. Change all RGB blacks to 0%, 0%, 0%, 100%

3. Round the CMYK decimal values to whole numbers.

 

I've managed to successfully complete the first 2 steps with the below, but I'm having trouble with the rounding. I sourced the script to round off CMYK decimals from a forum comment by CarlosCanto and since it requires adding the artwork colours to the Swatches panel before running it, I'm trying to incorporate the script for that in there too, so it'll happen in one step. The swatches are being added to the panel with the script I've put together, but I still can't get the decimals to round after that. I've noticed that, once the swatches are added, the swatch is named 'Untitled' rather than named with it's CMYK values, could this be why?

 

Any help would be really appreciated!

 

Here's what I'm using below:

 

 

#target illustrator 

doc=activeDocument; 

for (i=0; i<doc.layers.length; i++){doc.layers[i].hasSelectedArtwork=true;} // select all 

copy();// 

doc2=documents.add(DocumentColorSpace.CMYK,doc.width,doc.height,doc.artboards.length); // new doc CMYK 

doc2.rulerOrigin=doc.rulerOrigin; //  

doc2.pageOrigin=doc.pageOrigin; // 

paste(); // 

for (i=0; i<doc2.pageItems.length; i++){doc2.pageItems[i].position=doc.pageItems[i].position;}

var myDoc = app.activeDocument;

 

// to tweak the find CMYK minimum values adjust these

var myMinC = 60

var myMinM = 60

var myMinY = 60

var myMinK = 60

 

// leave the rest as is

var myCf = 0

var myMf = 0

var myYf = 0

var myKf = 0

var myFill = 0

var myCs = 0

var myMs = 0

var myYs = 0

var myKs = 0

var myStroke = 0

var lengthPI = myDoc.pathItems.length;

for (var i = 0; i < lengthPI ; i++ ) {

    pathRef = myDoc.pathItems[i];

    if(pathRef.editable) {

        myCf = pathRef.fillColor.cyan;

        myMf = pathRef.fillColor.magenta;

        myYf = pathRef.fillColor.yellow;

        myKf = pathRef.fillColor.black;

        myFill = myCf + myMf + myYf + myKf;

        if (myCf > myMinC && myMf > myMinM && myYf > myMinY && myKf > myMinK ||

                myFill > 299 || myKf === 100 && myFill - myKf !== 0) {

            pathRef.fillColor.cyan = 0;

            pathRef.fillColor.magenta = 0;

            pathRef.fillColor.yellow = 0;

            pathRef.fillColor.black = 100;       

        }

        myCs = pathRef.strokeColor.cyan;

        myMs= pathRef.strokeColor.magenta;

        myYs = pathRef.strokeColor.yellow;

        myKs = pathRef.strokeColor.black;

        myStroke = myCs + myMs + myYs + myKs;

        if (myCs > myMinC && myMs > myMinM && myYs > myMinY && myKs > myMinK ||

                myStroke > 299 || myKs === 100 && myStroke - myKs !== 0) {

            pathRef.strokeColor.cyan = 0;

            pathRef.strokeColor.magenta = 0;

            pathRef.strokeColor.yellow = 0;

            pathRef.strokeColor.black = 100;

        }

    }

}

var lengthTI = myDoc.textFrames.length;

for (var i = 0; i < lengthTI ; i++ ) {

    textRef = myDoc.textFrames[i].textRange;

        myCf = textRef.fillColor.cyan;

        myMf = textRef.fillColor.magenta;

        myYf = textRef.fillColor.yellow;

        myKf = textRef.fillColor.black;

        myFill = myCf + myMf + myYf + myKf;

        if (myCf > myMinC && myMf > myMinM && myYf > myMinY && myKf > myMinK ||

                myFill > 299 || myKf === 100 && myFill - myKf !== 0) {

            textRef.fillColor.cyan = 0;

            textRef.fillColor.magenta = 0;

            textRef.fillColor.yellow = 0;

            textRef.fillColor.black = 100;       

        }

        myCs = textRef.strokeColor.cyan;

        myMs= textRef.strokeColor.magenta;

        myYs = textRef.strokeColor.yellow;

        myKs = textRef.strokeColor.black;

        myStroke = myCs + myMs + myYs + myKs;

        if (myCs > myMinC && myMs > myMinM && myYs > myMinY && myKs > myMinK ||

                myStroke > 299 || myKs === 100 && myStroke - myKs !== 0) {

            textRef.strokeColor.cyan = 0;

            textRef.strokeColor.magenta = 0;

            textRef.strokeColor.yellow = 0;

            textRef.strokeColor.black = 100;

        }

}

// Check there is at least 1 document open

if (app.documents.length > 0 ) {

    var docRef = app.activeDocument;

   

    // Check there is a selection in the document

    if (docRef.selection.length > 0 ) {

        var paths = docRef.selection;

        // Add a new swatch group if it does not already exist

        var swatchGroup = null;

        var swatchGroupExists = false;

   

   

           

        // Iterate through selected items       

        IterateSelection(paths);

    }

    else

        alert("Select some path art with colors applied before running this script");

}

else

    alert("Open a document containing some colored path art before running this script");

 

function IterateSelection(selectedItems)

{

    // Get the fill color of each selected item

    for (i = 0; i < selectedItems.length; i++) {

        var pathRef = selectedItems[i];

   

        // Iterate path items within group items

        if (pathRef.typename == "GroupItem") {

            var groupPaths = pathRef.pathItems;

            IterateSelection(groupPaths);

        }

        else if (pathRef.typename == "PathItem") {

                        // Iterate through existing swatches, checking if the color already exists in a swatch

                var swatchExists = false;

                for (var j = 0; j < docRef.swatches.length; j++) {

                    var currentSwatchColor = docRef.swatches[j].color;

                    if (ColorEquals(pathRef.fillColor, currentSwatchColor)) {

                                        }

                }

                if (swatchExists == false) {

                    // Create a new swatch in the swatch group

                    var newSwatch = docRef.swatches.add();

                     newSwatch.color = pathRef.fillColor;

                   

            }

        }

    }

}

 

function ColorEquals(fillColor, swatchColor)

{

    var colorEquals = false;                   

    // Compare colors

    if (fillColor.typename == swatchColor.typename) {

        switch (swatchColor.typename) {

            case "CMYKColor":

                colorEquals = CMYKColorEquals(fillColor, swatchColor);

                break;

            case "RGBColor":

                colorEquals= RGBColorEquals(fillColor, swatchColor);

                break;

            case "GrayColor":

                colorEquals = GrayColorEquals(fillColor, swatchColor);

                break;

            case "LabColor":

                colorEquals = LabColorEquals(fillColor, swatchColor);

                break;

            case "SpotColor":

                colorEquals = SpotColorEquals(fillColor, swatchColor);

                break;

                    case "GradientColor":

                colorEquals = CMYKColorEquals(fillColor, swatchColor);

                break;

            case "NoColor":

                break;

            case "PatternColor":

                break;

                    default:

                break;

        }

    }

    return colorEquals;

}

 

function CMYKColorEquals(fillColor, swatchColor)

{

    var colorEquals = false;

    if ((fillColor.cyan == swatchColor.cyan) &&

        (fillColor.magenta == swatchColor.magenta)&&

        (fillColor.yellow == swatchColor.yellow) &&

        (fillColor.black == swatchColor.black)) {

            colorEquals = true;

    }

    return colorEquals;

}

 

function RGBColorEquals(fillColor, swatchColor)

{

    var colorEquals = false;

    if ((fillColor.red == swatchColor.red) &&

        (fillColor.green == swatchColor.green)&&

        (fillColor.blue == swatchColor.blue)) {

            colorEquals = true;

    }

    return colorEquals;

}

 

function GrayColorEquals(fillColor, swatchColor)

{

    var colorEquals = false;

    if ((fillColor.gray == swatchColor.gray)) {

            colorEquals = true;

    }

    return colorEquals;

}

 

function LabColorEquals(fillColor, swatchColor)

{

    var colorEquals = false;

    if ((fillColor.l == swatchColor.l) &&

        (fillColor.a == swatchColor.a)&&

        (fillColor.b == swatchColor.b)) {

            colorEquals = true;

    }

    return colorEquals;

}

 

function SpotColorEquals(fillColor, swatchColor)

{

    var colorEquals = false;

    switch (swatchColor.spot.color.typename) {

        case "CMYKColor":

            colorEquals = CMYKColorEquals(fillColor.spot.color, swatchColor.spot.color);

            break;

        case "RGBColor":

            colorEquals = RGBColorEquals(fillColor.spot.color, swatchColor.spot.color);

            break;

        case "GrayColor":

            colorEquals = GrayColorEquals(fillColor.spot.color, swatchColor.spot.color);

            break;

        case "LabColor":

            colorEquals = LabColorEquals(fillColor.spot.color, swatchColor.spot.color);

            break;

        default:

            break;

    }

    return colorEquals;

}

 

    var idoc = app.activeDocument; 

    var sws = idoc.swatches; 

     

     

    for (i = 0; i<sws.length; i++) { 

              var sw = sws[i]; 

              if (sw.color.typename == "CMYKColor") 

                        roundColorValues (sw.color); 

              else if (sw.color.typename == "SpotColor") { 

                        //$.writeln(sw.color.spot.getInternalColor()); 

                        roundColorValues (sw.color.spot.color); 

                        //$.writeln(sw.color.spot.getInternalColor()); 

              } 

    } 

     

     

    function roundColorValues(color) { 

              var col = color; 

              col.cyan = Math.round(col.cyan); 

              col.magenta = Math.round(col.magenta); 

              col.yellow = Math.round(col.yellow); 

              col.black = Math.round(col.black); 

    } 

relink all selected

$
0
0

CarlosCanto wrote this script for me years ago, but seems to not work anymore on

Mac OS 10.10.5

CC2015.3

 

Is supposed to relink all instance of an image, as for example on a carton in packaging design we make have the same picture of an apple pie on all 6 sides. Is annoying to run the link panel 6 times rather than one command. This was further aggravated by the Mac OS not remember ing the last location, which default folder used to correct, but that seems to work now.

 

 

 

 

 

 

#target Illustrator

 

// script.name = relinkAllSelected.jsx;

// script.description = relinks all selected placed images at once;

// script.required = select at least one linked image before running;

// script.parent = CarlosCanto // 7/12/11;

// script.elegant = false;

 

var idoc = app.activeDocument;

sel = idoc.selection;

if (sel.length>0)

     {

       

          for (i=0 ; i<sel.length ; i++ )

               {

                   if (sel[i].typename == "PlacedItem")

                        {

    

                            var iplaced = sel[i];

       var file = File.openDialog ("open file " + iplaced.file );

                            iplaced.file = file;

                         }

               }

     }

else

     {

          alert("select at least one placed item before running");

     }

Adobe Illustrator not responding !!

$
0
0

Hello everyone,

 

 

My script works for small size files upto 900kb it takes less than a minute , if it is more than 900 kb it is running for 1/2 hour  then it forces the illustrator to not respond and closes the illustrator.

 

 

can anybody suggest how to make to run all files in a folder irrespective of file size .

 

 

here is my code .

 

 

 

 

 

var main_group_array;
var error_file_name="";


var can_path_item_array=[];
var unit_intersect_point_array=[];
  var magentaColor6= new CMYKColor();
magentaColor6.cyan = 75;//orange
magentaColor6.magenta =100;
magentaColor6.yellow = 0;
magentaColor6.black = 0;
var magentaColor10 = new CMYKColor();
magentaColor10.cyan = 18.43;
magentaColor10.magenta =100;
magentaColor10.yellow = 100;
magentaColor10.black = 10.2;//Brown


var magentaColor9 = new CMYKColor();
magentaColor9.cyan = 0;
magentaColor9.magenta =99;
magentaColor9.yellow = 0;
magentaColor9.black = 0; //magenta 1


var magentaColor7 = new CMYKColor();
magentaColor7.cyan = 0;
magentaColor7.magenta =97;
magentaColor7.yellow = 0;
magentaColor7.black = 0;//magenta 2


var magentaColor8 = new CMYKColor();
magentaColor8.cyan = 0;
magentaColor8.magenta =95;
magentaColor8.yellow = 0;
magentaColor8.black = 0;//magenta 3


var magentaColor4 = new CMYKColor();
magentaColor4.cyan = 60.39;
magentaColor4.magenta =32.94;
magentaColor4.yellow = 100;
magentaColor4.black = 14.51;//Green


var magentaColor1 = new CMYKColor();
magentaColor1.cyan = 56.47;
magentaColor1.magenta =0;
magentaColor1.yellow = 63.92;
magentaColor1.black = 0;//LIGHT GREEN


var magentaColor2 = new CMYKColor();
magentaColor2.cyan = 19.61;
magentaColor2.magenta =100;
magentaColor2.yellow = 69.02;
magentaColor2.black = 8.63;//Dark Brown


var magentaColor3 = new CMYKColor();
magentaColor3.cyan = 0;
magentaColor3.magenta =69.8;
magentaColor3.yellow = 100;
magentaColor3.black = 0;//light orange
var fileArray_title=[];
sourceFolder = Folder.selectDialog( 'Select the folder with Illustrator files', '~' );
files = sourceFolder.getFiles(/\.(svg|ai)$/i);
 fileArray_SM_name = get_csvfile("Select CIL CSV List");
  fileArray_title = get_csvfile("Select ID List CSV");    error_file_name=sourceFolder.path+'/Tabledata.csv';        error_file_name1=sourceFolder.path+'/Connector Numbers.csv';         file_output=new File (error_file_name);             file_output.open ('e');         file_output.writeln ("CircuitFileName"+","+"LineNumber"+","+"Type"+","+"ConnectorNumber"+","+"TerminalNumber"+","+"FileName"+","+"DisplayName");           file_output1=new File (error_file_name1);             file_output1.open ('e');         file_output1.writeln ("Connector Number"+","+"file Name");   function get_csvfile(Str_File)
{    var csv_file;    csv_file = File.openDialog (Str_File);            if(!csv_file.exists)    {                 return;     }     else    {             fileArray_buffer = save_elements(csv_file);                  }    return fileArray_buffer;
 }
function save_elements( fileObj ) 
{          var thisLine, csvArray;           fileArray_save_elements =[];            fileObj.open( 'r' );         while( !fileObj.eof )          {                                  thisLine = fileObj.readln();                     csvArray = thisLine.split( ',' );                     fileArray_save_elements.push( csvArray );            };              return fileArray_save_elements;          fileObj.close();          
};            if(files.length == 0)
{       alert("Folder doesnot have any file");      }    if ( files.length > 0 )    {                for ( file_iteration = 0; file_iteration < files.length; file_iteration++ )        {            sourceDoc = app.open(files[file_iteration]);                  var fileExtension = sourceDoc.name.substr((sourceDoc.name.lastIndexOf('.') + 1));               if(fileExtension=="ai")               {                   $.sleep(1000);                   check_title(sourceDoc);                   sourceDoc.save();                    sourceDoc.close();                     $.sleep(10000);                   }               else               {                    check_title(sourceDoc)                    }                }            }                                     

 function check_title(sourceDoc)
    {               
 for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)        {           if(sourceDoc.layers.length==1)           {               mainloop4:               for(var grp1=0;grp1<sourceDoc.layers[lays1].groupItems.length;grp1++)            {                if(sourceDoc.layers[lays1].groupItems[grp1].name=="<CIRCUIT TITLE>")                {        for (var tit=0;tit<sourceDoc.layers[lays1].groupItems[grp1].textFrames.length;tit++)        {            if(sourceDoc.layers[lays1].groupItems[grp1].textFrames[tit].kind ==  TextType.POINTTEXT)            {            if(sourceDoc.layers[lays1].groupItems[grp1].textFrames[tit].textRange.characterAttributes.size==12)            {                 if(sourceDoc.layers[lays1].groupItems[grp1].textFrames[tit].contents.slice(0,3)=="CAN")                {                                  

 check_artboard();
 unlock( activeDocument.layers);
 color_empty_pathitem();
 delete_group();
 delete_group1();
  check_circle_ungroup_CAN();  ungroup_group_subgroup();                  ungroup_group();                  ungroup_units();                  autoColor_updation();                  AAA_check1();                   Check_battery_AAA();                  ungroup_units1();                   remove_fuse_group();                  check_fuse_ungroup();                  check_dot_repeat();                  check_connector();                                     rename_fuse_group();                   line_check1_unit_CAN();                   line_check1_unit_2_CAN();                   reduce_opacity();                   reduce_opacity_1();                                   group_connector_name();                  move_rectangle();                  circleFront();                  group_Circle_name_CAN();                  checking_circleGroup_CAN();                  check_unwantedline_CAN();                  renaming_path();                  renaming_CAN();                  Check_batteryline();                  line_pathitem_inside_CAN()                    error_check();                    list_connector_names();                                      break mainloop4;                  }                              if(sourceDoc.layers[lays1].groupItems[grp1].textFrames[tit].contents.slice(0,7)=="CONSULT")                {                    check_artboard();
 unlock( activeDocument.layers);
 color_empty_pathitem();
 delete_group();
 delete_group1();
 check_circle_ungroup();
 ungroup_group_subgroup();  ungroup_units();   autoColor_updation();   AAA_check1();    Check_battery_AAA();   ungroup_units1();     remove_fuse_group();     check_fuse_ungroup();       check_dot_repeat();       check_connector();        rename_fuse_group();         line_check1_unit();         line_check1_unit_2();           reduce_opacity();           reduce_opacity_1();                     group_connector_name();           move_rectangle();           check_can_AAA_PATH();           circleFront();            group_name_normal();                      checking_circleGroup_normal();              check_unwantedline_normal();         renaming_path();                  renaming_CAN();                  Check_batteryline();                   line_pathitem_inside_normal();                                     write_to_link();                    error_check();                    list_connector_names();                               break mainloop4;                                                           }                                 if(sourceDoc.layers[lays1].groupItems[grp1].textFrames[tit].contents.slice(0,4)=="IPDM")                {                      
 unlock( activeDocument.layers);
 color_empty_pathitem();
 delete_group();
 delete_group1();  ungroup_units();   autoColor_updation();   AAA_check1();      Check_battery_AAA();   ungroup_units1();                remove_fuse_group();     check_fuse_ungroup();               check_dot_repeat();       check_connector();        rename_fuse_group();       reduce_opacity();           reduce_opacity_1();                      group_connector_name();            move_rectangle();            check_AAA_path_BCM();                                                                    write_to_link();      error_check();      list_connector_names();      break mainloop4;     }      if(sourceDoc.layers[lays1].groupItems[grp1].textFrames[tit].contents.slice(0,3)=="BCM")              {                  unlock( activeDocument.layers);
 color_empty_pathitem();
 delete_group();
 delete_group1();  ungroup_units();   autoColor_updation();   AAA_check1();      Check_battery_AAA();   ungroup_units1();                remove_fuse_group();     check_fuse_ungroup();               check_dot_repeat();       check_connector();        rename_fuse_group();       reduce_opacity();           reduce_opacity_1();                     group_connector_name();            move_rectangle();            check_AAA_path_BCM();                                                                  write_to_link();                       error_check();                       list_connector_names();                       break mainloop4;                  }              else              {                 check_artboard();
 unlock( activeDocument.layers);
 color_empty_pathitem();
 delete_group();
 delete_group1();
 check_circle_ungroup();
 ungroup_group_subgroup();  ungroup_units();   autoColor_updation();   AAA_check1();    Check_battery_AAA();   ungroup_units1();     remove_fuse_group();     check_fuse_ungroup();       check_dot_repeat();       check_connector();        rename_fuse_group();         line_check1_unit();         line_check1_unit_2();           reduce_opacity();           reduce_opacity_1();                      group_connector_name();           move_rectangle();           check_can_AAA_PATH();           circleFront();            group_name_normal();                      checking_circleGroup_normal();              check_unwantedline_normal();         renaming_path();                  renaming_CAN();                 Check_batteryline();                   line_pathitem_inside_normal();                                     write_to_link();                     error_check();                     list_connector_names();                                         break mainloop4;                   }                         }      }  }
}
}
}


else if(sourceDoc.layers.length==3)
{
    if(sourceDoc.layers[lays1].name=="RANGE" || sourceDoc.layers[lays1].name=="ILLUST")    {         for (var tit=0;tit<sourceDoc.layers[lays1].textFrames.length;tit++)        {            if(sourceDoc.layers[lays1].textFrames[tit].kind ==  TextType.POINTTEXT)            {            if(sourceDoc.layers[lays1].textFrames[tit].textRange.characterAttributes.size==12)            {                   if(sourceDoc.layers[lays1].textFrames[tit].contents.slice(0,7)=="CONSULT")                {                check_artboard();
 unlock( activeDocument.layers);
 color_empty_pathitem();
 delete_group();
 delete_group1();
 check_circle_ungroup();
 ungroup_group_subgroup();  ungroup_units();   autoColor_updation();   AAA_check1();    Check_battery_AAA();   ungroup_units1();     remove_fuse_group();     check_fuse_ungroup();       check_dot_repeat();       check_connector();        rename_fuse_group();         line_check1_unit();         line_check1_unit_2();           reduce_opacity();           reduce_opacity_1();                      group_connector_name();           move_rectangle();           check_can_AAA_PATH();           circleFront();            group_name_normal();                      checking_circleGroup_normal();              check_unwantedline_normal();         renaming_path();                  renaming_CAN();                Check_batteryline();                   line_pathitem_inside_normal();                                     write_to_link();                      error_check();                      list_connector_names();                                      break ;                  }                  if(sourceDoc.layers[lays1].textFrames[tit].contents.slice(0,3)=="CAN")                {                    check_artboard();
 unlock( activeDocument.layers);
 color_empty_pathitem();
 delete_group();
 delete_group1();  check_circle_ungroup_CAN();  ungroup_group_subgroup();                  ungroup_group();                  ungroup_units();                   autoColor_updation();                  AAA_check1();                   Check_battery_AAA();                  ungroup_units1();                   remove_fuse_group();                  check_fuse_ungroup();                  check_dot_repeat();                  check_connector();                                     rename_fuse_group();                   line_check1_unit_CAN();                   line_check1_unit_2_CAN();                   reduce_opacity();                   reduce_opacity_1();                                   group_connector_name();                  move_rectangle();                  circleFront();                  group_Circle_name_CAN();                  checking_circleGroup_CAN();                  check_unwantedline_CAN();                  renaming_path();                  renaming_CAN();                  Check_batteryline();                  line_pathitem_inside_CAN()                   error_check();                   list_connector_names();                                    break;              }          if(sourceDoc.layers[lays1].textFrames[tit].contents.slice(0,4)=="IPDM")
{     unlock( activeDocument.layers);
 color_empty_pathitem();
 delete_group();
 delete_group1();  ungroup_units();   autoColor_updation();   AAA_check1();      Check_battery_AAA();   ungroup_units1();                remove_fuse_group();     check_fuse_ungroup();               check_dot_repeat();       check_connector();        rename_fuse_group();       reduce_opacity();           reduce_opacity_1();                      group_connector_name();            move_rectangle();            check_AAA_path_BCM();                                                                    write_to_link();                     error_check();                     list_connector_names();                                         break;              }      
}
}
}
}
}
}
}




 function delete_group()
  {
 for(var i=0;i<sourceDoc.layers.length;i++)
{    for(var k=0;k<sourceDoc.layers[i].groupItems.length;k++)    {         theObj = sourceDoc.layers[i].groupItems[k].pageItems;         if( theObj.length==1)         {        for(var z=0;z< theObj.length;z++)        {                      if (theObj[z].typename == "GroupItem") {                       theObj[z].moveBefore(theObj[z].parent);              }          }      }  }}}




 function delete_group1()
  {
 for(var i=0;i<sourceDoc.layers.length;i++)
{    for(var k=0;k<sourceDoc.layers[i].groupItems.length;k++)    {
for(var z=0;z<sourceDoc.layers[i].groupItems[k].groupItems.length;z++)
{    var path_found=0;    for(var zz=0;zz<sourceDoc.layers[i].groupItems[k].groupItems[z].groupItems.length;zz++)    {        if(sourceDoc.layers[i].groupItems[k].groupItems[z].groupItems[zz].name.slice(0,15)=="connectornumber")        {            if(sourceDoc.layers[i].groupItems[k].groupItems[z].pathItems.length==0 || sourceDoc.layers[i].groupItems[k].groupItems[z].textFrames.length==0)            {            var path_found=1;            }        }    }
}  if(path_found==1)  {            for(var z=0;z<sourceDoc.layers[i].groupItems[k].groupItems.length;z++)
{    for(var zz=0;zz<sourceDoc.layers[i].groupItems[k].groupItems[z].groupItems.length;zz++)    {        sourceDoc.layers[i].groupItems[k].groupItems[z].groupItems[zz].moveBefore(sourceDoc.layers[i].groupItems[k].groupItems[z].groupItems[zz].parent)        }    }
}
}
}
}                                                                                                                                                                                                                                                                                                                                                                           function check_artboard()
{   
var abIdx = sourceDoc.artboards.getActiveArtboardIndex ();    
var abSrc = sourceDoc.artboards[abIdx];  
var moveX = 4000;    
var moveY = 800;    
if(abSrc.artboardRect[0]<0)
{
var abSrc_L = abSrc.artboardRect[0] + moveX;    
var abSrc_T = abSrc.artboardRect[1]  + moveY      
var abSrc_R = abSrc.artboardRect[2] + moveX ;    
var abSrc_B = abSrc.artboardRect[3] +moveY  
abSrc.artboardRect = [abSrc_L, abSrc_T, abSrc_R, abSrc_B];
var layers = sourceDoc.layers;  
for( var i = 0, ii = layers.length; i < ii; i++ ) {      // clear any current selection      sourceDoc.selection = null;        for(var k=0;k<layers[i].groupItems.length;k++)      {              // translate them using the moveX and moveY variables      var curGroup = layers[i].groupItems[k];      curGroup.translate( moveX, moveY );            }
for(var s=0;s<layers[i].pathItems.length;s++)
{       var curGroup = layers[i].pathItems[s];      curGroup.translate( moveX, moveY );            }


for(var t=0;t<layers[i].textFrames.length;t++)
{       var curGroup = layers[i].textFrames[t];      curGroup.translate( moveX, moveY );            }        }        }








}








function unlock ( items ) {      var i = items.length;      if ( i ) {       while ( i-- ) {              items[i].locked = false;              if ( items[i].typename === 'GroupItem' ) {                  unlock( items[i].pageItems );              }                  else if ( items[i].typename === 'Layer' ) {                     unlock( items[i].layers );                     unlock( items[i].pageItems );                 }         }     }  
} 






function check_circle_ungroup_CAN()
{
     for(var layer_item_index=0;layer_item_index<sourceDoc.layers.length;layer_item_index++)    {        if(sourceDoc.layers[layer_item_index].pageItems.length>0)        {            layer_grp_item=sourceDoc.layers[layer_item_index].groupItems;           for(var grp_main_index=0;grp_main_index<layer_grp_item.length;grp_main_index++)    {        
child_path_item_main=layer_grp_item[grp_main_index].pathItems;  child_group_item=layer_grp_item[grp_main_index].groupItems;    var count_groupfound=0;
 mainloopline:    for(var grp_main_index1=0;grp_main_index1< child_group_item.length;grp_main_index1++)  {      if(child_group_item[grp_main_index1].name.slice(0,15)=="connectornumber" )      {           count_groupfound=1;          break mainloopline;          }}   if(count_groupfound==0)      {           mainloopline:               for(var grp_main_index1=0;grp_main_index1< child_group_item.length;grp_main_index1++)  {      child_path_item_main1=child_group_item[grp_main_index1].pathItems;      for(var path_1=0;path_1<child_path_item_main1.length;path_1++)      {           var  path_type = type_of_path(child_path_item_main1[path_1]);           if(path_type=="Line Type 1" || path_type=="Line Type 2"  || path_type=="Line Type 3" || path_type=="Line Type 4"  || path_type=="Line Type 10" || path_type=="Circle Type 1"           || path_type=="Circle Type 2" || path_type=="Circle Type 3"|| path_type=="Circle Type 4"|| path_type=="Circle Type 5"           || path_type=="Circle Type 6"|| path_type=="Line Type 12")               {                            theObj=layer_grp_item[grp_main_index].pageItems;                                for(var z=theObj.length-1;z>=0 ;z--)        {                      if (theObj[z].typename == "GroupItem") {             for (i=theObj[z].pageItems.length-1; i>=0; i--)             {            theObj[z].pageItems[i].moveAfter(theObj[z].pageItems[i].parent);
 }
}                }    break mainloopline;    }
}
}
}
}
}
}
}




function check_circle_ungroup()
{
     for(var layer_item_index=0;layer_item_index<sourceDoc.layers.length;layer_item_index++)    {        if(sourceDoc.layers[layer_item_index].pageItems.length>0)        {            layer_grp_item=sourceDoc.layers[layer_item_index].groupItems;           for(var grp_main_index=0;grp_main_index<layer_grp_item.length;grp_main_index++)    {        
child_path_item_main=layer_grp_item[grp_main_index].pathItems;  child_group_item=layer_grp_item[grp_main_index].groupItems;  var count_groupfound=0;
 mainloopline:    for(var grp_main_index1=0;grp_main_index1< child_group_item.length;grp_main_index1++)  {      if(child_group_item[grp_main_index1].name.slice(0,15)=="connectornumber")      {                   count_groupfound=1;           break mainloopline;          }}
if(count_groupfound==0)
{     mainloopline:       for(var grp_main_index1=0;grp_main_index1< child_group_item.length;grp_main_index1++)  {      {      child_path_item_main1=child_group_item[grp_main_index1].pathItems;      for(var path_1=0;path_1<child_path_item_main1.length;path_1++)      {           var  path_type = type_of_path(child_path_item_main1[path_1]);           if(path_type=="Line Type 1" || path_type=="Line Type 2"  || path_type=="Line Type 3" || path_type=="Circle Type 1"           || path_type=="Circle Type 2" || path_type=="Circle Type 3"|| path_type=="Circle Type 4"|| path_type=="Circle Type 5"           || path_type=="Circle Type 6"|| path_type=="Line Type 12")               {                            theObj=layer_grp_item[grp_main_index].pageItems;                                for(var z=theObj.length-1;z>=0 ;z--)        {                      if (theObj[z].typename == "GroupItem") {             for (i=theObj[z].pageItems.length-1; i>=0; i--)             {            theObj[z].pageItems[i].moveAfter(theObj[z].pageItems[i].parent);
 }
}                }    break mainloopline;    }
}
}
}
}
}
}
}
}
function remove_fuse_group()
{
for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)
{    for(var group1=0;group1<sourceDoc.layers[lays1].groupItems.length;group1++)    {       var text_found=0;        for(var group2=0;group2<sourceDoc.layers[lays1].groupItems[group1].groupItems.length;group2++)        {            for(var text1=0;text1<sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].textFrames.length;text1++)            {          if(!sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].textFrames[text1].contents.match(/[A-Z][0-9]{1,3}$/)) continue;                      text_found=1;           }       }   if( text_found==1)   {       for(var group3=0;group3<sourceDoc.layers[lays1].groupItems[group1].groupItems.length;group3++)       {           for(var path1=0;path1<sourceDoc.layers[lays1].groupItems[group1].groupItems[group3].pathItems.length;path1++)           {               var path_type=type_of_path(sourceDoc.layers[lays1].groupItems[group1].groupItems[group3].pathItems[path1])               if(path_type=="Rectangle Type 3")               {                                      sourceDoc.layers[lays1].groupItems[group1].groupItems[group3].moveToBeginning(sourceDoc.layers[lays1]);                   break;                   }               }           }       }   }
}
}
function ungroup_group()
{
for(var i=0;i<sourceDoc.layers.length;i++)
{    for(var k=0;k<sourceDoc.layers[i].groupItems.length;k++)    {        var count=0;       var count_group=0;         theObj = sourceDoc.layers[i].groupItems[k].pageItems;
for(var z=0;z<theObj.length;z++)
{    if(theObj[z].typename=="PathItem" || theObj[z].typename=="TextFrame")    {        count++;        }    }
for(var zzz=0;zzz<theObj.length;zzz++)
{     if(theObj[zzz].typename=="GroupItem")     {         count_group++;         }     }         
if(count==0 || (count==1 && count_group==1))
{    for(var zz=0;zz<theObj.length;zz++)    {                if(theObj[zz].typename=="GroupItem")         {              var count_text=0;             for(var zzzz=0;zzzz<theObj[zz].pageItems.length;zzzz++)             {                 if(theObj[zz].pageItems[zzzz].typename=="PathItem" || theObj[zz].pageItems[zzzz].typename=="TextFrame" )                 {                     count_text=1;                     }}             if(count_text==0)             {       for(var zzzz=0;zzzz<theObj[zz].pageItems.length;zzzz++)             {                 theObj[zz].pageItems[zzzz].moveBefore(theObj[zz].parent)                 }        }    else    {        theObj[zz].moveBefore(theObj[zz].parent)                      }        }    }
}
}
}
}


function ungroup_group_subgroup()
{
    for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)
{    for(var group1=0;group1<sourceDoc.layers[lays1].groupItems.length;group1++)    {        for(var group2=0;group2<sourceDoc.layers[lays1].groupItems[group1].groupItems.length;group2++)        {            for(var group3=0;group3<sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].groupItems.length;group3++)            {                                for(var group4=0;group4<sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].groupItems[group3].groupItems.length;group4++)                {                    if(sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].groupItems[group3].groupItems[group4].name.slice(0,15)=="connectornumber")                    {                        sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].groupItems[group3].moveToBeginning(sourceDoc.layers[lays1]);                        break;                        }                    }                }            }        }    }
}


function ungroup_units()
{
     for(var layer_item_index=0;layer_item_index<sourceDoc.layers.length;layer_item_index++)    {        if(sourceDoc.layers[layer_item_index].pageItems.length>0)        {            layer_grp_item=sourceDoc.layers[layer_item_index].groupItems;            for(var grp_main_index=0;grp_main_index<layer_grp_item.length;grp_main_index++)    {         
child_path_item_main=layer_grp_item[grp_main_index].pathItems;  child_group_item=layer_grp_item[grp_main_index].groupItems;  for(var grp_main_index1=0;grp_main_index1< child_group_item.length;grp_main_index1++)  {      child_path_item_main1=child_group_item[grp_main_index1].pathItems;
 theObj=child_group_item[grp_main_index1].pageItems;   for(var z=0;z< theObj.length;z++)        {                      if (theObj[z].typename == "GroupItem") {             for (i=theObj[z].pageItems.length-1; i>=0; i--)             {            theObj[z].pageItems[i].moveAfter(theObj[z].pageItems[i].parent);
 }
}
}
}
}
}
}
}                                      function AAA_check1()    {          for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)
{    var count=0;    for(var group1=0;group1<sourceDoc.layers[lays1].groupItems.length;group1++)    {                if(sourceDoc.layers[lays1].groupItems[group1].name=="AAA")        {    count =group1;            break;            }      }  for(var group2=sourceDoc.layers[lays1].groupItems.length-1;group2>=0;group2--)    {                if(sourceDoc.layers[lays1].groupItems[group2].name=="AAA")        {                      if(count==group2)            {            }        else        {            sourceDoc.layers[lays1].groupItems[group2].moveToBeginning(sourceDoc.layers[lays1].groupItems[count])                        }        }    }}
}




 function ungroup_units1()
{
     for(var layer_item_index=0;layer_item_index<sourceDoc.layers.length;layer_item_index++)    {        if(sourceDoc.layers[layer_item_index].pageItems.length>0)        {            layer_grp_item=sourceDoc.layers[layer_item_index].groupItems;       for(var k=0;k<layer_grp_item.length;k++)       {
 if( layer_grp_item[k].name=="AAA")
 {     theObj =layer_grp_item[k].pageItems;                for(var z=0;z< theObj.length;z++)        {                      if (theObj[z].typename == "GroupItem") {             for (i=theObj[z].pageItems.length-1; i>=0; i--)             {            theObj[z].pageItems[i].moveAfter( theObj[z].pageItems[i].parent);     }
}
}
}
}
}
}
}                  
 function check_dot_repeat()
{    for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)
{    for(var group1=0;group1<sourceDoc.layers[lays1].groupItems.length;group1++)    {        var arr=[];        arr.length=0;        if(sourceDoc.layers[lays1].groupItems[group1].name!="AAA")        {            for(var group2=0;group2<sourceDoc.layers[lays1].groupItems[group1].pathItems.length;group2++)            {                if(sourceDoc.layers[lays1].groupItems[group1].pathItems[group2].name.slice(0,3)=="pin")                {                    arr.push(sourceDoc.layers[lays1].groupItems[group1].pathItems[group2].name);                    }                }              if(arr.length>1)            {                var sorted_arr = arr.slice().sort();                                     
var results = [];
results.length=0;
for (var i = 0; i < arr.length - 1; i++) {    if (sorted_arr[i + 1] == sorted_arr[i]) {        results.push(sorted_arr[i]);    }
}




if( results.length>=1)
{    for(var k=0;k<results.length;k++)    {        for(var group3=0;group3<sourceDoc.layers[lays1].groupItems[group1].pathItems.length;group3++)        {             if(sourceDoc.layers[lays1].groupItems[group1].pathItems[group3].name==  results[k])             {                 sourceDoc.layers[lays1].groupItems[group1].pathItems[group3].remove();                 break;                 }             }         }     }
 }
}
}
}
}


 function check_connector()
  {      for(var lays=0;lays<sourceDoc.layers.length;lays++)
{          var arr=[];
var arr1=[];    for(var group1=0;group1<sourceDoc.layers[lays].groupItems.length;group1++)    {             arr.length=0;
arr1.length=0;        for(var group2=0;group2<sourceDoc.layers[lays].groupItems[group1].groupItems.length;group2++)        {            for(var text1=0;text1<sourceDoc.layers[lays].groupItems[group1].groupItems[group2].textFrames.length;text1++)            {                if(!sourceDoc.layers[lays].groupItems[group1].groupItems[group2].textFrames[text1].contents.match(/[A-Z][0-9]{1,3}$/)) continue;                 {                    arr.push(sourceDoc.layers[lays].groupItems[group1].groupItems[group2].textFrames[text1])                    }                }            }        if(arr.length>1)        {                   for(var sd=0;sd<arr.length;sd++)        {                           for(csv_iter = 0;csv_iter < fileArray_SM_name.length; csv_iter++)            {              if(arr[sd].contents== fileArray_SM_name[csv_iter][0])                {                                        arr1.push( fileArray_SM_name[csv_iter][1])                    break ;                    }                                }            }                    for(var sd1=0;sd1<arr1.length;sd1++)    {               if(arr1[0]==arr1[sd1])        {                       }        else        {            var count_error=0;            group_main=sourceDoc.layers[lays].groupItems[group1];                  for(var error=0;error<sourceDoc.layers[lays].groupItems[group1].groupItems.length;error++)                          {                              if(group_main.groupItems[error].name==group_main.name+ "Error:")                              {                                   var max_area_path=find_rectangle_path_with_large_area(group_main);  var x_axis=Math.abs(max_area_path.pathPoints[0].anchor[0]);                  var y_axis=Math.abs(max_area_path.pathPoints[0].anchor[1]);                  var textRef =group_main.groupItems[error].textFrames.add(); 
textRef.contents =arr[sd1].contents+" Different unit present inside the group" ;
textRef.top =y_axis ; 
textRef.left = x_axis+20 ; 
textRef.textRange.characterAttributes.size = 10; 
count_error++;
}
}








if(count_error==1)
{
    }
else
{                                    var newGroup  =group_main.groupItems.add();                             newGroup.name = group_main.name+ "Error:";                               var max_area_path=find_rectangle_path_with_large_area(group_main);  var x_axis=Math.abs(max_area_path.pathPoints[0].anchor[0]);                  var y_axis=Math.abs(max_area_path.pathPoints[0].anchor[1]);                  var textRef = newGroup.textFrames.add(); 
textRef.contents =arr[sd1].contents+" Different unit present inside the group" ;
textRef.top =y_axis ; 
textRef.left = x_axis+20 ; 
textRef.textRange.characterAttributes.size = 10; 
newGroup.moveToEnd(group_main);
}    }            }        }    }    arr.length=0;
arr1.length=0;
}
}                                       


function check_fuse_ungroup()
{
    var layer_item=sourceDoc.layers     for(var layer_item_index=0;layer_item_index<layer_item.length;layer_item_index++)    {        if(layer_item[layer_item_index].pageItems.length>0)        {            layer_grp_item=layer_item[layer_item_index].groupItems;           for(var grp_main_index=0;grp_main_index<layer_grp_item.length;grp_main_index++)    {        
child_path_item_main=layer_grp_item[grp_main_index].pathItems;  child_group_item=layer_grp_item[grp_main_index].groupItems;
 mainloopfuse:    for(var grp_main_index1=0;grp_main_index1< child_group_item.length;grp_main_index1++)  {      child_path_item_main1=child_group_item[grp_main_index1].pathItems;      for(var path_1=0;path_1<child_path_item_main1.length;path_1++)      {           var  path_type = type_of_path(child_path_item_main1[path_1]);           if(path_type=="Rectangle Type 3")               {                            theObj=layer_grp_item[grp_main_index].pageItems;                                for(var z=theObj.length-1;z>=0 ;z--)        {                      if (theObj[z].typename == "GroupItem") {             for (i=theObj[z].pageItems.length-1; i>=0; i--)             {            theObj[z].pageItems[i].moveAfter(theObj[z].pageItems[i].parent);
 }
}                }    break mainloopfuse;    }
}
}
}
}
}
}                        function line_check1_unit_CAN()    {          for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)
{    var count=0;    for(var group1=0;group1<sourceDoc.layers[lays1].groupItems.length;group1++)    {        mainloop12:                if(sourceDoc.layers[lays1].groupItems[group1].name!="AAA")        {            for(var group2=0;group2<sourceDoc.layers[lays1].groupItems[group1].groupItems.length;group2++)            {                for(var path=0;path<sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].pathItems.length;path++)                {                    var path_type = type_of_path(sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].pathItems[path]);                    if(path_type=="Line Type 1" || path_type=="Line Type 2" || path_type=="Line Type 3"  )                    {                        for(var group3=0;group3<sourceDoc.layers[lays1].groupItems[group1].groupItems.length;group3++)            {                        for(var text=0;text<sourceDoc.layers[lays1].groupItems[group1].groupItems[group3].textFrames.length;text++)                        {                            if(!sourceDoc.layers[lays1].groupItems[group1].groupItems[group3].textFrames[text].contents.match(/[A-Z][0-9]{1,3}$/)) continue;                             {                                var count_error=0;            group_main=sourceDoc.layers[lays1].groupItems[group1];                  for(var error=0;error<sourceDoc.layers[lays1].groupItems[group1].groupItems.length;error++)                          {                              if(group_main.groupItems[error].name==group_main.name+ "Error:")                              {                                   var max_area_path=find_rectangle_path_with_large_area(group_main);  var x_axis=Math.abs(max_area_path.pathPoints[0].anchor[0]);                  var y_axis=Math.abs(max_area_path.pathPoints[0].anchor[1]);                  var textRef =group_main.groupItems[error].textFrames.add(); 
textRef.contents ="Unwanted line present inside the group" ;
textRef.top =y_axis ; 
textRef.left = x_axis+20 ; 
textRef.textRange.characterAttributes.size = 10; 
count_error++;
}
}








if(count_error==1)
{
    }
else
{                                    var newGroup  =group_main.groupItems.add();                             newGroup.name = group_main.name+ "Error:";                               var max_area_path=find_rectangle_path_with_large_area(group_main);  var x_axis=Math.abs(max_area_path.pathPoints[0].anchor[0]);                  var y_axis=Math.abs(max_area_path.pathPoints[0].anchor[1]);                  var textRef = newGroup.textFrames.add(); 
textRef.contents ="Unwanted line present inside the group" ;
textRef.top =y_axis ; 
textRef.left = x_axis+20 ; 
textRef.textRange.characterAttributes.size = 10; 
newGroup.moveToEnd(group_main);
}
}
break mainloop12;
}
}
}
}
}
}
}
}
}                                    
 function line_check1_unit_2_CAN()    {          for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)
{        for(var group1=0;group1<sourceDoc.layers[lays1].groupItems.length;group1++)    {        var count_group_found=0;                if(sourceDoc.layers[lays1].groupItems[group1].name!="AAA")        {          mainloop12:           for(var group2=0;group2<sourceDoc.layers[lays1].groupItems[group1].groupItems.length;group2++)           {               if(sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].name.slice(0,15)=="connectornumber")               {                   count_group_found=1;                   break  mainloop12;                   }               }           if(  count_group_found==1)           {                               for(var path=0;path<sourceDoc.layers[lays1].groupItems[group1].pathItems.length;path++)                {                    var path_type = type_of_path(sourceDoc.layers[lays1].groupItems[group1].pathItems[path]);                    if(path_type=="Line Type 1" || path_type=="Line Type 2" || path_type=="Line Type 3" )                    {                        var count_error=0;            group_main=sourceDoc.layers[lays1].groupItems[group1];                  for(var error=0;error<sourceDoc.layers[lays1].groupItems[group1].groupItems.length;error++)                          {                              if(group_main.groupItems[error].name==group_main.name+ "Error:")                              {                                   var max_area_path=find_rectangle_path_with_large_area(group_main);  var x_axis=Math.abs(max_area_path.pathPoints[0].anchor[0]);                  var y_axis=Math.abs(max_area_path.pathPoints[0].anchor[1]);                  var textRef =group_main.groupItems[error].textFrames.add(); 
textRef.contents ="Unwanted line present inside the group" ;
textRef.top =y_axis ; 
textRef.left = x_axis+20 ; 
textRef.textRange.characterAttributes.size = 10; 
count_error++;
}
}








if(count_error==1)
{
    }
else
{                                    var newGroup  =group_main.groupItems.add();                             newGroup.name = group_main.name+ "Error:";                               var max_area_path=find_rectangle_path_with_large_area(group_main);  var x_axis=Math.abs(max_area_path.pathPoints[0].anchor[0]);                  var y_axis=Math.abs(max_area_path.pathPoints[0].anchor[1]);                  var textRef = newGroup.textFrames.add(); 
textRef.contents ="Unwanted line present inside the group" ;
textRef.top =y_axis ; 
textRef.left = x_axis+20 ; 
textRef.textRange.characterAttributes.size = 10; 
newGroup.moveToEnd(group_main);
}
}


}
}
}
}
}
}


function reduce_opacity()
{
    for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)    {        for(var group1=0;group1<sourceDoc.layers[lays1].groupItems.length;group1++)        {            for(var path1=sourceDoc.layers[lays1].groupItems[group1].pathItems.length-1;path1>=0;path1--)            {                var path_type = type_of_path(sourceDoc.layers[lays1].groupItems[group1].pathItems[path1]);                if(path_type=="Anchor point" && (sourceDoc.layers[lays1].groupItems[group1].pathItems[path1].name.slice(0,3)=="pin"                 || sourceDoc.layers[lays1].groupItems[group1].pathItems[path1].name.slice(0,4)=="FUSE" || sourceDoc.layers[lays1].groupItems[group1].pathItems[path1].name.slice(0,2)=="FL"))                {                    sourceDoc.layers[lays1].groupItems[group1].pathItems[path1].opacity=0;                    }                else if(path_type=="Anchor point" && sourceDoc.layers[lays1].groupItems[group1].pathItems[path1].name=="")                {                     sourceDoc.layers[lays1].groupItems[group1].pathItems[path1].remove()                    }                }                for(var group2=0;group2<sourceDoc.layers[lays1].groupItems[group1].groupItems.length;group2++)                {                     for(var path2=sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].pathItems.length-1;path2>=0;path2--)            {                var path_type = type_of_path(sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].pathItems[path2]);                if(path_type=="Anchor point" && (sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].pathItems[path2].name.slice(0,3)=="pin"               || sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].pathItems[path2].name.slice(0,4)=="FUSE" || sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].pathItems[path2].name.slice(0,2)=="FL" ))                {                    sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].pathItems[path2].opacity=0;                    }                else if(path_type=="Anchor point" && sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].pathItems[path2].name=="")                {                     sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].pathItems[path2].remove()                    }                }            }        }    }
}




function reduce_opacity_1()
{
    for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)    {        for(var path1=0;path1<sourceDoc.layers[lays1].pathItems.length;path1++)        {            var pathtype=type_of_path(sourceDoc.layers[lays1].pathItems[path1]);            if(pathtype=="Anchor point")            {               sourceDoc.layers[lays1].pathItems[path1].opacity=0;               }           }       }   }


function circleFront()
{
    for(var group=0;group<sourceDoc.groupItems.length;group++)
{    for(var path1=0;path1<sourceDoc.groupItems[group].pathItems.length;path1++)    {        var  path_type = type_of_path(sourceDoc.groupItems[group].pathItems[path1]);        if(path_type=="Circle Type 1" || path_type=="Circle Type 2" || path_type=="Circle Type 3" || path_type=="Circle Type 4" || path_type=="Circle Type 5"          || path_type=="Circle Type 6")          {                    sourceDoc.groupItems[group].pathItems[path1].moveToBeginning(sourceDoc.groupItems[group].pathItems[path1].parent);      }  }
}
}


function group_Circle_name_CAN()
{
    var count_group =1;     for(var path=0;path<sourceDoc.pathItems.length;path++)    {           var  path_type = type_of_path(sourceDoc.pathItems[path]);           if(path_type=="Circle Type 1" || path_type=="Circle Type 2" || path_type=="Circle Type 3" || path_type=="Circle Type 4"  || path_type=="Circle Type 5"            || path_type=="Circle Type 6")           {               if((sourceDoc.pathItems[path].parent.name!="AAA" || sourceDoc.pathItems[path].parent.parent.name!="AAA")&& (sourceDoc.pathItems[path].parent.name=="") && (sourceDoc.pathItems[path].parent.name!="Shield") &&  (sourceDoc.pathItems[path].parent.name.slice(0,1)!="L"))               {                     if(sourceDoc.pathItems[path].parent.pathItems.length>=3)                     {                         sourceDoc.pathItems[path].parent.name="CircleGroup"+count_group;                         count_group++                         }                     else if(sourceDoc.pathItems[path].parent.pathItems.length<3)                     {                         for(var path1=0;path1<sourceDoc.pathItems[path].parent.pathItems.length;path1++)                         {                             sourceDoc.pathItems[path].parent.pathItems[path1].strokeColor=magentaColor1;                                                            sourceDoc.pathItems[path].parent.pathItems[path1].strokeWidth=3;                             }                         }                     else                     {                         }}                     else if(sourceDoc.pathItems[path].parent.name=="Shield")                     {                           if(sourceDoc.pathItems[path].parent.pathItems.length>=3)                     {                         sourceDoc.pathItems[path].parent.name="Shield"+count_group;                         count_group++                         }                     else if(sourceDoc.pathItems[path].parent.pathItems.length<3)                     {                         for(var path1=0;path1<sourceDoc.pathItems[path].parent.pathItems.length;path1++)                         {                             sourceDoc.pathItems[path].parent.pathItems[path1].strokeColor=magentaColor1;                                                                sourceDoc.pathItems[path].parent.pathItems[path1].strokeWidth=3;                             }                         }                     }                 else {                     }                 }             }         }          function group_name_normal()
{    var count_group =1     for(var path=0;path<sourceDoc.pathItems.length;path++)    {           var  path_type = type_of_path(sourceDoc.pathItems[path]);           if(path_type=="Circle Type 1" || path_type=="Circle Type 2" || path_type=="Circle Type 3" || path_type=="Circle Type 4"  || path_type=="Circle Type 5"            || path_type=="Circle Type 6")           {               if((sourceDoc.pathItems[path].parent.name!="AAA" || sourceDoc.pathItems[path].parent.parent.name!="AAA")&& (sourceDoc.pathItems[path].parent.name=="") && (sourceDoc.pathItems[path].parent.name!="Shield") )               {                     if(sourceDoc.pathItems[path].parent.pathItems.length>=3)                     {                         sourceDoc.pathItems[path].parent.name="CircleGroup"+count_group;                         count_group++                         }                     else if(sourceDoc.pathItems[path].parent.pathItems.length<3)                     {                         for(var path1=0;path1<sourceDoc.pathItems[path].parent.pathItems.length;path1++)                         {                             sourceDoc.pathItems[path].parent.pathItems[path1].strokeColor=magentaColor1;                                                             sourceDoc.pathItems[path].parent.pathItems[path1].strokeWidth=3;                             }                         }                     else                     {                         }}                     else if(sourceDoc.pathItems[path].parent.name=="Shield")                     {                           if(sourceDoc.pathItems[path].parent.pathItems.length>=3)                     {                         sourceDoc.pathItems[path].parent.name="Shield"+count_group;                         count_group++                         }                     else if(sourceDoc.pathItems[path].parent.pathItems.length<3)                     {                         for(var path1=0;path1<sourceDoc.pathItems[path].parent.pathItems.length;path1++)                         {                             sourceDoc.pathItems[path].parent.pathItems[path1].strokeColor=magentaColor1;                                                            sourceDoc.pathItems[path].parent.pathItems[path1].strokeWidth=3;                             }                         }                     }                 else {                     }                 }             }         }  function checking_circleGroup_CAN()
{    for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)    {      for(var path=0;path<sourceDoc.layers[lays1].groupItems.length;path++)    {        if(sourceDoc.layers[lays1].groupItems[path].name.slice(0,11)=="CircleGroup" || sourceDoc.layers[lays1].groupItems[path].name.slice(0,6)=="Shield" || sourceDoc.layers[lays1].groupItems[path].name.slice(0,3)=="AAA" || sourceDoc.layers[lays1].groupItems[path].name.slice(0,1)=="L"  )        {        for(var path_group=0;path_group<sourceDoc.layers[lays1].groupItems[path].pathItems.length;path_group++)        {           var  path_type = type_of_path(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group]);          {           if(path_type=="Circle Type 2" || path_type=="Circle Type 5")           {               var x_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[0]));               var y_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[1]));              var x_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[0]));               var y_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[1]));               var x_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[0]));               var y_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[1]));               var x_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[0]));               var y_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[1]));                              if(x_pathtype< x_pathtype2)               {                x_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[0]))  ;               y_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[1]));                x_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[0]));               y_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[1]));               }                      if(y_pathtype1<y_pathtype3)           {               y_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[1]));               x_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[0]));               y_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[1]));                x_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[0]));           }              if(x_pathtype== x_pathtype2)       {           var x_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[0]));           var y_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[1]));            var x_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[0]));               var y_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[1]));                var x_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[0]));               var y_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[1]));                 var x_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[0]));               var y_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[1]));               if(y_pathtype1<y_pathtype3)               {                   var y_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[1]));                   var y_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[1]));                   }                 if(x_pathtype< x_pathtype2)                 {                      var x_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[0]));                        var x_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[0]));                                 }          }                            for(var lays2=0;lays2<sourceDoc.layers[lays2].layers.length;lays2++)              {               for(var path1=0;path1<sourceDoc.layers[lays2].layers[lays2].groupItems.length;path1++)               {                                for(var path_group1=0;path_group1<sourceDoc.layers[lays2].layers[lays2].groupItems[path1].pathItems.length;path_group1++)        {                      var  path_type1 = type_of_path(sourceDoc.layers[lays2].layers[lays2].groupItems[path1].pathItems[path_group1]);                    if(path_type1=="Line Type 2" || path_type1== "Rectangle Type 5")                    {                        for(var path_points=0;path_points<(sourceDoc.layers[lays2].layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints.length-1);path_points++)                        {                            var x_pathline=Math.abs(Math.round(sourceDoc.layers[lays2].layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points].anchor[0]));                            var y_pathline=Math.abs(Math.round(sourceDoc.layers[lays2].layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points].anchor[1]));                                                                                                    if((x_pathline> x_pathtype2) &&    (x_pathline<x_pathtype) && (y_pathline> y_pathtype3) &&    (y_pathline<y_pathtype1) )                           {                                 if(sourceDoc.layers[lays2].layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                  sourceDoc.layers[lays2].layers[lays2].groupItems[path1].pathItems[path_group1].name="Blue Color Line"                                  sourceDoc.layers[lays2].layers[lays2].groupItems[path].pathItems[path_group].name="Blue Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                              sourceDoc.layers[lays2].layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                                                              }}                            else if((x_pathline> x_pathtype2) &&    (x_pathline<x_pathtype) )                            {                                if(y_pathline< y_pathtype3)                                {                                    var x_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[0]));                            var y_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[1]));                                                       if((x_pathline1>x_pathtype2) && (x_pathline1<x_pathtype))                            {                                if((y_pathline1>  y_pathtype3)&&(y_pathline1>  y_pathtype1))                                {                                      if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                  sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Blue Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Blue Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                           sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                                                           }}                                 else if((y_pathline1> y_pathtype3) &&(y_pathline1< y_pathtype1))                                 {                                                                          if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Blue Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Blue Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                             sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                       }                                 }                             }                         }                     else if(y_pathline> y_pathtype3)                     {                        var x_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[0]));                            var y_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[1]));                            if((x_pathline1>x_pathtype2) && (x_pathline1<x_pathtype))                            {                            if((y_pathline1>  y_pathtype3)&&(y_pathline1<y_pathtype1))                                {                                  if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Blue Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Blue Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                        sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                                                           }}                                 else if((y_pathline1<y_pathtype3) &&(y_pathline1<  y_pathtype1))                                 {                                                                          if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Blue Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Blue Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                            sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                                                           }                                 }                             }                         }                            }                                         else if((y_pathline> y_pathtype3) &&    (y_pathline<y_pathtype1) )                         {                                if(x_pathline< x_pathtype2)                                {                                    var x_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[0]));                            var y_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[1]));                                                    if((y_pathline1>y_pathtype3) && (y_pathline1<y_pathtype1))                            {                                                         if((x_pathline1>  x_pathtype2)&&(x_pathline1>  x_pathtype))                                {                                      if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Blue Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Blue Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                      sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                                                          }}                                 else if((x_pathline1> x_pathtype2) &&(x_pathline1< x_pathtype))                                 {                                                                          if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Blue Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Blue Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                             sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokewidth =3;                                      }                                 }                             }                         }                       else if(x_pathline> x_pathtype2)                     {                        var x_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[0]));                            var y_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[1]));                          if((y_pathline1>y_pathtype3) && (y_pathline1<y_pathtype1))                            {                                if((x_pathline1<  x_pathtype2)&&(x_pathline1<  x_pathtype))                                {                                      if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Blue Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Blue Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                            sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                     }}                                 else if((x_pathline1> x_pathtype2) &&(x_pathline1< x_pathtype))                                 {                                                                          if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Blue Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Blue Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                         sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                                                            }                                 }                             }                         }                     }                                            }                         }                     }                 }                         }        }         else if(path_type=="Circle Type 1" || path_type=="Circle Type 4")           {                 var x_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[0]));               var y_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[1]));              var x_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[0]));               var y_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[1]));               var x_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[0]));               var y_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[1]));               var x_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[0]));               var y_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[1]));                              if(x_pathtype< x_pathtype2)               {                x_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[0]))  ;               y_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[1]));                x_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[0]));               y_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[1]));               }                      if(y_pathtype1<y_pathtype3)           {               y_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[1]));               x_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[0]));               y_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[1]));                x_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[0]));           }              if(x_pathtype== x_pathtype2)       {           var x_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[0]));           var y_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[1]));            var x_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[0]));               var y_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[1]));                var x_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[0]));               var y_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[1]));                 var x_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[0]));               var y_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[1]));               if(y_pathtype1<y_pathtype3)               {                   var y_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[1]));                   var y_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[1]));                   }                 if(x_pathtype< x_pathtype2)                 {                      var x_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[0]));                        var x_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[0]));                                 }          }                                                for(var lays2=0;lays2<sourceDoc.layers.length;lays2++)              {               for(var path1=0;path1<sourceDoc.layers[lays2].groupItems.length;path1++)               {                                for(var path_group1=0;path_group1<sourceDoc.layers[lays2].groupItems[path1].pathItems.length;path_group1++)        {                      var  path_type1 = type_of_path(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1]);                    if(path_type1=="Line Type 1" || path_type1== "Rectangle Type 11" || path_type1== "Line Type 10" || path_type1== "Line Type 4")                    {                        found_line:                        for(var path_points=0;path_points<(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints.length-1);path_points++)                        {                            var x_pathline=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points].anchor[0]));                            var y_pathline=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points].anchor[1]));                            var x_pathlast=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints.length-1].anchor[0]));                             var y_pathlast=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints.length-1].anchor[1]));                                                       if((x_pathline> x_pathtype2) &&    (x_pathline<x_pathtype) && (y_pathline> y_pathtype3) &&    (y_pathline<y_pathtype1) )                           {                                 if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                  sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Black Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Black Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                                sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                       }}                             else if((x_pathlast> x_pathtype2) &&    (x_pathlast<x_pathtype) && (y_pathlast> y_pathtype3) &&    (y_pathlast<y_pathtype1) )                             {                                  if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                  sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Black Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Black Color Circle"                                  break found_line;                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                                sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                       }}                            else if((x_pathline> x_pathtype2) &&    (x_pathline<x_pathtype) )                            {                                if(y_pathline< y_pathtype3)                                {                                    var x_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[0]));                            var y_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[1]));                                                       if((x_pathline1>x_pathtype2) && (x_pathline1<x_pathtype))                            {                                if((y_pathline1>  y_pathtype3)&&(y_pathline1>  y_pathtype1))                                {                                      if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Black Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Black Color Circle"                                                                    }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                         sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                      }}                                 else if((y_pathline1> y_pathtype3) &&(y_pathline1< y_pathtype1))                                 {                                                                          if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Black Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Black Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                            sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                     }                                 }                             }                         }                     else if(y_pathline> y_pathtype3)                     {                        var x_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[0]));                            var y_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[1]));                            if((x_pathline1>x_pathtype2) && (x_pathline1<x_pathtype))                            {                            if((y_pathline1>  y_pathtype3)&&(y_pathline1<y_pathtype1))                                {                                  if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Black Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Black Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                         sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                     }}                                 else if((y_pathline1< y_pathtype3) &&(y_pathline1<  y_pathtype1))                                 {                                                                          if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Black Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Black Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                           sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                       }                                 }                             }                         }                            }                      else if((y_pathline> y_pathtype3) &&    (y_pathline<y_pathtype1) )                         {                                if(x_pathline< x_pathtype2)                                {                                    var x_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[0]));                            var y_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[1]));                          if((y_pathline1>y_pathtype3) && (y_pathline1<y_pathtype1))                            {                                if((x_pathline1>  x_pathtype2)&&(x_pathline1>  x_pathtype))                                {                                      if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Black Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Black Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                            sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                     }}                                 else if((x_pathline1> x_pathtype2) &&(x_pathline1< x_pathtype))                                 {                                                                          if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="BlackColor Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Black Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                          sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                       }                                 }                             }                         }                       else if(x_pathline> x_pathtype2)                     {                        var x_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[0]));                            var y_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[1]));                          if((y_pathline1>y_pathtype3) && (y_pathline1<y_pathtype1))                            {                                if((x_pathline1<  x_pathtype2)&&(x_pathline1<  x_pathtype))                                {                                      if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Black Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Black Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                         sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                     }}                                 else if((x_pathline1> x_pathtype2) &&(x_pathline1< x_pathtype))                                 {                                                                          if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Black Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Black Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                        sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                                                           }                                 }                             }                         }                     }                                            }                         }                     }                 }                         }        }                else if(path_type=="Circle Type 3" || path_type=="Circle Type 6")           {                 var x_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[0]));               var y_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[1]));              var x_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[0]));               var y_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[1]));               var x_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[0]));               var y_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[1]));               var x_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[0]));               var y_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[1]));                              if(x_pathtype< x_pathtype2)               {                x_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[0]))  ;               y_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[1]));                x_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[0]));               y_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[1]));               }                      if(y_pathtype1<y_pathtype3)           {               y_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[1]));               x_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[0]));               y_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[1]));                x_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[0]));           }              if(x_pathtype== x_pathtype2)       {           var x_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[0]));           var y_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[1]));            var x_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[0]));               var y_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[1]));                var x_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[0]));               var y_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[1]));                 var x_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[0]));               var y_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[1]));               if(y_pathtype1<y_pathtype3)               {                   var y_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[1]));                   var y_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[1]));                   }                 if(x_pathtype< x_pathtype2)                 {                      var x_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[0]));                        var x_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[0]));                                 }          }                               for(var lays2=0;lays2<sourceDoc.layers.length;lays2++)              {                             for(var path1=0;path1<sourceDoc.layers[lays2].groupItems.length;path1++)               {                                for(var path_group1=0;path_group1<sourceDoc.layers[lays2].groupItems[path1].pathItems.length;path_group1++)        {                      var  path_type1 = type_of_path(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1]);                    if(path_type1=="Line Type 3" || path_type1== "Rectangle Type 5")                    {                        for(var path_points=0;path_points<(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints.length-1);path_points++)                        {                            var x_pathline=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points].anchor[0]));                            var y_pathline=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points].anchor[1]));                                                                                  if((x_pathline> x_pathtype2) &&    (x_pathline<x_pathtype) && (y_pathline> y_pathtype3) &&    (y_pathline<y_pathtype1) )                           {                                 if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                  sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Red Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Red Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                              sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                       }}                            else if((x_pathline> x_pathtype2) &&    (x_pathline<x_pathtype) )                            {                                if(y_pathline< y_pathtype3)                                {                                    var x_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[0]));                            var y_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[1]));                                                       if((x_pathline1>x_pathtype2) && (x_pathline1<x_pathtype))                            {                                if((y_pathline1>  y_pathtype3)&&(y_pathline1>  y_pathtype1))                                {                                      if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                  sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Red Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Red Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                              sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                       }}                                 else if((y_pathline1> y_pathtype3) &&(y_pathline1< y_pathtype1))                                 {                                                                          if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Red Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Red Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                      sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                                                          }                                 }                             }                         }                     else if(y_pathline> y_pathtype3)                     {                        var x_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[0]));                            var y_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[1]));                            if((x_pathline1>x_pathtype2) && (x_pathline1<x_pathtype))                            {                            if((y_pathline1>  y_pathtype3)&&(y_pathline1<y_pathtype1))                                {                                  if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Red Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Red Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                            sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                       }}                                 else if((y_pathline1< y_pathtype3) &&(y_pathline1<  y_pathtype1))                                 {                                                                          if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Red Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Red Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                              sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                       }                                 }                             }                         }                            }                                         else if((y_pathline> y_pathtype3) &&    (y_pathline<y_pathtype1) )                         {                                if(x_pathline< x_pathtype2)                                {                                    var x_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[0]));                            var y_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[1]));                                                    if((y_pathline1>y_pathtype3) && (y_pathline1<y_pathtype1))                            {                                                         if((x_pathline1>  x_pathtype2)&&(x_pathline1>  x_pathtype))                                {                                      if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Red Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Red Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                       sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                      }}                                 else if((x_pathline1> x_pathtype2) &&(x_pathline1< x_pathtype))                                 {                                                                          if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Red Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Red Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                         sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                     }                                 }                             }                         }                       else if(x_pathline> x_pathtype2)                     {                        var x_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[0]));                            var y_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[1]));                          if((y_pathline1>y_pathtype3) && (y_pathline1<y_pathtype1))                            {                                if((x_pathline1<  x_pathtype2)&&(x_pathline1<  x_pathtype))                                {                                      if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Red Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Red Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                            sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                     }}                                 else if((x_pathline1> x_pathtype2) &&(x_pathline1< x_pathtype))                                 {                                                                          if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Red Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Red Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                          sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                     }                                 }                                 }                             }                         }                     }                                            }                         }                     }                 }                         }         }     }
 }    }
}   
}     function checking_circleGroup_normal()
{    for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)    {      for(var path=0;path<sourceDoc.layers[lays1].groupItems.length;path++)    {        if(sourceDoc.layers[lays1].groupItems[path].name.slice(0,11)=="CircleGroup" || sourceDoc.layers[lays1].groupItems[path].name.slice(0,6)=="Shield" || sourceDoc.layers[lays1].groupItems[path].name.slice(0,3)=="AAA" || sourceDoc.layers[lays1].groupItems[path].name.slice(0,1)=="L"  )        {        for(var path_group=0;path_group<sourceDoc.layers[lays1].groupItems[path].pathItems.length;path_group++)        {           var  path_type = type_of_path(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group]);          {           if(path_type=="Circle Type 2" || path_type=="Circle Type 5")           {               var x_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[0]));               var y_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[1]));              var x_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[0]));               var y_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[1]));               var x_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[0]));               var y_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[1]));               var x_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[0]));               var y_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[1]));                              if(x_pathtype< x_pathtype2)               {                x_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[0]))  ;               y_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[1]));                x_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[0]));               y_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[1]));               }                      if(y_pathtype1<y_pathtype3)           {               y_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[1]));               x_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[0]));               y_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[1]));                x_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[0]));           }              if(x_pathtype== x_pathtype2)       {           var x_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[0]));           var y_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[1]));            var x_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[0]));               var y_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[1]));                var x_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[0]));               var y_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[1]));                 var x_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[0]));               var y_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[1]));               if(y_pathtype1<y_pathtype3)               {                   var y_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[1]));                   var y_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[1]));                   }                 if(x_pathtype< x_pathtype2)                 {                      var x_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[0]));                        var x_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[0]));                                 }          }                            for(var lays2=0;lays2<sourceDoc.layers[lays2].layers.length;lays2++)              {               for(var path1=0;path1<sourceDoc.layers[lays2].layers[lays2].groupItems.length;path1++)               {                                for(var path_group1=0;path_group1<sourceDoc.layers[lays2].layers[lays2].groupItems[path1].pathItems.length;path_group1++)        {                      var  path_type1 = type_of_path(sourceDoc.layers[lays2].layers[lays2].groupItems[path1].pathItems[path_group1]);                    if(path_type1=="Line Type 2" || path_type1== "Rectangle Type 5")                    {                        for(var path_points=0;path_points<(sourceDoc.layers[lays2].layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints.length-1);path_points++)                        {                            var x_pathline=Math.abs(Math.round(sourceDoc.layers[lays2].layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points].anchor[0]));                            var y_pathline=Math.abs(Math.round(sourceDoc.layers[lays2].layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points].anchor[1]));                                                                                                    if((x_pathline> x_pathtype2) &&    (x_pathline<x_pathtype) && (y_pathline> y_pathtype3) &&    (y_pathline<y_pathtype1) )                           {                                 if(sourceDoc.layers[lays2].layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                  sourceDoc.layers[lays2].layers[lays2].groupItems[path1].pathItems[path_group1].name="Blue Color Line"                                  sourceDoc.layers[lays2].layers[lays2].groupItems[path].pathItems[path_group].name="Blue Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                              sourceDoc.layers[lays2].layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                                                              }}                            else if((x_pathline> x_pathtype2) &&    (x_pathline<x_pathtype) )                            {                                if(y_pathline< y_pathtype3)                                {                                    var x_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[0]));                            var y_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[1]));                                                       if((x_pathline1>x_pathtype2) && (x_pathline1<x_pathtype))                            {                                if((y_pathline1>  y_pathtype3)&&(y_pathline1>  y_pathtype1))                                {                                      if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                  sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Blue Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Blue Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                           sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                                                           }}                                 else if((y_pathline1> y_pathtype3) &&(y_pathline1< y_pathtype1))                                 {                                                                          if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Blue Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Blue Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                             sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                       }                                 }                             }                         }                     else if(y_pathline> y_pathtype3)                     {                        var x_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[0]));                            var y_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[1]));                            if((x_pathline1>x_pathtype2) && (x_pathline1<x_pathtype))                            {                            if((y_pathline1>  y_pathtype3)&&(y_pathline1<y_pathtype1))                                {                                  if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Blue Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Blue Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                        sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                                                           }}                                 else if((y_pathline1<y_pathtype3) &&(y_pathline1<  y_pathtype1))                                 {                                                                          if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Blue Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Blue Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                            sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                                                           }                                 }                             }                         }                            }                                         else if((y_pathline> y_pathtype3) &&    (y_pathline<y_pathtype1) )                         {                                if(x_pathline< x_pathtype2)                                {                                    var x_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[0]));                            var y_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[1]));                                                    if((y_pathline1>y_pathtype3) && (y_pathline1<y_pathtype1))                            {                                                         if((x_pathline1>  x_pathtype2)&&(x_pathline1>  x_pathtype))                                {                                      if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Blue Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Blue Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                      sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                                                          }}                                 else if((x_pathline1> x_pathtype2) &&(x_pathline1< x_pathtype))                                 {                                                                          if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Blue Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Blue Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                             sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokewidth =3;                                      }                                 }                             }                         }                       else if(x_pathline> x_pathtype2)                     {                        var x_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[0]));                            var y_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[1]));                          if((y_pathline1>y_pathtype3) && (y_pathline1<y_pathtype1))                            {                                if((x_pathline1<  x_pathtype2)&&(x_pathline1<  x_pathtype))                                {                                      if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Blue Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Blue Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                            sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                     }}                                 else if((x_pathline1> x_pathtype2) &&(x_pathline1< x_pathtype))                                 {                                                                          if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Blue Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Blue Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                         sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                                                            }                                 }                             }                         }                     }                                            }                         }                     }                 }                         }        }         else if(path_type=="Circle Type 1" || path_type=="Circle Type 4")           {                 var x_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[0]));               var y_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[1]));              var x_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[0]));               var y_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[1]));               var x_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[0]));               var y_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[1]));               var x_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[0]));               var y_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[1]));                              if(x_pathtype< x_pathtype2)               {                x_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[0]))  ;               y_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[1]));                x_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[0]));               y_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[1]));               }                      if(y_pathtype1<y_pathtype3)           {               y_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[1]));               x_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[0]));               y_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[1]));                x_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[0]));           }              if(x_pathtype== x_pathtype2)       {           var x_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[0]));           var y_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[1]));            var x_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[0]));               var y_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[1]));                var x_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[0]));               var y_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[1]));                 var x_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[0]));               var y_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[1]));               if(y_pathtype1<y_pathtype3)               {                   var y_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[1]));                   var y_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[1]));                   }                 if(x_pathtype< x_pathtype2)                 {                      var x_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[0]));                        var x_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[0]));                                 }          }                                                for(var lays2=0;lays2<sourceDoc.layers.length;lays2++)              {               for(var path1=0;path1<sourceDoc.layers[lays2].groupItems.length;path1++)               {                                for(var path_group1=0;path_group1<sourceDoc.layers[lays2].groupItems[path1].pathItems.length;path_group1++)        {                      var  path_type1 = type_of_path(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1]);                    if(path_type1=="Line Type 1" || path_type1== "Rectangle Type 11")                    {                        found_line:                        for(var path_points=0;path_points<(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints.length-1);path_points++)                        {                            var x_pathline=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points].anchor[0]));                            var y_pathline=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points].anchor[1]));                            var x_pathlast=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints.length-1].anchor[0]));                             var y_pathlast=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints.length-1].anchor[1]));                                                       if((x_pathline> x_pathtype2) &&    (x_pathline<x_pathtype) && (y_pathline> y_pathtype3) &&    (y_pathline<y_pathtype1) )                           {                                 if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                  sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Black Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Black Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                                sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                       }}                                                      else if((x_pathline> x_pathtype2) &&    (x_pathline<x_pathtype) )                            {                                if(y_pathline< y_pathtype3)                                {                                    var x_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[0]));                            var y_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[1]));                                                       if((x_pathline1>x_pathtype2) && (x_pathline1<x_pathtype))                            {                                if((y_pathline1>  y_pathtype3)&&(y_pathline1>  y_pathtype1))                                {                                      if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Black Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Black Color Circle"                                                                    }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                         sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                      }}                                 else if((y_pathline1> y_pathtype3) &&(y_pathline1< y_pathtype1))                                 {                                                                          if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Black Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Black Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                            sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                     }                                 }                             }                         }                     else if(y_pathline> y_pathtype3)                     {                        var x_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[0]));                            var y_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[1]));                            if((x_pathline1>x_pathtype2) && (x_pathline1<x_pathtype))                            {                            if((y_pathline1>  y_pathtype3)&&(y_pathline1<y_pathtype1))                                {                                  if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Black Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Black Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                         sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                     }}                                 else if((y_pathline1< y_pathtype3) &&(y_pathline1<  y_pathtype1))                                 {                                                                          if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Black Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Black Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                           sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                       }                                 }                             }                         }                            }                      else if((y_pathline> y_pathtype3) &&    (y_pathline<y_pathtype1) )                         {                                if(x_pathline< x_pathtype2)                                {                                    var x_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[0]));                            var y_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[1]));                          if((y_pathline1>y_pathtype3) && (y_pathline1<y_pathtype1))                            {                                if((x_pathline1>  x_pathtype2)&&(x_pathline1>  x_pathtype))                                {                                      if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Black Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Black Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                            sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                     }}                                 else if((x_pathline1> x_pathtype2) &&(x_pathline1< x_pathtype))                                 {                                                                          if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="BlackColor Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Black Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                          sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                       }                                 }                             }                         }                       else if(x_pathline> x_pathtype2)                     {                        var x_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[0]));                            var y_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[1]));                          if((y_pathline1>y_pathtype3) && (y_pathline1<y_pathtype1))                            {                                if((x_pathline1<  x_pathtype2)&&(x_pathline1<  x_pathtype))                                {                                      if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Black Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Black Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                         sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                     }}                                 else if((x_pathline1> x_pathtype2) &&(x_pathline1< x_pathtype))                                 {                                                                          if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Black Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Black Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                        sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                                                           }                                 }                             }                         }                     }                                            }                         }                     }                 }                         }        }                else if(path_type=="Circle Type 3" || path_type=="Circle Type 6")           {                 var x_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[0]));               var y_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[1]));              var x_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[0]));               var y_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[1]));               var x_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[0]));               var y_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[1]));               var x_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[0]));               var y_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[1]));                              if(x_pathtype< x_pathtype2)               {                x_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[0]))  ;               y_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[1]));                x_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[0]));               y_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[1]));               }                      if(y_pathtype1<y_pathtype3)           {               y_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[1]));               x_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[0]));               y_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[1]));                x_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[0]));           }              if(x_pathtype== x_pathtype2)       {           var x_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[0]));           var y_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[1]));            var x_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[0]));               var y_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[1]));                var x_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[0]));               var y_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[1]));                 var x_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[0]));               var y_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[1]));               if(y_pathtype1<y_pathtype3)               {                   var y_pathtype3=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[2].anchor[1]));                   var y_pathtype1=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[0].anchor[1]));                   }                 if(x_pathtype< x_pathtype2)                 {                      var x_pathtype=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[3].anchor[0]));                        var x_pathtype2=Math.abs(Math.round(sourceDoc.layers[lays1].groupItems[path].pathItems[path_group].pathPoints[1].anchor[0]));                                 }          }                               for(var lays2=0;lays2<sourceDoc.layers.length;lays2++)              {                             for(var path1=0;path1<sourceDoc.layers[lays2].groupItems.length;path1++)               {                                for(var path_group1=0;path_group1<sourceDoc.layers[lays2].groupItems[path1].pathItems.length;path_group1++)        {                      var  path_type1 = type_of_path(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1]);                    if(path_type1=="Line Type 3" || path_type1== "Rectangle Type 5")                    {                        for(var path_points=0;path_points<(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints.length-1);path_points++)                        {                            var x_pathline=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points].anchor[0]));                            var y_pathline=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points].anchor[1]));                                                                                  if((x_pathline> x_pathtype2) &&    (x_pathline<x_pathtype) && (y_pathline> y_pathtype3) &&    (y_pathline<y_pathtype1) )                           {                                 if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                  sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Red Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Red Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                              sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                       }}                            else if((x_pathline> x_pathtype2) &&    (x_pathline<x_pathtype) )                            {                                if(y_pathline< y_pathtype3)                                {                                    var x_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[0]));                            var y_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[1]));                                                       if((x_pathline1>x_pathtype2) && (x_pathline1<x_pathtype))                            {                                if((y_pathline1>  y_pathtype3)&&(y_pathline1>  y_pathtype1))                                {                                      if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                  sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Red Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Red Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                              sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                       }}                                 else if((y_pathline1> y_pathtype3) &&(y_pathline1< y_pathtype1))                                 {                                                                          if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Red Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Red Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                      sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                                                          }                                 }                             }                         }                     else if(y_pathline> y_pathtype3)                     {                        var x_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[0]));                            var y_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[1]));                            if((x_pathline1>x_pathtype2) && (x_pathline1<x_pathtype))                            {                            if((y_pathline1>  y_pathtype3)&&(y_pathline1<y_pathtype1))                                {                                  if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Red Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Red Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                            sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                       }}                                 else if((y_pathline1< y_pathtype3) &&(y_pathline1<  y_pathtype1))                                 {                                                                          if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Red Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Red Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                              sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                       }                                 }                             }                         }                            }                                         else if((y_pathline> y_pathtype3) &&    (y_pathline<y_pathtype1) )                         {                                if(x_pathline< x_pathtype2)                                {                                    var x_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[0]));                            var y_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[1]));                                                    if((y_pathline1>y_pathtype3) && (y_pathline1<y_pathtype1))                            {                                                         if((x_pathline1>  x_pathtype2)&&(x_pathline1>  x_pathtype))                                {                                      if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Red Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Red Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                       sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                      }}                                 else if((x_pathline1> x_pathtype2) &&(x_pathline1< x_pathtype))                                 {                                                                          if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Red Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Red Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                         sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                     }                                 }                             }                         }                       else if(x_pathline> x_pathtype2)                     {                        var x_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[0]));                            var y_pathline1=Math.abs(Math.round(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].pathPoints[path_points+1].anchor[1]));                          if((y_pathline1>y_pathtype3) && (y_pathline1<y_pathtype1))                            {                                if((x_pathline1<  x_pathtype2)&&(x_pathline1<  x_pathtype))                                {                                      if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Red Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Red Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                            sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                     }}                                 else if((x_pathline1> x_pathtype2) &&(x_pathline1< x_pathtype))                                 {                                                                          if(sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].parent.name==sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].parent.name)                              {                                   sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].name="Red Color Line"                                  sourceDoc.layers[lays2].groupItems[path].pathItems[path_group].name="Red Color Circle"                                  }                                 else                                  {                                     sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeColor =magentaColor1;                                                                          sourceDoc.layers[lays2].groupItems[path1].pathItems[path_group1].strokeWidth =3;                                     }                                 }                                 }                             }                         }                     }                                            }                         }                     }                 }                         }         }     }
 }    }
}   
}

 function check_unwantedline_CAN()
{
    for(var path1=0;path1<sourceDoc.pathItems.length;path1++)
{    if(sourceDoc.pathItems[path1].name=="Black Color Circle" || sourceDoc.pathItems[path1].name=="Blue Color Circle" || sourceDoc.pathItems[path1].name=="Red Color Circle")    {        var group2=sourceDoc.pathItems[path1].parent;        for(var group3=0;group3<group2.pathItems.length;group3++)        {            var path_type=type_of_path(group2.pathItems[group3]);            {                  if(path_type=="Line Type 1" || path_type=="Line Type 2" || path_type=="Line Type 3" || path_type=="Line Type 4" || path_type=="Line Type 10")                   {                      if(group2.pathItems[group3].name=="")                      {                           group2.pathItems[group3].strokeColor=magentaColor3;                  group2.pathItems[group3].strokeWidth=5;                  }              }          }      }  }
}
}    






function check_unwantedline_normal()
{
    for(var path1=0;path1<sourceDoc.pathItems.length;path1++)
{    if(sourceDoc.pathItems[path1].name=="Black Color Circle" || sourceDoc.pathItems[path1].name=="Blue Color Circle" || sourceDoc.pathItems[path1].name=="Red Color Circle")    {        var group2=sourceDoc.pathItems[path1].parent;        for(var group3=0;group3<group2.pathItems.length;group3++)        {            var path_type=type_of_path(group2.pathItems[group3]);            {                  if(path_type=="Line Type 1" || path_type=="Line Type 2" || path_type=="Line Type 3")                   {                      if(group2.pathItems[group3].name=="")                      {                           group2.pathItems[group3].strokeColor=magentaColor3;                  group2.pathItems[group3].strokeWidth=5;                  }              }          }      }  }
}
}                      function  renaming_path()      {          for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)          {              for(var group1=0;group1<sourceDoc.layers[lays1].groupItems.length;group1++)              {                                                 for(var path1=0;path1<sourceDoc.layers[lays1].groupItems[group1].pathItems.length;path1++)              {                 var path_type=type_of_path(sourceDoc.layers[lays1].groupItems[group1].pathItems[path1]);                 if(path_type=="Rectangle Type 5" || path_type=="Rectangle Type 11" || path_type=="Circle Type 1" || path_type=="Circle Type 2"                 || path_type=="Circle Type 3" || path_type=="Circle Type 4" || path_type=="Circle Type 5" || path_type=="Circle Type 6" ||                  path_type=="Line Type 1" || path_type=="Line Type 2" || path_type=="Line Type 3" || path_type=="Line Type 4" ||                  path_type=="Line Type 10")                  {                      if(sourceDoc.layers[lays1].groupItems[group1].pathItems[path1].name!="")                      {                         sourceDoc.layers[lays1].groupItems[group1].pathItems[path1].name=""                          }                      }                  }              }          }      }                    function  renaming_CAN()      {          var count_line=1;           for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)          {              for(var group1=0;group1<sourceDoc.layers[lays1].groupItems.length;group1++)              {                                    if(sourceDoc.layers[lays1].groupItems[group1].name=="AAA")                  {                      }                     else if(check (sourceDoc.layers[lays1].groupItems[group1].name))                  {                      }                  else                  {              for(var path1=0;path1<sourceDoc.layers[lays1].groupItems[group1].pathItems.length;path1++)              {                 var path_type=type_of_path(sourceDoc.layers[lays1].groupItems[group1].pathItems[path1]);                 if(path_type=="Rectangle Type 5" || path_type=="Rectangle Type 11" || path_type=="Circle Type 1" || path_type=="Circle Type 2"                 || path_type=="Circle Type 3" || path_type=="Circle Type 4" || path_type=="Circle Type 5" || path_type=="Circle Type 6" ||                  path_type=="Line Type 1" || path_type=="Line Type 2" || path_type=="Line Type 3" || path_type=="Line Type 4" ||                  path_type=="Line Type 10" || path_type=="Line Type 12" )                  {                      sourceDoc.layers[lays1].groupItems[group1].name="L"+count_line;                      count_line++;                      break;                      }                  }              }          }      }  }      function error_check()
{
for (var lay=0;lay<sourceDoc.layers.length;lay++)
{       for(var group=0;group<sourceDoc.layers[lay].groupItems.length;group++)   {       for(var group1=0;group1<sourceDoc.layers[lay].groupItems[group].groupItems.length;group1++)       {           if(sourceDoc.layers[lay].groupItems[group].groupItems[group1].name==sourceDoc.layers[lay].groupItems[group].name+"Error:")           {               var max_area_path=find_rectangle_path_with_large_area(sourceDoc.layers[lay].groupItems[group]);                             if (max_area_path=="[PathItem ]")               {                   max_area_path.strokeColor=magentaColor6;                   max_area_path.strokeWidth=3;                   for(var text=0;text<sourceDoc.layers[lay].groupItems[group].groupItems[group1].textFrames.length;text++)                   {                    sourceDoc.layers[lay].groupItems[group].groupItems[group1].textFrames[text].hidden=true ;                              }           }       else        {           for(var i=0;i<sourceDoc.layers[lay].groupItems[group].textFrames.length;i++)           {               sourceDoc.layers[lay].groupItems[group].textFrames[i].textRange.characterAttributes.fillColor=magentaColor6;               }             for(var text=0;text<sourceDoc.layers[lay].groupItems[group].groupItems[group1].textFrames.length;text++)                   {                    sourceDoc.layers[lay].groupItems[group].groupItems[group1].textFrames[text].hidden=true ;                              }           }       }   }
}
}
}                                             function line_pathitem_inside_CAN()   {       for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)       {       for(var group1=0;group1<sourceDoc.layers[lays1].groupItems.length;group1++)
{    if(check(sourceDoc.layers[lays1].groupItems[group1].name))    {    for(var path1=0;path1<sourceDoc.layers[lays1].groupItems[group1].pathItems.length;path1++)    {
var path_type= type_of_path(sourceDoc.layers[lays1].groupItems[group1].pathItems[path1]);
if(path_type=="Rectangle Type 2" || path_type=="Rectangle Type 10")
{
var x_path=Math.round(sourceDoc.layers[lays1].groupItems[group1].pathItems[path1].visibleBounds[0]);
 var y_path=Math.round(sourceDoc.layers[lays1].groupItems[group1].pathItems[path1].visibleBounds[1]);
 var x_path1=Math.round(sourceDoc.layers[lays1].groupItems[group1].pathItems[path1].visibleBounds[2]);
var y_path1=Math.round(sourceDoc.layers[lays1].groupItems[group1].pathItems[path1].visibleBounds[3]);   for(var lays2=0;lays2<sourceDoc.layers.length;lays2++)   {
for(var group2=0;group2<sourceDoc.layers[lays2].groupItems.length;group2++)
{    if(check1(sourceDoc.layers[lays2].groupItems[group2].name))    {    for(var path2=0;path2<sourceDoc.layers[lays2].groupItems[group2].pathItems.length;path2++)    {        var path_type1=type_of_path(sourceDoc.layers[lays2].groupItems[group2].pathItems[path2])        if( path_type1=="Line Type 1" ||  path_type1=="Line Type 2" ||  path_type1=="Line Type 3" ||  path_type1=="Line Type 4" ||          path_type1=="Line Type 10")        {            for(var point1=0;point1<(sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].pathPoints.length-1);point1++)            {                var x_point=Math.round(sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].pathPoints[point1].anchor[0]);                var y_point=Math.round(sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].pathPoints[point1].anchor[1]);                             if(x_point> x_path && x_point<x_path1 && y_point<y_path1)                {                     var x_point1=Math.round(sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].pathPoints[point1+1].anchor[0]);                var y_point1=Math.round(sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].pathPoints[point1+1].anchor[1]);                if(x_point1> x_path && x_point1<x_path1 &&   y_point1>y_path)                {                                           sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].strokeColor=magentaColor10;                   sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].strokeWidth=5                    }                }            else if(x_point> x_path && x_point<x_path1 && y_point>y_path)            {                 var x_point1=Math.round(sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].pathPoints[point1+1].anchor[0]);                var y_point1=Math.round(sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].pathPoints[point1+1].anchor[1]);                if(x_point1> x_path && x_point1<x_path1 &&   y_point1<y_path1)                {                                        sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].strokeColor=magentaColor10;                    sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].strokeWidth=5                    }                }                        else if(y_point<y_path && y_point>y_path1 &&  x_point<x_path)            {                 var x_point1=Math.round(sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].pathPoints[point1+1].anchor[0]);                var y_point1=Math.round(sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].pathPoints[point1+1].anchor[1]);                if(y_point1<y_path && y_point1>y_path1 &&  x_point1>x_path1)                {                                          sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].strokeColor=magentaColor10;                    sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].strokeWidth=5                    }                }              else if(y_point<y_path && y_point>y_path1 &&  x_point>x_path1)            {                 var x_point1=Math.round(sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].pathPoints[point1+1].anchor[0]);                var y_point1=Math.round(sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].pathPoints[point1+1].anchor[1]);                if(y_point1<y_path && y_point1>y_path1 &&  x_point1<x_path)                {                                       sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].strokeColor=magentaColor10;                    sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].strokeWidth=5                    }                }                          }        }    }
}
}
}
}
}
}
}
}
}
 function line_pathitem_inside_normal()   {       for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)       {       for(var group1=0;group1<sourceDoc.layers[lays1].groupItems.length;group1++)
{    if(check(sourceDoc.layers[lays1].groupItems[group1].name))    {    for(var path1=0;path1<sourceDoc.layers[lays1].groupItems[group1].pathItems.length;path1++)    {
var path_type= type_of_path(sourceDoc.layers[lays1].groupItems[group1].pathItems[path1]);
if(path_type=="Rectangle Type 2" || path_type=="Rectangle Type 10")
{
var x_path=Math.round(sourceDoc.layers[lays1].groupItems[group1].pathItems[path1].visibleBounds[0]);
 var y_path=Math.round(sourceDoc.layers[lays1].groupItems[group1].pathItems[path1].visibleBounds[1]);
 var x_path1=Math.round(sourceDoc.layers[lays1].groupItems[group1].pathItems[path1].visibleBounds[2]);
var y_path1=Math.round(sourceDoc.layers[lays1].groupItems[group1].pathItems[path1].visibleBounds[3]);   for(var lays2=0;lays2<sourceDoc.layers.length;lays2++)   {
for(var group2=0;group2<sourceDoc.layers[lays2].groupItems.length;group2++)
{    if(check1(sourceDoc.layers[lays2].groupItems[group2].name))    {    for(var path2=0;path2<sourceDoc.layers[lays2].groupItems[group2].pathItems.length;path2++)    {        var path_type1=type_of_path(sourceDoc.layers[lays2].groupItems[group2].pathItems[path2])        if( path_type1=="Line Type 1" ||  path_type1=="Line Type 2" ||  path_type1=="Line Type 3" )               {            for(var point1=0;point1<(sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].pathPoints.length-1);point1++)            {                var x_point=Math.round(sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].pathPoints[point1].anchor[0]);                var y_point=Math.round(sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].pathPoints[point1].anchor[1]);                             if(x_point> x_path && x_point<x_path1 && y_point<y_path1)                {                     var x_point1=Math.round(sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].pathPoints[point1+1].anchor[0]);                var y_point1=Math.round(sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].pathPoints[point1+1].anchor[1]);                if(x_point1> x_path && x_point1<x_path1 &&   y_point1>y_path)                {                                           sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].strokeColor=magentaColor10;                   sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].strokeWidth=5                    }                }            else if(x_point> x_path && x_point<x_path1 && y_point>y_path)            {                 var x_point1=Math.round(sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].pathPoints[point1+1].anchor[0]);                var y_point1=Math.round(sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].pathPoints[point1+1].anchor[1]);                if(x_point1> x_path && x_point1<x_path1 &&   y_point1<y_path1)                {                                        sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].strokeColor=magentaColor10;                    sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].strokeWidth=5                    }                }                        else if(y_point<y_path && y_point>y_path1 &&  x_point<x_path)            {                 var x_point1=Math.round(sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].pathPoints[point1+1].anchor[0]);                var y_point1=Math.round(sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].pathPoints[point1+1].anchor[1]);                if(y_point1<y_path && y_point1>y_path1 &&  x_point1>x_path1)                {                                          sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].strokeColor=magentaColor10;                    sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].strokeWidth=5                    }                }              else if(y_point<y_path && y_point>y_path1 &&  x_point>x_path1)            {                 var x_point1=Math.round(sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].pathPoints[point1+1].anchor[0]);                var y_point1=Math.round(sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].pathPoints[point1+1].anchor[1]);                if(y_point1<y_path && y_point1>y_path1 &&  x_point1<x_path)                {                                       sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].strokeColor=magentaColor10;                    sourceDoc.layers[lays2].groupItems[group2].pathItems[path2].strokeWidth=5                    }                }                          }        }    }
}
}
}
}
}
}
}
}
}
function check (nme) {      if( (/^([A,B,C,D,E,F,H,K,M,N,R,T,Y][0-9]{1,3}:){1,9}$/).test( nme ) == false) {          return false; }      return true;  
}  




function check1 (nme) 
{      if( (/^([L][0-9]{1,3}:){1,9}$/).test( nme ) == false) {          return false; }      return true;  
}  
function line_cross()
{
for(var lays2=0;lays2<sourceDoc.layers.length;lays2++)
{    for(var group1=0;group1<sourceDoc.layers[lays2].groupItems.length;group1++)    {        if(sourceDoc.layers[lays2].groupItems[group1].name!= "AAA")        {            var reg=/([L][0-9]{1,3})$/                       if(reg.test(sourceDoc.layers[lays2].groupItems[group1].name.slice(0,sourceDoc.layers[lays2].groupItems[group1].name.length)))                        {                                      for(var path1=0;path1<sourceDoc.layers[lays2].groupItems[group1].pathItems.length;path1++)            {                var path_type=type_of_path(sourceDoc.layers[lays2].groupItems[group1].pathItems[path1]);                {                    if(path_type=="Line Type 1" || path_type=="Line Type 2" || path_type=="Line Type 3" || path_type=="Line Type 10" || path_type=="Line Type 12")                    {                                               var count_liner=check_line_points_end(sourceDoc.layers[lays2].groupItems[group1].pathItems[path1],sourceDoc.layers[lays2].groupItems[group1]);                       if(count_liner==2)                       {                           }                       else                       {                           sourceDoc.layers[lays2].groupItems[group1].pathItems[path1].strokeColor=magentaColor6;                           }                        }                    }                }            }        }    }
}
}




 function check_line_points_end(Line_item,line_item2)
 {
     var  count_linecheck=0;      var x_point= Math.round(Line_item.pathPoints[0].anchor[0]);                            var y_point=Math.round(Line_item.pathPoints[0].anchor[1]);                              var x_point1= Math.round(Line_item.pathPoints[(Line_item.pathPoints.length)-1].anchor[0]);                            var y_point1=Math.round(Line_item.pathPoints[(Line_item.pathPoints.length)-1].anchor[1]);                for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)                {                    for(var group2=0;group2<sourceDoc.layers[lays1].groupItems.length;group2++)                    {                        for(var path2=0;path2<sourceDoc.layers[lays1].groupItems[group2].pathItems.length;path2++)                        {                            var path_type1=type_of_path(sourceDoc.layers[lays1].groupItems[group2].pathItems[path2]);                                                       if(path_type1=="Anchor point" || path_type1=="Circle Type 1"  || path_type1=="Circle Type 2" ||  path_type1=="Circle Type 3" ||  path_type1=="Circle Type 4"                               ||  path_type1=="Circle Type 5" ||  path_type1=="Circle Type 6" || path_type1=="Rectangle Type 8"  )               {                                      if(path_type1=="Anchor point")                   {                               var x_point1dot= Math.round(sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].pathPoints[0].anchor[0]);                            var y_point1dot=Math.round(sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].pathPoints[0].anchor[1]);                            var xdiff=Math.abs(Math.abs(x_point)-Math.abs(x_point1dot));
var ydiff=Math.abs(Math.abs(y_point)-Math.abs(y_point1dot));
var xdiff1=Math.abs(Math.abs(x_point1)-Math.abs(x_point1dot));
var ydiff1=Math.abs(Math.abs(y_point1)-Math.abs(y_point1dot));
if(((xdiff>=0&&xdiff<=1.8)&&(ydiff>=0&&ydiff<=1.8) )|| ((xdiff1>=0&&xdiff1<=1.8)&&(ydiff1>=0&&ydiff1<=1.8) ))
{    count_linecheck++;      if(sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].name.slice(0,3)=="pin" && sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].name.slice(0,4)!="pinx" && (sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].name.substr(4,1)!="*")       && (sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].name.substr(4,1)!="@"))    {        var rect=rectangle_function_decide(sourceDoc.layers[lays1].groupItems[group2],sourceDoc.layers[lays1].groupItems[group2].pathItems[path2]);             if(rect!=0)        {                        if(rect.fillColor.cyan==0 && rect.fillColor.magenta==0 &&  rect.fillColor.yellow==25 && rect.fillColor.black==0)            {                var text= text_matching(sourceDoc.layers[lays1].groupItems[group2],sourceDoc.layers[lays1].groupItems[group2].pathItems[path2],rect);                         if(text!=0 && text!=1)     {                  var compound=check_compound_path(sourceDoc.layers[lays1].groupItems[group2],sourceDoc.layers[lays1].groupItems[group2].pathItems[path2],rect,text);            if(compound==0)         {             var cil_text=check_cil(sourceDoc.layers[lays1].groupItems[group2],sourceDoc.layers[lays1].groupItems[group2].pathItems[path2],rect,text);                                           if(cil_text!=0 )                {                    file_output.writeln(sourceDoc.name+","+line_item2.name+","+"L"+","+cil_text+","+text.contents)                    }                else                {                    sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].strokeColor=magentaColor6;                    sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].opacity=50;                    }                }            else            {                sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].strokeColor=magentaColor10;                    sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].opacity=50;                    }                }            else if(text==1)            {                var cil_text=check_cil_ground(sourceDoc.layers[lays1].groupItems[group2],sourceDoc.layers[lays1].groupItems[group2].pathItems[path2],rect,text);                  if(cil_text!=0 )                {                    file_output.writeln(sourceDoc.name+","+line_item2.name+","+"L"+","+cil_text+","+text)                    }                else                {                    sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].strokeColor=magentaColor6;                    sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].opacity=50;                    }                }                       else            {                 sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].strokeColor=magentaColor3;                    sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].opacity=50;                    }                }            else if(rect.fillColor.cyan==0 && rect.fillColor.magenta==25 &&  rect.fillColor.yellow==25 && rect.fillColor.black==0)            {                 var text= text_matching_fuse(sourceDoc.layers[lays1].groupItems[group2],sourceDoc.layers[lays1].groupItems[group2].pathItems[path2],rect);                                        if(text!=0)                    {                        if(text.contents.match(/^[A-Z]*$/))                        {                            var cil_text="FL-"+text.contents;                             file_output.writeln(sourceDoc.name+","+line_item2.name+","+"L"+","+cil_text+","+text.contents)                             }                         else if(text.contents.match(/^\d{1,4}$/))                         {                              var cil_text="FUSE"+text.contents;                             file_output.writeln(sourceDoc.name+","+line_item2.name+","+"L"+","+cil_text+","+text.contents)                             }                         else                         {                              sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].strokeColor=magentaColor3;                    sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].opacity=50;                    }                }            }        }        else        {              sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].strokeColor=magentaColor4;                    sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].opacity=50;                    }                }            else if(sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].name.slice(0,3)=="pin" && sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].name.slice(0,4)!="pinx" && (sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].name.substr(4,1)=="*")       && (sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].name.substr(4,1)!="@"))      {            var rect=rectangle_function_decide(sourceDoc.layers[lays1].groupItems[group2],sourceDoc.layers[lays1].groupItems[group2].pathItems[path2]);        if(rect!=0 )        {             var text= text_matching_star(sourceDoc.layers[lays1].groupItems[group2],sourceDoc.layers[lays1].groupItems[group2].pathItems[path2],rect);                if(text!=0)     {         var compound=check_compound_path(sourceDoc.layers[lays1].groupItems[group2],sourceDoc.layers[lays1].groupItems[group2].pathItems[path2],rect,text);             if(compound==1)         {             var  cil_text=[];             var cil_text=check_cil_star(sourceDoc.layers[lays1].groupItems[group2],sourceDoc.layers[lays1].groupItems[group2].pathItems[path2],rect,text);                         if(cil_text!=0 )                {                    var connector_number_text=[];             var connector_number_text=check_connect_csv(sourceDoc.layers[lays1].groupItems[group2],sourceDoc.layers[lays1].groupItems[group2].pathItems[path2],rect,text,cil_text[0],cil_text[1]);           if(connector_number_text!=0)           {                        file_output.writeln(sourceDoc.name+","+line_item2.name+","+"L"+","+connector_number_text[0]+","+cil_text[0])                    file_output.writeln(sourceDoc.name+","+line_item2.name+","+"L"+","+connector_number_text[1]+","+cil_text[1])                                                          }                else                {                    sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].strokeColor=magentaColor6;                    sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].opacity=50;                    }                }            else            {                sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].strokeColor=magentaColor6;                    sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].opacity=50;                    }                }            else            {                sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].strokeColor=magentaColor10;                    sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].opacity=50;                    }                }            else            {                 sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].strokeColor=magentaColor3;                    sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].opacity=50;                    }                }                                  else        {              sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].strokeColor=magentaColor4;                    sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].opacity=50;                    }                }                    else if(sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].name.slice(0,4)=="FUSE" || sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].name.slice(0,2)=="FL")        {            var rect=rectangle_function_decide(sourceDoc.layers[lays1].groupItems[group2],sourceDoc.layers[lays1].groupItems[group2].pathItems[path2]);        if(rect!=0 )        {            var text=rectangle_function_decide_fuse(sourceDoc.layers[lays1].groupItems[group2],sourceDoc.layers[lays1].groupItems[group2].pathItems[path2],rect);                if(text!=0  )        {              if(text.contents.match(/^[A-Z]*$/))                        {             var cil_text="FL-"+text.contents;                             file_output.writeln(sourceDoc.name+","+line_item2.name+","+"L"+","+cil_text+","+text.contents)                             }                                                  else if(text.contents.match(/^\d{1,4}$/))                         {                              var cil_text="FUSE"+text.contents;                             file_output.writeln(sourceDoc.name+","+line_item2.name+","+"L"+","+cil_text+","+text.contents)                             }}                         else                         {                              sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].strokeColor=magentaColor3;                    sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].opacity=50;                    }                }            else            {                 sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].strokeColor=magentaColor4;                    sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].opacity=50;                    }                }            else if(sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].name=="pinx")            {                  file_output.writeln(sourceDoc.name+","+line_item2.name+","+"L"+","+"-"+","+"-")                  }              else if(sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].name.substr(4,1)=="@")              {                              file_output.writeln(sourceDoc.name+","+line_item2.name+","+"L"+","+"-"+","+"-")                  }              }          }       if(path_type1=="Circle Type 1"  || path_type1=="Circle Type 2" ||  path_type1=="Circle Type 3" ||  path_type1=="Circle Type 4"                               ||  path_type1=="Circle Type 5" ||  path_type1=="Circle Type 6")                               {                                 var x_pathtype2=Math.round(sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].visibleBounds[0]);                                 var x_pathtype=Math.round(sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].visibleBounds[2]);                                 var y_pathtype1=Math.round(sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].visibleBounds[3]);                                 var y_pathtype3=Math.round(sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].visibleBounds[1]);                                                         if(((x_point>= x_pathtype2)&&(x_point<= x_pathtype) &&(y_point<=y_pathtype3) && (y_point>=y_pathtype1)) ||
((x_point1>= x_pathtype2)&&(x_point1<= x_pathtype) &&(y_point1<=y_pathtype3) && (y_point1>=y_pathtype1)))
{    count_linecheck++;    }          }            if(path_type1=="Rectangle Type 8")  {      var arrow_x=Math.round(sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].pathPoints[0].anchor[0]);      var arrow_y=Math.round(sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].pathPoints[0].anchor[1]);       var arrow_x1=Math.round(sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].pathPoints[1].anchor[0]);      var arrow_y1=Math.round(sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].pathPoints[1].anchor[1]);       var arrow_x2=Math.round(sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].pathPoints[2].anchor[0]);      var arrow_y2=Math.round(sourceDoc.layers[lays1].groupItems[group2].pathItems[path2].pathPoints[2].anchor[1]);    if(arrow_x==arrow_x1)    {        if(arrow_y>arrow_y1)        {            if(((x_point>=arrow_x)&&(x_point<=arrow_x2 || x_point>=arrow_x2)&&(y_point>=arrow_y1) &&(y_point<=arrow_y)) ||   ((x_point1>=arrow_x)&&(x_point1<=arrow_x2 || x_point1>=arrow_x2)&&(y_point1>=arrow_y1) &&(y_point1<=arrow_y)))  {      count_linecheck++;      }  }  else if(arrow_y<arrow_y1)  {            if(((x_point<=arrow_x2 ||x_point>=arrow_x2 )&&(y_point>=arrow_y) &&(y_point<=arrow_y1)) ||   ((x_point1<=arrow_x2 ||x_point1>=arrow_x2 )&&(y_point1>=arrow_y) &&(y_point1<=arrow_y1)))  {      count_linecheck++;      }  }
}
else
{    if(arrow_y==arrow_y1)    {       if(((x_point>=arrow_x1)&&(x_point<=arrow_x)&&(y_point>=arrow_y2) &&(y_point<=arrow_y1)) ||   ((x_point1>=arrow_x1)&&(x_point1<=arrow_x)&&(y_point1>=arrow_y2) &&(y_point1<=arrow_y1)))  {       count_linecheck++;     }
 }
}
}
}
}
}


}
return count_linecheck;
}








                                                                        


















































































































































function rectangle_function_decide(main_group_path,pindot)
{
    var main_grp_path_flag=0;
var sub_grp_path_flag=0;
var wire_to_wire_rect=[];
var wire_to_wire_rect_fuse=[];    for(var path1=0;path1<main_group_path.pathItems.length;path1++)    {               var path_type= type_of_path(main_group_path.pathItems[path1]);        if( path_type=="Rectangle Type 2" || path_type=="Rectangle Type 10")        {            var x_path=Math.round(main_group_path.pathItems[path1].visibleBounds[0]);
 var y_path=Math.round(main_group_path.pathItems[path1].visibleBounds[1]);
 var x_path1=Math.round(main_group_path.pathItems[path1].visibleBounds[2]);
var y_path1=Math.round(main_group_path.pathItems[path1].visibleBounds[3]);
var x_point=Math.round(pindot.pathPoints[0].anchor[0]);
var y_point=Math.round(pindot.pathPoints[0].anchor[1]);
if(x_point>=x_path && x_point<=x_path1 && y_point<=y_path && y_point>=y_path1)
{    
main_grp_path_flag=1;
wire_to_wire_rect.push(main_group_path.pathItems[path1]);
}
}
else if( path_type=="Rectangle Type 3")
{      var x_path=Math.round(main_group_path.pathItems[path1].visibleBounds[0]);
 var y_path=Math.round(main_group_path.pathItems[path1].visibleBounds[1]);
 var x_path1=Math.round(main_group_path.pathItems[path1].visibleBounds[2]);
var y_path1=Math.round(main_group_path.pathItems[path1].visibleBounds[3]);
var x_point=Math.round(pindot.pathPoints[0].anchor[0]);
var y_point=Math.round(pindot.pathPoints[0].anchor[1]);
if(x_point>=x_path && x_point<=x_path1 && y_point<=y_path && y_point>=y_path1)
{    
main_grp_path_flag=1;
wire_to_wire_rect_fuse.push(main_group_path.pathItems[path1]);
}
}
}
for(var group1=0;group1<main_group_path.groupItems.length;group1++)
{      for(var path1=0;path1<main_group_path.groupItems[group1].pathItems.length;path1++)    {               var path_type= type_of_path(main_group_path.groupItems[group1].pathItems[path1]);        if( path_type=="Rectangle Type 2" || path_type=="Rectangle Type 10")        {            var x_path=Math.round(main_group_path.groupItems[group1].pathItems[path1].visibleBounds[0]);
 var y_path=Math.round(main_group_path.groupItems[group1].pathItems[path1].visibleBounds[1]);
 var x_path1=Math.round(main_group_path.groupItems[group1].pathItems[path1].visibleBounds[2]);
var y_path1=Math.round(main_group_path.groupItems[group1].pathItems[path1].visibleBounds[3]);
var x_point=Math.round(pindot.pathPoints[0].anchor[0]);
var y_point=Math.round(pindot.pathPoints[0].anchor[1]);
if(x_point>=x_path && x_point<=x_path1 && y_point<=y_path && y_point>=y_path1)
{    
 sub_grp_path_flag=1;


 wire_to_wire_rect.push(main_group_path.groupItems[group1].pathItems[path1]);
}
}
else if(path_type=="Rectangle Type 3")
{
  var x_path=Math.round(main_group_path.groupItems[group1].pathItems[path1].visibleBounds[0]);
 var y_path=Math.round(main_group_path.groupItems[group1].pathItems[path1].visibleBounds[1]);
 var x_path1=Math.round(main_group_path.groupItems[group1].pathItems[path1].visibleBounds[2]);
var y_path1=Math.round(main_group_path.groupItems[group1].pathItems[path1].visibleBounds[3]);
var x_point=Math.round(pindot.pathPoints[0].anchor[0]);
var y_point=Math.round(pindot.pathPoints[0].anchor[1]);
if(x_point>=x_path && x_point<=x_path1 && y_point<=y_path && y_point>=y_path1)
{    
 sub_grp_path_flag=1;

wire_to_wire_rect_fuse.push(main_group_path.groupItems[group1].pathItems[path1]);
}
}   
}
}




if((main_grp_path_flag==1 || sub_grp_path_flag==1) && wire_to_wire_rect.length==1)
{  return wire_to_wire_rect[0];    }
else if((main_grp_path_flag==1 || sub_grp_path_flag==1) && wire_to_wire_rect_fuse.length==1)
{    return  wire_to_wire_rect_fuse[0];    }
else
{    return 0;    }
}


 function text_matching(main_group_path,pindot,rect)


{
    var wire_to_wire_text=[];    var count_text_found=0;    var count_path=0;    for(var text=0;text<main_group_path.textFrames.length;text++)    {                if(main_group_path.textFrames[text].contents.match(/^\d{1,3}[A-Z]$/) || main_group_path.textFrames[text].contents.match(/^\d{1,4}$/))               {                     if(main_group_path.textFrames[text].contents==(pindot.name.slice(4,pindot.name.length)))            {                          var x_text=Math.round(main_group_path.textFrames[text].anchor[0]);              var y_text=Math.round(main_group_path.textFrames[text].anchor[1]);               var x_pindot=Math.round(pindot.pathPoints[0].anchor[0]);               var y_pindot=Math.round(pindot.pathPoints[0].anchor[1]);               var x_diff=Math.abs(x_text- x_pindot);               var y_diff=Math.abs(y_text-y_pindot);               if((x_diff>=0 && x_diff<=14) && (y_diff>=0 && y_diff<=12))               {                   count_text_found=1;                   wire_to_wire_text.push(main_group_path.textFrames[text]);                                                }            }        }    }


for(var path=0;path<main_group_path.pathItems.length;path++)
{      var path_type=type_of_path(main_group_path.pathItems[path]);    if(path_type=="Anchor point")    {        count_path++;        }    }


if(count_path==1 && main_group_path.textFrames.length==0)
{    return 1;    }    else if(count_text_found==1 && wire_to_wire_text.length==1)    {        return wire_to_wire_text[0];        }    else    {        return 0;        }    }                                       function text_matching_star(main_group_path,pindot,rect)


{
    var wire_to_wire_text=[];    var count_text_found=0;    for(var text=0;text<main_group_path.textFrames.length;text++)    {        if(main_group_path.textFrames[text].contents.match(/^\d{1,3}[A-Z]$/) || main_group_path.textFrames[text].contents.match(/^\d{1,4}$/))               {            if(main_group_path.textFrames[text].contents==(pindot.name.slice(5,pindot.name.length)))            {                          var x_text=Math.round(main_group_path.textFrames[text].anchor[0]);              var y_text=Math.round(main_group_path.textFrames[text].anchor[1]);               var x_pindot=Math.round(pindot.pathPoints[0].anchor[0]);               var y_pindot=Math.round(pindot.pathPoints[0].anchor[1]);               var x_diff=Math.abs(x_text- x_pindot);               var y_diff=Math.abs(y_text-y_pindot);               if((x_diff>=0 && x_diff<=14) && (y_diff>=0 && y_diff<=12))               {                   count_text_found=1;                   wire_to_wire_text.push(main_group_path.textFrames[text]);                                                }            }        }    }
for(var path=0;path<main_group_path.pathItems.length;path++)
{    var count_path=0;    var path_type=type_of_path(main_group_path.pathItems[path]);    if(path_type=="Anchor point")    {        count_path++;        }    }
if(count_path==1 && main_group_path.textFrames.length==0)
{    return 1;    }    if(count_text_found==1 && wire_to_wire_text.length==1)    {        return wire_to_wire_text[0];        }    else    {        return 0;        }    }  
function check_compound_path(main_group_path,pindot,rect,text_item)
{    var compound_path_present=0;    for(var compound=0;compound<main_group_path.pageItems.length;compound++)    {        if(main_group_path.pageItems[compound].typename=="CompoundPathItem")        {              var x_path= Math.abs(Math.round(main_group_path.pageItems[compound].position[0]));              var y_path=Math.abs(Math.round(main_group_path.pageItems[compound].position[1]));                var x_text=Math.abs(Math.round(text_item.anchor[0]));                var y_text=Math.abs(Math.round(text_item.anchor[1]));                  if( (x_text-x_path)>0 && (x_text-x_path)<15)                  {                       if((Math.abs(y_text-y_path)>0 && Math.abs(y_text-y_path)<6))                  {                      compound_path_present=1;                      }                  }              }          }          for(var group=0;group<main_group_path.groupItems.length;group++)          {              for(var compound=0;compound<main_group_path.groupItems[group].pageItems.length;compound++)              {                  if(main_group_path.groupItems[group].pageItems[compound].typename=="CompoundPathItem")                  {                      var x_path= Math.abs(Math.round(main_group_path.groupItems[group].pageItems[compound].position[0]));              var y_path=Math.abs(Math.round(main_group_path.groupItems[group].pageItems[compound].position[1]));                var x_text=Math.abs(Math.round(text_item.anchor[0]));                var y_text=Math.abs(Math.round(text_item.anchor[1]));                  if( (x_text-x_path)>0 && (x_text-x_path)<15)                  {                       if((Math.abs(y_text-y_path)>0 && Math.abs(y_text-y_path)<6))                  {                      compound_path_present=1;                      }                  }              }          }      }      if(compound_path_present==1)      {          return 1;          }      else      {          return 0;          }      }      function check_cil_ground(main_group_path,pindot,rect,text_item)
{    var s=[];        var array = main_group_path.name.split(":");       if(array==null)    {        return 0;        }    else    {        main_loop1:        for(var jj=0;jj<array.length;jj++)        {             for(csv_iter = 0;csv_iter < fileArray_SM_name.length; csv_iter++)    {        if(array[jj] == fileArray_SM_name[csv_iter][0])        {            if(text_item==fileArray_SM_name[csv_iter][2])            {                var terminal_found=1;                s.push(fileArray_SM_name[csv_iter][0]);                break  main_loop1;                }            }        }    }
}


if(terminal_found==1 && s.length==1)
{        return s[0];    }
else
{    return 0;    }
}  function check_cil(main_group_path,pindot,rect,text_item)
{    var s=[];    var array = main_group_path.name.split(":");    if(array==null)    {        return 0;        }        else    {        main_loop1:        for(var jj=0;jj<array.length;jj++)        {             for(csv_iter = 0;csv_iter < fileArray_SM_name.length; csv_iter++)    {        if(array[jj] == fileArray_SM_name[csv_iter][0])        {            if(fileArray_SM_name[csv_iter][1]=="WIRE TO WIRE")            {                                 if(text_item.contents==fileArray_SM_name[csv_iter][2])                       {                                           if(array.length==3)                {                var x_rect=Math.round(rect.visibleBounds[0]);                var y_rect=Math.round(rect.visibleBounds[1]);                var x_rect1=Math.round(rect.visibleBounds[2]);                var y_rect1=Math.round(rect.visibleBounds[3]);                var x_dot=Math.round(pindot.pathPoints[0].anchor[0]);                var y_dot=Math.round(pindot.pathPoints[0].anchor[1]);                var y_diff=Math.abs(y_dot-y_rect);                 var y_diff1=Math.abs(y_dot-y_rect1);                var x_diff=Math.abs(x_dot-x_rect);                var x_diff1=Math.abs(x_dot-x_rect1);                var arr_x=Math.round(array[0].anchor[0]);                var arr_y=Math.round(array[0].anchor[1]);                var arr1_x=Math.round(array[1].anchor[0]);                var arr1_y=Math.round(array[1].anchor[1]);                               if(x_dot>=x_rect && x_dot<=x_rect1 && y_diff>=0 && y_diff<=2)                {                                                if(arr_y>arr1_y)                           {                            var terminal_found=1;                s.push(array[0]);                break  main_loop1;                }            else            {                   var terminal_found=1;                s.push(array[1]);                break  main_loop1;                }            }            else if(x_dot>=x_rect && x_dot<=x_rect1 && y_diff1>=0 && y_diff1<=2)        {              if(arr_y<arr1_y)                           {                            var terminal_found=1;                s.push(array[1]);                break  main_loop1;                }            else            {                   var terminal_found=1;                s.push(array[0]);                break  main_loop1;                }            }        else if(y_dot>=y_rect1 && y_dot<=y_rect && x_diff1>=0 && x_diff1<=2)        {            if(arr_x>arr1_x)            {                        var terminal_found=1;                s.push(array[0]);                break  main_loop1;                }          else          {              var terminal_found=1;                s.push(array[1]);                break  main_loop1;                }             }                 else if(y_dot>=y_rect1 && y_dot<=y_rect && x_diff>=0 && x_diff<=2)        {            if(arr_x<arr1_x)            {                        var terminal_found=1;                s.push(array[1]);                break  main_loop1;                }          else          {              var terminal_found=1;                s.push(array[0]);                break  main_loop1;                }             }        }    else    {          break  main_loop1;          }      }  }                                else        {                      if(text_item.contents==fileArray_SM_name[csv_iter][2])            {                var terminal_found=1;                s.push(fileArray_SM_name[csv_iter][0]);                break  main_loop1;                }            }        }    }
}
}


if(terminal_found==1 && s.length==1)
{    return s[0];    }
else
{    return 0;    }
}   function text_matching_fuse(main_group_path,pindot,rect)


{
    var wire_to_wire_text=[];    var count_text_found=0;    for(var text=0;text<main_group_path.textFrames.length;text++)    {        if(main_group_path.textFrames[text].contents.match(/^[A-Z]*$/)  || main_group_path.textFrames[text].contents.match(/^\d{1,4}$/))               {            if(main_group_path.textFrames[text].contents==(pindot.name.slice(4,pindot.name.length)))            {                                           count_text_found=1;                   wire_to_wire_text.push(main_group_path.textFrames[text]);                                                }            }                }        if(count_text_found==1 && wire_to_wire_text.length==1)    {        return wire_to_wire_text[0];        }    else    {        return 0;        }    }                             
function rectangle_function_decide_fuse(main_group_path,pindot,rect)
{     var x_path=Math.round(rect.visibleBounds[0]);           var y_path=Math.round(rect.visibleBounds[1]);           var x_path1=Math.round(rect.visibleBounds[2]);           var y_path1=Math.round(rect.visibleBounds[3]);           var x_dot=Math.round(pindot.pathPoints[0].anchor[0]);           var y_dot=Math.round(pindot.pathPoints[0].anchor[1]);    for(var group1=0;group1<main_group_path.groupItems.length;group1++)    {        for(var path1=0;path1<main_group_path.groupItems[group1].pathItems.length;path1++)        {            var path_type=type_of_path(main_group_path.groupItems[group1].pathItems[path1]);            if(path_type=="Line Type 5" || path_type=="Line Type 6")            {                    var x_line=Math.round(main_group_path.groupItems[group1].pathItems[path1].pathPoints[0].anchor[0]);                       var y_line=Math.round(main_group_path.groupItems[group1].pathItems[path1].pathPoints[0].anchor[1]);                       var x_line1=Math.round(main_group_path.groupItems[group1].pathItems[path1].pathPoints[(main_group_path.groupItems[group1].pathItems[path1].pathPoints.length)-1].anchor[0]);                       var y_line1=Math.round(main_group_path.groupItems[group1].pathItems[path1].pathPoints[(main_group_path.groupItems[group1].pathItems[path1].pathPoints.length)-1].anchor[1]);                       var x_diff_dot=Math.abs(x_dot-x_line);                       var y_diff_dot=Math.abs(y_dot-y_line);                         var x_diff_dot1=Math.abs(x_dot-x_line1);                       var y_diff_dot1=Math.abs(y_dot-y_line1);                                              if(x_line>= x_path && x_line<=x_path1 && y_line>=y_path1 && y_line<=y_path)                       {                           if((( x_diff_dot>=0 &&  x_diff_dot<=3) && (y_diff_dot>=0 && y_diff_dot<=3)))                           {                               x_line2=Math.round(main_group_path.groupItems[group1].pathItems[path1].pathPoints[(main_group_path.groupItems[group1].pathItems[path1].pathPoints.length)-1].anchor[0]);                               y_line2=Math.round(main_group_path.groupItems[group1].pathItems[path1].pathPoints[(main_group_path.groupItems[group1].pathItems[path1].pathPoints.length)-1].anchor[1]);                               for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)                               {                                   for(var group2=0;group2<sourceDoc.layers[lays1].groupItems.length;group2++)                                   {                                       if(sourceDoc.layers[lays1].groupItems[group2].name.slice(0,4)=="FUSE" || sourceDoc.layers[lays1].groupItems[group2].name.slice(0,2)=="FL")                                       {                                       for(var path4=0;path4<sourceDoc.layers[lays1].groupItems[group2].pathItems.length;path4++)                                       {                                           var path_type3=type_of_path(sourceDoc.layers[lays1].groupItems[group2].pathItems[path4]);                                           if(path_type3=="Rectangle Type 3")                                           {                                               var x_fuse_point=Math.round(sourceDoc.layers[lays1].groupItems[group2].pathItems[path4].visibleBounds[0]);                        var y_fuse_point=Math.round(sourceDoc.layers[lays1].groupItems[group2].pathItems[path4].visibleBounds[1]);                          var x_fuse_point1=Math.round(sourceDoc.layers[lays1].groupItems[group2].pathItems[path4].visibleBounds[2]);                        var y_fuse_point1=Math.round(sourceDoc.layers[lays1].groupItems[group2].pathItems[path4].visibleBounds[3]);                         var diff_fuse_y1=Math.abs(Math.abs(y_fuse_point)- Math.abs( y_line2))                        var diff_fuse_y2=Math.abs(Math.abs(y_fuse_point1)- Math.abs( y_line2))                        if(x_fuse_point>x_path && x_fuse_point<x_path1 && y_fuse_point>y_path1 &&  y_fuse_point<y_path)                        {                             if(((x_fuse_point< x_line2) && (x_fuse_point1>x_line2)) && (diff_fuse_y2>=0 && diff_fuse_y2<=2))                             {                                 for(var text=0;text<sourceDoc.layers[lays1].groupItems[group2].textFrames.length;text++)                                 {                                     if(sourceDoc.layers[lays1].groupItems[group2].textFrames[text].contents.match(/^[A-Z]*$/))                                     {                                         if(pindot.name==("FL"+sourceDoc.layers[lays1].groupItems[group2].textFrames[text].contents))                                         {                                             return sourceDoc.layers[lays1].groupItems[group2].textFrames[text];                                             }                                         }                                     else if(sourceDoc.layers[lays1].groupItems[group2].textFrames[text].contents.match(/^\d{1,4}$/))                                     {                                           if(pindot.name==("FUSE"+sourceDoc.layers[lays1].groupItems[group2].textFrames[text].contents))                                         {                                             return sourceDoc.layers[lays1].groupItems[group2].textFrames[text] ;                                             }                                         }                                     }                                 }                             }                         }                     }                 }             }         }     }         else if((( x_diff_dot1>=0 &&  x_diff_dot1<=3) && (y_diff_dot1>=0 && y_diff_dot1<=3)))         {             x_line2=Math.round(main_group_path.groupItems[group1].pathItems[path1].pathPoints[0].anchor[0]);                               y_line2=Math.round(main_group_path.groupItems[group1].pathItems[path1].pathPoints[0].anchor[1]);                               for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)                               {                                   for(var group2=0;group2<sourceDoc.layers[lays1].groupItems.length;group2++)                                   {                                       if(sourceDoc.layers[lays1].groupItems[group2].name.slice(0,4)=="FUSE" || sourceDoc.layers[lays1].groupItems[group2].name.slice(0,2)=="FL")                                       {                                       for(var path4=0;path4<sourceDoc.layers[lays1].groupItems[group2].pathItems.length;path4++)                                       {                                           var path_type3=type_of_path(sourceDoc.layers[lays1].groupItems[group2].pathItems[path4]);                                           if(path_type3=="Rectangle Type 3")                                           {                                               var x_fuse_point=Math.round(sourceDoc.layers[lays1].groupItems[group2].pathItems[path4].visibleBounds[0]);                        var y_fuse_point=Math.round(sourceDoc.layers[lays1].groupItems[group2].pathItems[path4].visibleBounds[1]);                          var x_fuse_point1=Math.round(sourceDoc.layers[lays1].groupItems[group2].pathItems[path4].visibleBounds[2]);                        var y_fuse_point1=Math.round(sourceDoc.layers[lays1].groupItems[group2].pathItems[path4].visibleBounds[3]);                         var diff_fuse_y1=Math.abs(Math.abs(y_fuse_point)- Math.abs( y_line2))                        var diff_fuse_y2=Math.abs(Math.abs(y_fuse_point1)- Math.abs( y_line2))                        if(x_fuse_point>x_path && x_fuse_point<x_path1 && y_fuse_point>y_path1 &&  y_fuse_point<y_path)                        {                             if(((x_fuse_point< x_line2) && (x_fuse_point1>x_line2)) && (diff_fuse_y2>=0 && diff_fuse_y2<=2))                             {                                 for(var text=0;text<sourceDoc.layers[lays1].groupItems[group2].textFrames.length;text++)                                 {                                     if(sourceDoc.layers[lays1].groupItems[group2].textFrames[text].contents.match(/^\d{1,4}$/))                                     {                                         if(pindot.name==("FUSE"+sourceDoc.layers[lays1].groupItems[group2].textFrames[text].contents))                                         {                                             return sourceDoc.layers[lays1].groupItems[group2].textFrames[text];                                             }                                         }                                      else if(sourceDoc.layers[lays1].groupItems[group2].textFrames[text].contents.match(/^[A-Z]*$/))                                     {                                         if(pindot.name==("FL"+sourceDoc.layers[lays1].groupItems[group2].textFrames[text].contents))                                         {                                             return sourceDoc.layers[lays1].groupItems[group2].textFrames[text];                                             }                                         }                                     }                                 }                             }                         }                     }                 }             }         }     } 
 else
 {     return 0;     }
 }
}
}
}
}






function check_cil_star(main_group,pindot,rect1,text1)
{
    for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)    {       var arr1=[];            mainloop4:            for(var group1=0;group1<sourceDoc.layers[lays1].groupItems.length;group1++)            {                                if(sourceDoc.layers[lays1].groupItems[group1].name=="Variant Terminal")                {                    for(var group2=0;group2<sourceDoc.layers[lays1].groupItems[group1].groupItems.length;group2++)                    {                        if(sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].name=="Star Terminal")                        {                                                      for(var text2=0;text2<sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].textFrames.length;text2++)                          {                              if(text1.contents==sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].textFrames[text2].contents)                              {                                  for(var text3=0;text3<sourceDoc.layers[lays1].groupItems[group1].textFrames.length;text3++)                                  {                                      if(sourceDoc.layers[lays1].groupItems[group1].textFrames[text3].contents.match(/^\d{1,3}[A-Z]$/) || sourceDoc.layers[lays1].groupItems[group1].textFrames[text3].contents.match(/^\d{1,4}$/))                                      {                                          arr1.push(sourceDoc.layers[lays1].groupItems[group1].textFrames[text3].contents);                                  }                              else                              {                                  }                              }}                                                            else                              {                                  continue mainloop4;                                }                            }                        }                    }                }            }}    if(arr1.length==2)    {               return arr1;        }            else    {        return 0;        }    }  function check_connect_csv(main_group_path,pindot,rect1,text1,ter1,ter2)  {    var s=[];    var array = main_group_path.name.split(":");       if(array==null)    {        return 0;        }    else    {        main_loop1:        for(var jj=0;jj<array.length;jj++)        {             for(csv_iter = 0;csv_iter < fileArray_SM_name.length; csv_iter++)    {        if(array[jj] == fileArray_SM_name[csv_iter][0])        {            if(ter1==fileArray_SM_name[csv_iter][2])            {                var terminal_found=1;                s.push(fileArray_SM_name[csv_iter][0]);                break  main_loop1;                  }            }        }    }
}






var array1=main_group_path.name.split(":");
 if(array1==null)
    {        return 0;        }    else    {        main_loop2:        for(var jj=0;jj<array1.length;jj++)        {             for(csv_iter = 0;csv_iter < fileArray_SM_name.length; csv_iter++)    {        if(array1[jj] == fileArray_SM_name[csv_iter][0])        {            if(ter2==fileArray_SM_name[csv_iter][2])            {                var terminal_found1=1;                s.push(fileArray_SM_name[csv_iter][0]);                break  main_loop2;                  }            }        }    }
}




if(terminal_found1==1 && terminal_found==1  && s.length==2)
{   return s;           }
else
{    return 0;    }
}                                                                                                  


function find_rectangle_path_with_large_area(main_group)
{
    var alll_path_array=[];    var max_area_path=0;    var max_path_item;    for(big_path_index=0;big_path_index<main_group.pathItems.length;big_path_index++)    {        max_area_path=Math.abs(main_group.pathItems[0].area);        max_path_item=main_group.pathItems[0];      if(Math.abs(main_group.pathItems[big_path_index].area)>max_area_path)      {        max_path_item=main_group.pathItems[big_path_index];          max_area_path=Math.abs(main_group.pathItems[big_path_index].area);          }              }        for(sub_group_big_group_index=0;sub_group_big_group_index<main_group.groupItems.length;sub_group_big_group_index++)    {                for(sub_group_path_item=0;sub_group_path_item<main_group.groupItems[sub_group_big_group_index].pathItems.length;sub_group_path_item++)        {            //    alll_path_array.push(main_group.groupItems[sub_group_big_group_index].pathItems)     if(Math.abs(main_group.groupItems[sub_group_big_group_index].pathItems[sub_group_path_item].area)>max_area_path)        {            max_path_item=main_group.groupItems[sub_group_big_group_index].pathItems[sub_group_path_item];          max_area_path=Math.abs(main_group.groupItems[sub_group_big_group_index].pathItems[sub_group_path_item].area);                        }                }                }        return max_path_item;        }






function group_connector_name()
{
     for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)
{    for(var group1=0;group1<sourceDoc.layers[lays1].groupItems.length;group1++)    {        if(sourceDoc.layers[lays1].groupItems[group1].name!="AAA")        {        var arr=[];        for(var group2=sourceDoc.layers[lays1].groupItems[group1].groupItems.length-1;group2>=0;group2--)        {                       for(var text=0;text<sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].textFrames.length;text++)            {                if(!sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].textFrames[text].contents.match(/[A,B,C,D,E,F,H,L,M,N,P,R,T][0-9]{1,3}$/)) continue;                 {                    arr.push(sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].textFrames[text].contents)                    }                }            }                for(var text1=sourceDoc.layers[lays1].groupItems[group1].textFrames.length-1;text1>=0;text1--)        {            if(!sourceDoc.layers[lays1].groupItems[group1].textFrames[text1].contents.match(/[A,B,C,D,E,F,H,L,M,N,P,R,T][0-9]{1,3}$/)) continue;             {                arr.push(sourceDoc.layers[lays1].groupItems[group1].textFrames[text1].contents)                }            }        if(arr.length==1)        {            sourceDoc.layers[lays1].groupItems[group1].name=arr[0]+":"            }                else if(arr.length>1)            {        var sorted_arr= removeDuplicates(arr)                  




for(var k=0;k<sorted_arr.length;k++)
{     if(k==0)          {              var test=sorted_arr[k]+":"              }          else          {              var test=test+sorted_arr[k]+":"                    }      }  sourceDoc.layers[lays1].groupItems[group1].name=test  }
else
{    }


}
}
}
}
function removeDuplicates(num) {
  var x,      len=num.length,      out=[],      obj={};  for (x=0; x<len; x++) {    obj[num[x]]=0;  }  for (x in obj) {    out.push(x);  }  return out;
}       




function rename_fuse_group()
{
    for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)    {        for(var group1=0;group1<sourceDoc.layers[lays1].groupItems.length;group1++)        {            var fuse_path=0;            for(var path1=0;path1<sourceDoc.layers[lays1].groupItems[group1].pathItems.length;path1++)            {                var path_type=type_of_path(sourceDoc.layers[lays1].groupItems[group1].pathItems[path1]);                if(path_type=="Rectangle Type 3")                {                    fuse_path=1;                    break;                    }                }            if(fuse_path==1)            {            var text_found=0;                    for(var text=0;text<sourceDoc.layers[lays1].groupItems[group1].textFrames.length;text++)                    {                        if(sourceDoc.layers[lays1].groupItems[group1].textFrames[text].contents.match((/^[A-Z]*$/)))                        {                            sourceDoc.layers[lays1].groupItems[group1].name=="FL-"+sourceDoc.layers[lays1].groupItems[group1].textFrames[text].contents+":";                            text_found=1;                                                       }                        else if(sourceDoc.layers[lays1].groupItems[group1].textFrames[text].contents.match((/^\d{1,4}$/)))                        {                            sourceDoc.layers[lays1].groupItems[group1].name=="FUSE"+sourceDoc.layers[lays1].groupItems[group1].textFrames[text].contents+":";                             text_found=1;                            }                        }                                        if(text_found==0)                    {                          var count_error=0;                         var group_main=sourceDoc.layers[lays1].groupItems[group1];                                                                for(var error=0;error<group_main.groupItems.length;error++)                          {                              if(group_main.groupItems[error].name==group_main.name+ "Error:")                              {                                   var max_area_path=find_rectangle_path_with_large_area(group_main);  var x_axis=Math.abs(max_area_path.pathPoints[0].anchor[0]);                  var y_axis=Math.abs(max_area_path.pathPoints[0].anchor[1]);                  var textRef =group_main.groupItems[error].textFrames.add(); 
textRef.contents ="Fuse Terminal Number is not present" ;
textRef.top =y_axis ; 
textRef.left = x_axis+20 ; 
textRef.textRange.characterAttributes.size = 10; 
count_error++;
}
}








if(count_error==1)
{
    }
else
{                                    var newGroup  =group_main.groupItems.add();                             newGroup.name = group_main.name+ "Error:";                               var max_area_path=find_rectangle_path_with_large_area(group_main);  var x_axis=Math.abs(max_area_path.pathPoints[0].anchor[0]);                  var y_axis=Math.abs(max_area_path.pathPoints[0].anchor[1]);                  var textRef = newGroup.textFrames.add(); 
textRef.contents ="Fuse Terminal Number is not present" ;
textRef.top =y_axis ; 
textRef.left = x_axis+20 ; 
textRef.textRange.characterAttributes.size = 10; 
newGroup.moveToEnd(group_main);
}
}
}
}
}
}


function move_rectangle()
{
    for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)    {        for(var group1=0;group1<sourceDoc.layers[lays1].groupItems.length;group1++)        {       for(var group2=0;group2<sourceDoc.layers[lays1].groupItems[group1].groupItems.length;group2++)       {           for(path2=sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].pathItems.length-1;path2>=0;path2--)           {                              var  path_type = type_of_path(sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].pathItems[path2]);                     if(path_type=="Rectangle Type 2" || path_type=="Rectangle Type 10")           {               sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].pathItems[path2].moveAfter(sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].pathItems[path2].parent)               }           }       }   }
}
}






function Check_batteryline()
{
   for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)    {        for(var group1=sourceDoc.layers[lays1].groupItems.length-1;group1>=0;group1--)        {                       for(var path1=0;path1<sourceDoc.layers[lays1].groupItems[group1].pathItems.length;path1++)                {                var  path_type = type_of_path(sourceDoc.layers[lays1].groupItems[group1].pathItems[path1]);                     if(path_type=="Rectangle Type 1" || path_type=="Rectangle Type 4" || path_type=="Rectangle Type 12" || path_type=="Rectangle Type 13" )           {                            var x_bat=sourceDoc.layers[lays1].groupItems[group1].pathItems[path1].visibleBounds[0];               var y_bat=sourceDoc.layers[lays1].groupItems[group1].pathItems[path1].visibleBounds[1];               var x_bat1=sourceDoc.layers[lays1].groupItems[group1].pathItems[path1].visibleBounds[2];               var y_bat1=sourceDoc.layers[lays1].groupItems[group1].pathItems[path1].visibleBounds[3];              for(var lays2=0;lays2<sourceDoc.layers.length;lays2++)    {                for(var line=0;line<sourceDoc.layers[lays2].groupItems.length;line++)                {                    for(var line1=0;line1<sourceDoc.layers[lays2].groupItems[line].pathItems.length;line1++)                    {                          var  path_type1 = type_of_path(sourceDoc.layers[lays2].groupItems[line].pathItems[line1]);               if(path_type1=="Line Type 1" || path_type1=="Line Type 3"  )           {                       var x_line=sourceDoc.layers[lays2].groupItems[line].pathItems[line1].pathPoints[0].anchor[0];               var y_line=sourceDoc.layers[lays2].groupItems[line].pathItems[line1].pathPoints[0].anchor[1];               var x_line_end=sourceDoc.layers[lays2].groupItems[line].pathItems[line1].pathPoints[sourceDoc.layers[lays2].groupItems[line].pathItems[line1].pathPoints.length-1].anchor[0];               var y_line_end=sourceDoc.layers[lays2].groupItems[line].pathItems[line1].pathPoints[sourceDoc.layers[lays2].groupItems[line].pathItems[line1].pathPoints.length-1].anchor[1];                                            if(((x_line>x_bat) && (x_line<x_bat1) && (Math.abs(y_line-y_bat1))<=3)|| ((x_line_end>x_bat) && (x_line_end<x_bat1) && (Math.abs(y_line_end-y_bat1))<=3))               {                   if(sourceDoc.layers[lays2].groupItems[line].pathItems[line1].parent.name=="AAA" || sourceDoc.layers[lays2].groupItems[line].pathItems[line1].parent.parent.name=="AAA")                   {                       }                   else                   {                        for(var lays3=0;lays3<sourceDoc.layers.length;lays3++)    {        for(var group1=sourceDoc.layers[lays1].groupItems.length-1;group1>=0;group1--)                {                        if(sourceDoc.layers[lays1].groupItems[group1].name=="AAA")            {                sourceDoc.layers[lays2].groupItems[line].pathItems[line1].moveToBeginning(sourceDoc.layers[lays1].groupItems[group1]);                }            }        }    }                                             }                  }              }          }      }  }
}
}
}
}






function Check_battery_AAA()
{
   for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)    {        for(var group1=sourceDoc.layers[lays1].groupItems.length-1;group1>=0;group1--)        {                       for(var path1=sourceDoc.layers[lays1].groupItems[group1].pathItems.length-1;path1>=0;path1--)                {                var  path_type=type_of_path(sourceDoc.layers[lays1].groupItems[group1].pathItems[path1])                     if(path_type=="Rectangle Type 1" || path_type=="Rectangle Type 4" ||  path_type=="Rectangle Type 12" )           {                        check_battery_path(sourceDoc.layers[lays1].groupItems[group1].pathItems[path1],group1)                             }           }       }   }
}


function check_battery_path(path_item,group_position)
{
    for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)    {    for(var group3=sourceDoc.layers[lays1].groupItems.length-1;group3>=0;group3--)    {        for(var text=0;text<sourceDoc.layers[lays1].groupItems[group3].textFrames.length;text++)        {                      if(sourceDoc.layers[lays1].groupItems[group3].textFrames[text].contents=="BATTERY" || sourceDoc.layers[lays1].groupItems[group3].textFrames[text].contents.slice(0,15)=="IGNITION SWITCH")            {                                if(group3==group_position)               {                                   if(sourceDoc.layers[lays1].groupItems[group3].name=="AAA" || sourceDoc.groupItems[group3].parent.name=="AAA")                   {                       }                   else                   {                       move_to_AAA_Battery(sourceDoc.layers[lays1].groupItems[group3]);                       break;                       }                   }               }       }                     }       }   }


function move_to_AAA_Battery(group_item)
{
    for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)    {        for(var group1=0;group1<sourceDoc.layers[lays1].groupItems.length;group1++)        {            if(sourceDoc.layers[lays1].groupItems[group1].name=="AAA")            {                               group_item.moveToBeginning(sourceDoc.layers[lays1].groupItems[group1])               }           }       }   }




function remove_dot_pathitem()
{
    for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)    {        for(var group1=sourceDoc.layers[lays1].groupItems.length-1;group1>=0;group1--)        {            if(sourceDoc.layers[lays1].groupItems[group1].groupItems.length==0 && sourceDoc.layers[lays1].groupItems[group1].textFrames.length==0)            {                var path_found=0;                for(var path1=0;path1<sourceDoc.layers[lays1].groupItems[group1].pathItems.length;path1++)                {                                       var path_type= type_of_path(sourceDoc.layers[lays1].groupItems[group1].pathItems[path1])                   if(path_type!="Anchor point")                   {                        path_found=1;                       }                   }               }           if(path_found==0)           {               sourceDoc.layers[lays1].groupItems[group1].remove();               }           }       }   }






function color_empty_pathitem()
{
    for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)    {        if(sourceDoc.layers[lays1].name=="Layer 1" || sourceDoc.layers[lays1].name=="ILLUST")        {
 for(var path1=0;path1<sourceDoc.layers[lays1].pathItems.length;path1++)
 {     if(sourceDoc.layers[lays1].pathItems[path1].name!="DocumentResizeTextFrame")     {         sourceDoc.layers[lays1].pathItems[path1].strokeColor=magentaColor3;          sourceDoc.layers[lays1].pathItems[path1].strokeWidth=3;          }      }  }
}
}




function check_text_empty_high()
{
    for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)    {        for(var group1=0;group1<sourceDoc.layers[lays1].groupItems.length;group1++)        {            if(sourceDoc.layers[lays1].groupItems[group1].groupItems.length==0 && sourceDoc.layers[lays1].groupItems[group1].pathItems.length==0)            {                         if(sourceDoc.layers[lays1].groupItems[group1].textFrames.length==1)                {                if(sourceDoc.layers[lays1].groupItems[group1].textFrames[0].contents.slice(0,2)!="To")                {                if( sourceDoc.layers[lays1].groupItems[group1].textFrames[0].textRange.characterAttributes.size!=12)                {                                        sourceDoc.layers[lays1].groupItems[group1].textFrames[0].textRange.characterAttributes.fillColor=magentaColor6;                    sourceDoc.layers[lays1].groupItems[group1].textFrames[0].textRange.characterAttributes.size==7.5                    }                }            }        }    }
}
}  function line_check1_unit()    {          for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)
{    var count=0;    for(var group1=0;group1<sourceDoc.layers[lays1].groupItems.length;group1++)    {        mainloop12:                if(sourceDoc.layers[lays1].groupItems[group1].name!="AAA")        {            for(var group2=0;group2<sourceDoc.layers[lays1].groupItems[group1].groupItems.length;group2++)            {                for(var path=0;path<sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].pathItems.length;path++)                {                    var path_type = type_of_path(sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].pathItems[path]);                    if(path_type=="Line Type 1" || path_type=="Line Type 2" || path_type=="Line Type 3" || path_type=="Line Type 4" || path_type=="Line Type 10" )                    {                        for(var group3=0;group3<sourceDoc.layers[lays1].groupItems[group1].groupItems.length;group3++)            {                        for(var text=0;text<sourceDoc.layers[lays1].groupItems[group1].groupItems[group3].textFrames.length;text++)                        {                            if(!sourceDoc.layers[lays1].groupItems[group1].groupItems[group3].textFrames[text].contents.match(/[A-Z][0-9]{1,3}$/)) continue;                             {                                var count_error=0;            group_main=sourceDoc.layers[lays1].groupItems[group1];                  for(var error=0;error<sourceDoc.layers[lays1].groupItems[group1].groupItems.length;error++)                          {                              if(group_main.groupItems[error].name==group_main.name+ "Error:")                              {                                   var max_area_path=find_rectangle_path_with_large_area(group_main);  var x_axis=Math.abs(max_area_path.pathPoints[0].anchor[0]);                  var y_axis=Math.abs(max_area_path.pathPoints[0].anchor[1]);                  var textRef =group_main.groupItems[error].textFrames.add(); 
textRef.contents ="Unwanted line present inside the group" ;
textRef.top =y_axis ; 
textRef.left = x_axis+20 ; 
textRef.textRange.characterAttributes.size = 10; 
count_error++;
}
}








if(count_error==1)
{
    }
else
{                                    var newGroup  =group_main.groupItems.add();                             newGroup.name = group_main.name+ "Error:";                               var max_area_path=find_rectangle_path_with_large_area(group_main);  var x_axis=Math.abs(max_area_path.pathPoints[0].anchor[0]);                  var y_axis=Math.abs(max_area_path.pathPoints[0].anchor[1]);                  var textRef = newGroup.textFrames.add(); 
textRef.contents ="Unwanted line present inside the group" ;
textRef.top =y_axis ; 
textRef.left = x_axis+20 ; 
textRef.textRange.characterAttributes.size = 10; 
newGroup.moveToEnd(group_main);
}
}
break mainloop12;
}
}
}
}
}
}
}
}
}  










function line_check1_unit_2()
    {          for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)
{        for(var group1=0;group1<sourceDoc.layers[lays1].groupItems.length;group1++)    {        var count_group_found=0;                if(sourceDoc.layers[lays1].groupItems[group1].name!="AAA")        {          mainloop12:           for(var group2=0;group2<sourceDoc.layers[lays1].groupItems[group1].groupItems.length;group2++)           {               if(sourceDoc.layers[lays1].groupItems[group1].groupItems[group2].name.slice(0,15)=="connectornumber")               {                   count_group_found=1;                   break  mainloop12;                   }               }           if(  count_group_found==1)           {                               for(var path=0;path<sourceDoc.layers[lays1].groupItems[group1].pathItems.length;path++)                {                    var path_type = type_of_path(sourceDoc.layers[lays1].groupItems[group1].pathItems[path]);                    if(path_type=="Line Type 1" || path_type=="Line Type 2" || path_type=="Line Type 3" || path_type=="Line Type 4" || path_type=="Line Type 10" )                    {                        var count_error=0;            group_main=sourceDoc.layers[lays1].groupItems[group1];                  for(var error=0;error<sourceDoc.layers[lays1].groupItems[group1].groupItems.length;error++)                          {                              if(group_main.groupItems[error].name==group_main.name+ "Error:")                              {                                   var max_area_path=find_rectangle_path_with_large_area(group_main);  var x_axis=Math.abs(max_area_path.pathPoints[0].anchor[0]);                  var y_axis=Math.abs(max_area_path.pathPoints[0].anchor[1]);                  var textRef =group_main.groupItems[error].textFrames.add(); 
textRef.contents ="Unwanted line present inside the group" ;
textRef.top =y_axis ; 
textRef.left = x_axis+20 ; 
textRef.textRange.characterAttributes.size = 10; 
count_error++;
}
}








if(count_error==1)
{
    }
else
{                                    var newGroup  =group_main.groupItems.add();                             newGroup.name = group_main.name+ "Error:";                               var max_area_path=find_rectangle_path_with_large_area(group_main);  var x_axis=Math.abs(max_area_path.pathPoints[0].anchor[0]);                  var y_axis=Math.abs(max_area_path.pathPoints[0].anchor[1]);                  var textRef = newGroup.textFrames.add(); 
textRef.contents ="Unwanted line present inside the group" ;
textRef.top =y_axis ; 
textRef.left = x_axis+20 ; 
textRef.textRange.characterAttributes.size = 10; 
newGroup.moveToEnd(group_main);
}
}


}
}
}
}
}
}






function check_can_AAA_PATH()
{
       for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)
{        for(var group1=0;group1<sourceDoc.layers[lays1].groupItems.length;group1++)    {        for(var path1=0;path1<sourceDoc.layers[lays1].groupItems[group1].pathItems.length;path1++)        {             var path_type=type_of_path(sourceDoc.layers[lays1].groupItems[group1].pathItems[path1]);             if(path_type=="Line Type 10")             {                 if(sourceDoc.layers[lays1].groupItems[group1].pathItems[path1].parent.name!="AAA"  )                 {                     sourceDoc.layers[lays1].groupItems[group1].pathItems[path1].strokeColor=magentaColor3;                     sourceDoc.layers[lays1].groupItems[group1].pathItems[path1].strokeWidth=5;                     }                 }             }         }     }
 }




function check_AAA_path_BCM()
{
     for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)
{        for(var group1=0;group1<sourceDoc.layers[lays1].groupItems.length;group1++)    {        for(var path1=0;path1<sourceDoc.layers[lays1].groupItems[group1].pathItems.length;path1++)        {             var path_type=type_of_path(sourceDoc.layers[lays1].groupItems[group1].pathItems[path1]);             if(path_type=="Line Type 10" || path_type=="Line Type 1" || path_type=="Line Type 2" || path_type=="Line Type 3"  )             {                 if(sourceDoc.layers[lays1].groupItems[group1].pathItems[path1].parent.name!="AAA"  )                 {                     sourceDoc.layers[lays1].groupItems[group1].pathItems[path1].strokeColor=magentaColor3;                     sourceDoc.layers[lays1].groupItems[group1].pathItems[path1].strokeWidth=5;                     }                 }             }         }     }
 }






function write_to_link()
{
      for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)
{    for(var group1=0;group1<sourceDoc.layers[lays1].groupItems.length;group1++)    {        if(sourceDoc.layers[lays1].groupItems[group1].name=="Link")        {        for(var text=0;text<sourceDoc.layers[lays1].groupItems[group1].textFrames.length;text++)        {            if(sourceDoc.layers[lays1].groupItems[group1].textFrames[text].contents.slice(0,2)=="To")            {                                   var s=Checking_Link_group_properties_power(sourceDoc.layers[lays1].groupItems[group1].textFrames[text],sourceDoc.layers[lays1].groupItems[group1]);                    if(s!=0 || s!=null)                    {                                             var tr=get_file_name_id(s);                      if(tr!=null && tr!=0)                      {                            file_output.writeln(sourceDoc.name+","+"L"+","+"L"+","+"-"+","+"-"+","+tr+","+s)                            }                        }                    }                }            }        }    }
}                                                                                                                                                                                                                                                                                                                                                                function Checking_Link_group_properties_power(text_frames_to_check,main)
{    var result_to_link_check;    var one_line_link_name_s="";    var one_line_link_name="";    var text_buffer_array="";    if(text_frames_to_check!=null)    {           if(text_frames_to_check.lines.length>1)    {    one_line_link_name=Make_one_line(text_frames_to_check);           var text_buffer_array = one_line_link_name[0];        for( array_iteration_value = 1 ;array_iteration_value<one_line_link_name.length; array_iteration_value++)        {                      text_buffer_array = text_buffer_array+one_line_link_name[array_iteration_value];    }    one_line_link_name_s=one_line_link_name.toString();    }    else if(text_frames_to_check.lines.length==1)    {    text_buffer_array=text_frames_to_check.contents;    }    }            result_to_link_check =  title_checking_link(text_buffer_array);                               if(result_to_link_check != 0 || result_to_link_check != null )                        {                                       return result_to_link_check;                                                                                                                                }                         else                         {                                                                                               if(text_frames_to_check.parent.name == "Link")                                        {                                                                             var x_axis=Math.abs(Math.round(text_frames_to_check.textPath.pathPoints[0].anchor[0]));                  var y_axis=Math.abs(text_frames_to_check.textPath.pathPoints[0].anchor[1]);                  var r=main.groupItems.add();                    r.name=main.name+"Error:"                                var textRef = r.textFrames.add();                                 textRef.contents =text_buffer_array+"_Mismatch";
textRef.top =y_axis ; 
textRef.left = x_axis+20 ; 
textRef.textRange.characterAttributes.size = 10; 
r.moveToEnd(main);                                                                                                                                                                  }                                                                      return 0;                                                                                               }                                                
}                               function Make_one_line(SM_name_near_connector)
{      var temperory_index = 0;    var temp,internaltextframe_index;    var internaltextframe;    internaltextframe = [];    var internaltextframe_2;    internaltextframe_2 = [];   internaltextframe_index=0;   var count_buff = 0;   var temperory_string = "";        for(line_len=0;line_len<SM_name_near_connector.lines.length;line_len++)         {                     internaltextframe[internaltextframe_index] = SM_name_near_connector.lines[line_len].contents;            internaltextframe_index++;         }    for(assign_textframe = 0;assign_textframe<internaltextframe.length;assign_textframe++)    {        internaltextframe_2[assign_textframe] = [];     }                 if(internaltextframe.length>1)         {                   for(text_iteration = 0;text_iteration<internaltextframe.length;text_iteration++)     {         var space_count_flag = 0;                   if(internaltextframe[text_iteration][internaltextframe[text_iteration].length-1] == " " )         {                        for(internal_text_frame_length = internaltextframe[text_iteration].length-1;internal_text_frame_length>=0;internal_text_frame_length--)             {                              if(internaltextframe[text_iteration][internal_text_frame_length] == " " )                 {                    space_count_flag++;                 }                else                {                    break;                 }             }               for(internal_text_frame_length = 0;internal_text_frame_length< internaltextframe[text_iteration].length-space_count_flag;internal_text_frame_length++)         {             internaltextframe_2[text_iteration][internal_text_frame_length] = internaltextframe[text_iteration][internal_text_frame_length];          }       }              else            {                        for(internal_text_frame_length = 0;internal_text_frame_length< internaltextframe[text_iteration].length;internal_text_frame_length++)              {                 internaltextframe_2[text_iteration][internal_text_frame_length] = internaltextframe[text_iteration][internal_text_frame_length];              }              }         }        for(i=0;i<internaltextframe_2.length;i++)        {        var temp_str,temp_str_space;          if(i==0 )        {                               space_value = String.fromCharCode (32);                      temp_str = internaltextframe_2[i];            temp_str = temp_str.concat (space_value);          }        else if(i == internaltextframe_2.length-1 )        {                internaltextframe_2[i].toString();            temp_str = temp_str.concat (internaltextframe_2[i]);         }        else         {                        space_value = String.fromCharCode (32);          temp = temp_str.concat (internaltextframe_2[i],space_value);            temp_str = temp;                }                        }      temp_str = remove_hyphen(temp_str);     temperory_string = temp_str;



}
else
{
      temperory_string = SM_name_near_connector.contents;
 }










return temperory_string;




}
                    function title_checking_link(title_from_ai_file)
{                    title_new_ai = title_from_ai_file.toLowerCase();        var title_ID="";        var title_ID_with_to="";        for(title_check_loop = 0;title_check_loop< fileArray_title.length; title_check_loop++)        {                          if(fileArray_title[title_check_loop][0]!=null)                {                                title_ID = fileArray_title[title_check_loop][0].toLowerCase();                                title_ID_with_to = "to " + title_ID;                           if(title_ID_with_to ==    title_new_ai)                {                        return fileArray_title[title_check_loop][0];                                        }                          }                       }        return 0;          
}                                                                             function get_file_name_id(text)  {           for(title_check_loop = 0;title_check_loop< fileArray_title.length; title_check_loop++)        {                            if(fileArray_title[title_check_loop][0]==text)                {                        return fileArray_title[title_check_loop][1];                        }                    }                }                                              function remove_hyphen(SM_name_with_hyphen)
{      var SM_name_with_hyphen_buffer = [];
 var hyphenchange_count = 0;
for(assign_textframe = 0;assign_textframe<SM_name_with_hyphen.length;assign_textframe++)
{       if(SM_name_with_hyphen[assign_textframe-1] == "-" &&   SM_name_with_hyphen[assign_textframe] == " " )    {               SM_name_with_hyphen_buffer[assign_textframe] =  SM_name_with_hyphen[assign_textframe+1];               hyphenchange_count++;    }    else    {        SM_name_with_hyphen_buffer[assign_textframe - hyphenchange_count ] =  SM_name_with_hyphen[assign_textframe]     }
 }  return SM_name_with_hyphen_buffer;    }  




function autoColor_updation()
{
    for(var group1=0;group1<sourceDoc.groupItems.length;group1++)    {        for(var path1=0;path1<sourceDoc.groupItems[group1].pathItems.length;path1++)        {            var path_items_r=sourceDoc.groupItems[group1].pathItems[path1];            if((Math.round(path_items_r.strokeWidth*1000))>=500 && (Math.round(path_items_r.strokeWidth*1000))<=580 && path_items_r.fillColor.magenta>=55 && path_items_r.fillColor.magenta<=75 && path_items_r.fillColor.yellow>=50 && path_items_r.fillColor.yellow<=70 && path_items_r.closed==true && path_items_r.strokeDashes.length==0            && (Math.round(path_items_r.area))!=25 && (Math.round(path_items_r.area))!=6)            {                path_items_r.strokeWidth=0.567;                path_items_r.strokeColor.black=100;                 path_items_r.strokeColor.cyan=0;                  path_items_r.strokeColor.magenta=0;                   path_items_r.strokeColor.yellow=0;                   path_items_r.fillColor.cyan=0;                   path_items_r.fillColor.magenta=70;                   path_items_r.fillColor.yellow=60;                   path_items_r.fillColor.black=0;                   }               else if((Math.round(path_items_r.strokeWidth*1000))>=500 && (Math.round(path_items_r.strokeWidth*1000))<=580 && path_items_r.fillColor.magenta>=0 && path_items_r.fillColor.magenta<=5 && path_items_r.fillColor.yellow>=10 && path_items_r.fillColor.yellow<=35 &&  path_items_r.closed==true && path_items_r.strokeDashes.length==0               && (Math.round(path_items_r.area))!=25 && (Math.round(path_items_r.area))!=6)            {                path_items_r.strokeWidth=0.567;                path_items_r.strokeColor.black=100;                 path_items_r.strokeColor.cyan=0;                  path_items_r.strokeColor.magenta=0;                   path_items_r.strokeColor.yellow=0;                   path_items_r.fillColor.cyan=0;                   path_items_r.fillColor.magenta=0;                   path_items_r.fillColor.yellow=25;                   path_items_r.fillColor.black=0;                   }                              else if((Math.round(path_items_r.strokeWidth*1000))>=500 && (Math.round(path_items_r.strokeWidth*1000))<=580 && path_items_r.fillColor.magenta>=10 && path_items_r.fillColor.magenta<=35 && path_items_r.fillColor.yellow>=10 && path_items_r.fillColor.yellow<=35 &&  path_items_r.closed==true && path_items_r.strokeDashes.length==0               && (Math.round(path_items_r.area))!=25 && (Math.round(path_items_r.area))!=6)            {                path_items_r.strokeWidth=0.567;                path_items_r.strokeColor.black=100;                 path_items_r.strokeColor.cyan=0;                  path_items_r.strokeColor.magenta=0;                   path_items_r.strokeColor.yellow=0;                   path_items_r.fillColor.cyan=0;                   path_items_r.fillColor.magenta=25;                   path_items_r.fillColor.yellow=25;                   path_items_r.fillColor.black=0;                   }                else if((Math.round(path_items_r.strokeWidth*1000))>=500 && (Math.round(path_items_r.strokeWidth*1000))<=580 && path_items_r.strokeColor.magenta>=25 && path_items_r.strokeColor.magenta<=60 && path_items_r.strokeColor.cyan>=75 && path_items_r.strokeColor.cyan<=100  && path_items_r.strokeDashes.length==2                 && path_items_r.filled==false)            {                path_items_r.strokeWidth=0.567;                path_items_r.strokeColor.black=0;                 path_items_r.strokeColor.cyan=100;                  path_items_r.strokeColor.magenta=50;                   path_items_r.strokeColor.yellow=0;                  path_items_r.filled=false;                   }                              else if((Math.round(path_items_r.strokeWidth*1000))>=500 && (Math.round(path_items_r.strokeWidth*1000))<=580 && path_items_r.strokeColor.black>=75 && path_items_r.strokeColor.black<=100  && path_items_r.strokeDashes.length==2                 && path_items_r.filled==false)            {                path_items_r.strokeWidth=0.567;                path_items_r.strokeColor.black=100;                 path_items_r.strokeColor.cyan=0;                  path_items_r.strokeColor.magenta=0;                   path_items_r.strokeColor.yellow=0;                  path_items_r.filled=false;                   }               else if((Math.round(path_items_r.strokeWidth*1000))>=500 && (Math.round(path_items_r.strokeWidth*1000))<=580 && path_items_r.strokeColor.black>=75 && path_items_r.strokeColor.black<=100 &&  path_items_r.closed==true && path_items_r.strokeDashes.length==0 &&  path_items_r.pathPoints.length==4              && path_items_r.filled==false)             {                path_items_r.strokeWidth=0.567;                path_items_r.strokeColor.black=100;                 path_items_r.strokeColor.cyan=0;                  path_items_r.strokeColor.magenta=0;                   path_items_r.strokeColor.yellow=0;                   path_items_r.filled=false;                   }                              else if((Math.round(path_items_r.strokeWidth*1000))>=500 && (Math.round(path_items_r.strokeWidth*1000))<=580 &&  path_items_r.closed==true  &&  path_items_r.pathPoints.length==4              && (Math.round(path_items_r.area))==25 && path_items_r.strokeColor.black>=75 && path_items_r.strokeColor.black<=100 && path_items_r.fillColor.black>=75 && path_items_r.fillColor.black<=100)               {                   path_items_r.strokeWidth=0.567;                path_items_r.strokeColor.black=100;                 path_items_r.strokeColor.cyan=0;                  path_items_r.strokeColor.magenta=0;                   path_items_r.strokeColor.yellow=0;                   path_items_r.fillColor.cyan=0;                   path_items_r.fillColor.magenta=0;                   path_items_r.fillColor.yellow=0;                   path_items_r.fillColor.black=100;                   }                              else if((Math.round(path_items_r.strokeWidth*1000))>=500 && (Math.round(path_items_r.strokeWidth*1000))<=580 &&  path_items_r.closed==true  &&  path_items_r.pathPoints.length==4              && (Math.round(path_items_r.area))==25 && path_items_r.strokeColor.black>=75 && path_items_r.strokeColor.black<=100 && path_items_r.fillColor.black>=0 && path_items_r.fillColor.black<=5)               {                   path_items_r.strokeWidth=0.567;                path_items_r.strokeColor.black=100;                 path_items_r.strokeColor.cyan=0;                  path_items_r.strokeColor.magenta=0;                   path_items_r.strokeColor.yellow=0;                   path_items_r.fillColor.cyan=0;                   path_items_r.fillColor.magenta=0;                   path_items_r.fillColor.yellow=0;                   path_items_r.fillColor.black=0;                   }                                             else if((Math.round(path_items_r.strokeWidth*1000))>=500 && (Math.round(path_items_r.strokeWidth*1000))<=580 &&  path_items_r.closed==true  &&  path_items_r.pathPoints.length==4              && (Math.round(path_items_r.area))==25 && path_items_r.strokeColor.cyan>=75 && path_items_r.strokeColor.cyan<=100 && path_items_r.strokeColor.magenta>=25 && path_items_r.strokeColor.magenta<=50 && path_items_r.fillColor.cyan>=75 && path_items_r.fillColor.cyan<=100              && path_items_r.fillColor.magenta>=25 && path_items_r.fillColor.magenta<=50)               {                   path_items_r.strokeWidth=0.567;                path_items_r.strokeColor.black=0;                 path_items_r.strokeColor.cyan=100;                  path_items_r.strokeColor.magenta=50;                   path_items_r.strokeColor.yellow=0;                   path_items_r.fillColor.cyan=100;                   path_items_r.fillColor.magenta=50;                   path_items_r.fillColor.yellow=0;                   path_items_r.fillColor.black=0;                   }                                 else if((Math.round(path_items_r.strokeWidth*1000))>=500 && (Math.round(path_items_r.strokeWidth*1000))<=580 &&  path_items_r.closed==true  &&  path_items_r.pathPoints.length==4              && (Math.round(path_items_r.area))==25 && path_items_r.strokeColor.cyan>=75 && path_items_r.strokeColor.cyan<=100 && path_items_r.strokeColor.magenta>=25 && path_items_r.strokeColor.magenta<=50 && path_items_r.fillColor.cyan>=0 && path_items_r.fillColor.cyan<=5              && path_items_r.fillColor.magenta>=0 && path_items_r.fillColor.magenta<=5)              {                   path_items_r.strokeWidth=0.567;                path_items_r.strokeColor.black=0;                 path_items_r.strokeColor.cyan=100;                  path_items_r.strokeColor.magenta=50;                   path_items_r.strokeColor.yellow=0;                   path_items_r.fillColor.cyan=0;                   path_items_r.fillColor.magenta=0;                   path_items_r.fillColor.yellow=0;                   path_items_r.fillColor.black=0;                   }                                               else if((Math.round(path_items_r.strokeWidth*1000))>=500 && (Math.round(path_items_r.strokeWidth*1000))<=580 &&  path_items_r.closed==true  &&  path_items_r.pathPoints.length==4              && (Math.round(path_items_r.area))==25 && path_items_r.strokeColor.yellow>=75 && path_items_r.strokeColor.yellow<=100 && path_items_r.strokeColor.magenta>=75 && path_items_r.strokeColor.magenta<=100 && path_items_r.fillColor.yellow>=75 && path_items_r.fillColor.yellow<=100              && path_items_r.fillColor.magenta>=75 && path_items_r.fillColor.magenta<=100)               {                   path_items_r.strokeWidth=0.567;                path_items_r.strokeColor.black=0;                 path_items_r.strokeColor.cyan=0;                  path_items_r.strokeColor.magenta=100;                   path_items_r.strokeColor.yellow=100;                   path_items_r.fillColor.cyan=0;                   path_items_r.fillColor.magenta=100;                   path_items_r.fillColor.yellow=100;                   path_items_r.fillColor.black=0;                   }                                 else if((Math.round(path_items_r.strokeWidth*1000))>=500 && (Math.round(path_items_r.strokeWidth*1000))<=580 &&  path_items_r.closed==true  &&  path_items_r.pathPoints.length==4              && (Math.round(path_items_r.area))==25 && path_items_r.strokeColor.yellow>=75 && path_items_r.strokeColor.yellow<=100 && path_items_r.strokeColor.magenta>=75 && path_items_r.strokeColor.magenta<=100 && path_items_r.fillColor.yellow>=0 && path_items_r.fillColor.yellow<=5              && path_items_r.fillColor.magenta>=0 && path_items_r.fillColor.magenta<=5)               {                   path_items_r.strokeWidth=0.567;                path_items_r.strokeColor.black=0;                 path_items_r.strokeColor.cyan=0;                  path_items_r.strokeColor.magenta=100;                   path_items_r.strokeColor.yellow=100;                   path_items_r.fillColor.cyan=0;                   path_items_r.fillColor.magenta=0;                   path_items_r.fillColor.yellow=0;                   path_items_r.fillColor.black=0;                   }                               else if((Math.round(path_items_r.strokeWidth*1000))>=1100 && (Math.round(path_items_r.strokeWidth*1000))<=1700 && path_items_r.strokeColor.magenta>=25 && path_items_r.strokeColor.magenta<=60 && path_items_r.strokeColor.cyan>=75 && path_items_r.strokeColor.cyan<=100  && path_items_r.strokeDashes.length==0                  && path_items_r.height!=6 )            {                path_items_r.strokeWidth=1.417;                path_items_r.strokeColor.black=0;                 path_items_r.strokeColor.cyan=100;                  path_items_r.strokeColor.magenta=50;                   path_items_r.strokeColor.yellow=0;                  path_items_r.filled=false;                   }                              else if((Math.round(path_items_r.strokeWidth*1000))>=1100 && (Math.round(path_items_r.strokeWidth*1000))<=1700 && path_items_r.strokeColor.magenta>=25 && path_items_r.strokeColor.magenta<=60 && path_items_r.strokeColor.cyan>=75 && path_items_r.strokeColor.cyan<=100  && path_items_r.strokeDashes.length==0                  && path_items_r.height==6 )            {                path_items_r.strokeWidth=1.417;                path_items_r.strokeColor.black=0;                 path_items_r.strokeColor.cyan=100;                  path_items_r.strokeColor.magenta=50;                   path_items_r.strokeColor.yellow=0;                  path_items_r.filled=false;                   }                  else if((Math.round(path_items_r.strokeWidth*1000))>=1100 && (Math.round(path_items_r.strokeWidth*1000))<=1700 && path_items_r.strokeColor.black>=75 && path_items_r.strokeColor.black<=100  && path_items_r.strokeDashes.length==0)                              {                path_items_r.strokeWidth=1.417;                path_items_r.strokeColor.black=100;                 path_items_r.strokeColor.cyan=0;                  path_items_r.strokeColor.magenta=0;                   path_items_r.strokeColor.yellow=0;                  path_items_r.filled=false;                   }                                else if((Math.round(path_items_r.strokeWidth*1000))>=1100 && (Math.round(path_items_r.strokeWidth*1000))<=1700  && path_items_r.strokeColor.magenta>=75 && path_items_r.strokeColor.magenta<=100 && path_items_r.strokeColor.yellow>=75 && path_items_r.strokeColor.yellow<=100  && path_items_r.strokeDashes.length==0)                              {                path_items_r.strokeWidth=1.417;                path_items_r.strokeColor.black=0;                 path_items_r.strokeColor.cyan=0;                  path_items_r.strokeColor.magenta=100;                   path_items_r.strokeColor.yellow=100;                  path_items_r.filled=false;                   }                                 else if((Math.round(path_items_r.strokeWidth*1000))>=1100 && (Math.round(path_items_r.strokeWidth*1000))<=1700  && path_items_r.strokeColor.magenta>=0 && path_items_r.strokeColor.magenta<=5 && path_items_r.strokeColor.yellow>=0 && path_items_r.strokeColor.yellow<=5  && path_items_r.strokeDashes.length==2)                              {                path_items_r.strokeWidth=1.420;                path_items_r.strokeColor.black=0;                 path_items_r.strokeColor.cyan=0;                  path_items_r.strokeColor.magenta=0;                   path_items_r.strokeColor.yellow=0;                  path_items_r.filled=false;                   }    else if((Math.round(path_items_r.strokeWidth*1000))>=2100 && (Math.round(path_items_r.strokeWidth*1000))<=3000  && path_items_r.strokeColor.black>=75 && path_items_r.strokeColor.black<=100   && path_items_r.strokeDashes.length==0)                              {                path_items_r.strokeWidth=2.268;                path_items_r.strokeColor.black=100;                 path_items_r.strokeColor.cyan=0;                  path_items_r.strokeColor.magenta=0;                   path_items_r.strokeColor.yellow=0;                  path_items_r.filled=false;                   }                else               {                   }               }           }       }                                 
 function list_connector_names()
{    for(var lays1=0;lays1<sourceDoc.layers.length;lays1++)    {        for(var group1=0;group1<sourceDoc.layers[lays1].groupItems.length;group1++)        {             var arr=[];            if(sourceDoc.layers[lays1].groupItems[group1].name!="AAA")            {                 if(check4(sourceDoc.layers[lays1].groupItems[group1].name))    {        var array=sourceDoc.layers[lays1].groupItems[group1].name.split(":")        if(array.length==2)        {            var text2=get_connector_name_cil(array[0]);            if(text2=="WIRE TO WIRE" || text2=="BODY GROUND" || text2=="ENGINE GROUND")            {               file_output1.writeln(array[0]+","+text2);                 }            else            {            var text3=match_AAA_text(text2);                       if(text3==1)            {               file_output1.writeln(array[0]+","+text2+","+sourceDoc.name)               }           else           {               var text_found=0;               for(var text_4=0;text_4<sourceDoc.layers[lays1].groupItems[group1].textFrames.length;text_4++)               {                     if(sourceDoc.layers[lays1].groupItems[group1].textFrames[text_4].lines.length>1)                    {                        one_line_link_name=Make_one_line(sourceDoc.layers[lays1].groupItems[group1].textFrames[text_4]);                         var text_buffer_array = one_line_link_name[0];                            for( array_iteration_value = 1 ;array_iteration_value<one_line_link_name.length; array_iteration_value++)        {                      text_buffer_array = text_buffer_array+one_line_link_name[array_iteration_value];    }
}
else if(sourceDoc.layers[lays1].groupItems[group1].textFrames[text_4].lines.length==1)
{    text_buffer_array=sourceDoc.layers[lays1].groupItems[group1].textFrames[text_4].contents;    }
var text_6=text_buffer_array.replace(/\s/g, "")
var text_7=array[0].replace(/\s/g, "")
if(text_6==text_7)
{    text_found=1;    }
}  for(var group3=0;group3<sourceDoc.layers[lays1].groupItems[group1].groupItems.length;group3++)               {                   for(var text_1=0;text_1<sourceDoc.layers[lays1].groupItems[group1].groupItems[group3].textFrames.length;text_1++)                   {                        if(sourceDoc.layers[lays1].groupItems[group1].groupItems[group3].textFrames[text_1].lines.length>1)                    {                        one_line_link_name=Make_one_line(sourceDoc.layers[lays1].groupItems[group1].groupItems[group3].textFrames[text_1]);                         var text_buffer_array = one_line_link_name[0];                            for( array_iteration_value = 1 ;array_iteration_value<one_line_link_name.length; array_iteration_value++)        {                      text_buffer_array = text_buffer_array+one_line_link_name[array_iteration_value];    }
}
else if(sourceDoc.layers[lays1].groupItems[group1].groupItems[group3].textFrames[text_1].lines.length==1)
{    text_buffer_array=sourceDoc.layers[lays1].groupItems[group1].groupItems[group3].textFrames[text_1].contents;    }
var text_6=text_buffer_array.replace(/\s/g, "")
var text_7=array[0].replace(/\s/g, "")
if(text_6==text_7)
{    text_found=1;    }
}
}


if( text_found==0)
{
               mainloop3:               for(var group3=0;group3<sourceDoc.layers[lays1].groupItems[group1].groupItems.length;group3++)               {                   for(var text_1=0;text_1<sourceDoc.layers[lays1].groupItems[group1].groupItems[group3].textFrames.length;text_1++)                   {                       if(!sourceDoc.layers[lays1].groupItems[group1].groupItems[group3].textFrames[text_1].contents.match(/[A,B,C,D,E,F,H,L,M,N,P,R,T][0-9]{1,3}$/)) continue;                        if(sourceDoc.layers[lays1].groupItems[group1].groupItems[group3].textFrames[text_1].contents==array[0])                       {                       sourceDoc.layers[lays1].groupItems[group1].groupItems[group3].textFrames[text_1].textRange.characterAttributes.fillColor=magentaColor6;                       sourceDoc.layers[lays1].groupItems[group1].groupItems[group3].textFrames[text_1].textRange.characterAttributes.size=10;                       break mainloop3;                       }                   }               }           }       else       {            file_output1.writeln(array[0]+","+text2+","+sourceDoc.name)            }       }   }
}   else if(array.length>2)   {       for(var k=0;k<array.length-1;k++)       {             var text2=get_connector_name_cil(array[k]);            if(text2=="WIRE TO WIRE" || text2=="BODY GROUND" || text2=="ENGINE GROUND")            {               file_output1.writeln(array[k]+","+text2);                 }            else            {            var text3=match_AAA_text(text2);                       if(text3==1)            {               file_output1.writeln(array[k]+","+text2+","+sourceDoc.name)               }           else           {                 var text_found=0;               for(var text_4=0;text_4<sourceDoc.layers[lays1].groupItems[group1].textFrames.length;text_4++)               {                     if(sourceDoc.layers[lays1].groupItems[group1].textFrames[text_4].lines.length>1)                    {                        one_line_link_name=Make_one_line(sourceDoc.layers[lays1].groupItems[group1].textFrames[text_4]);                         var text_buffer_array = one_line_link_name[0];                            for( array_iteration_value = 1 ;array_iteration_value<one_line_link_name.length; array_iteration_value++)        {                      text_buffer_array = text_buffer_array+one_line_link_name[array_iteration_value];    }
}
else if(sourceDoc.layers[lays1].groupItems[group1].textFrames[text_4].lines.length==1)
{    text_buffer_array=sourceDoc.layers[lays1].groupItems[group1].textFrames[text_4].contents;    }
var text_6=text_buffer_array.replace(/\s/g, "")
var text_7=array[k].replace(/\s/g, "")
if(text_6==text_7)
{    text_found=1;    }
}  for(var group3=0;group3<sourceDoc.layers[lays1].groupItems[group1].groupItems.length;group3++)               {                   for(var text_1=0;text_1<sourceDoc.layers[lays1].groupItems[group1].groupItems[group3].textFrames.length;text_1++)                   {                        if(sourceDoc.layers[lays1].groupItems[group1].groupItems[group3].textFrames[text_1].lines.length>1)                    {                        one_line_link_name=Make_one_line(sourceDoc.layers[lays1].groupItems[group1].groupItems[group3].textFrames[text_1]);                         var text_buffer_array = one_line_link_name[0];                            for( array_iteration_value = 1 ;array_iteration_value<one_line_link_name.length; array_iteration_value++)        {                      text_buffer_array = text_buffer_array+one_line_link_name[array_iteration_value];    }
}
else if(sourceDoc.layers[lays1].groupItems[group1].groupItems[group3].textFrames[text_1].lines.length==1)
{    text_buffer_array=sourceDoc.layers[lays1].groupItems[group1].groupItems[group3].textFrames[text_1].contents;    }
var text_6=text_buffer_array.replace(/\s/g, "")
var text_7=array[k].replace(/\s/g, "")
if(text_6==text_7)
{    text_found=1;    }
}
}


if( text_found==0)
{
               mainloop3:               for(var group3=0;group3<sourceDoc.layers[lays1].groupItems[group1].groupItems.length;group3++)               {                   for(var text_1=0;text_1<sourceDoc.layers[lays1].groupItems[group1].groupItems[group3].textFrames.length;text_1++)                   {                       if(!sourceDoc.layers[lays1].groupItems[group1].groupItems[group3].textFrames[text_1].contents.match(/[A,B,C,D,E,F,H,L,M,N,P,R,T][0-9]{1,3}$/)) continue;                          if(sourceDoc.layers[lays1].groupItems[group1].groupItems[group3].textFrames[text_1].contents==array[k])                       {                       sourceDoc.layers[lays1].groupItems[group1].groupItems[group3].textFrames[text_1].textRange.characterAttributes.fillColor=magentaColor6;                       sourceDoc.layers[lays1].groupItems[group1].groupItems[group3].textFrames[text_1].textRange.characterAttributes.size=10;                       break mainloop3;                       }                   }               }           }       else       {            file_output1.writeln(array[k]+","+text2+","+sourceDoc.name);            }       }   }
}
}
else
{    }
}
}
}
}
}




 function check4 (nme) 
 {      if( (/^([A,B,C,D,E,F,H,K,M,N,R,T,Y][0-9]{1,3}:){1,9}$/).test( nme ) == false) {          return false; }      return true;  
}  






function get_connector_name_cil(text)
{
     for(csv_iter = 0;csv_iter < fileArray_SM_name.length; csv_iter++)    {        if(text== fileArray_SM_name[csv_iter][0])        {            return fileArray_SM_name[csv_iter][1]            }        }    }




function match_AAA_text(text3)
{
       for(var lays2=0;lays2<sourceDoc.layers.length;lays2++)    {        for(var group3=0;group3<sourceDoc.layers[lays2].groupItems.length;group3++)        {            if(sourceDoc.layers[lays2].groupItems[group3].name=="AAA")            {                var text_found=0;                var arr1=[];               mainloop1:                for(var text4=0;text4<sourceDoc.layers[lays2].groupItems[group3].textFrames.length;text4++)                {                    if(sourceDoc.layers[lays2].groupItems[group3].textFrames[text4].lines.length>1)                    {                        one_line_link_name=Make_one_line(sourceDoc.layers[lays2].groupItems[group3].textFrames[text4]);                         var text_buffer_array = one_line_link_name[0];                            for( array_iteration_value = 1 ;array_iteration_value<one_line_link_name.length; array_iteration_value++)        {                      text_buffer_array = text_buffer_array+one_line_link_name[array_iteration_value];    }
}
else if(sourceDoc.layers[lays2].groupItems[group3].textFrames[text4].lines.length==1)
{    text_buffer_array=sourceDoc.layers[lays2].groupItems[group3].textFrames[text4].contents;    }


var text5=text3.replace(/\s/g, "") 
var text6=text_buffer_array.replace(/\s/g, "")




if(text5==text6)
{


    text_found=1;    break mainloop1;    }
}
if(text_found==0 )
{    return 0;    }
else
{
return 1;
}
}
}
}


}




function type_of_path(check_path_prop)
{
    stroke_weight = Math.round(check_path_prop.strokeWidth*1000);         stroke_C = Math.round(check_path_prop.strokeColor.cyan);      stroke_K = Math.round(check_path_prop.strokeColor.black);        stroke_M = Math.round(check_path_prop.strokeColor.magenta);        stroke_Y = Math.round(check_path_prop.strokeColor.yellow);              Fill_C = Math.round(check_path_prop.fillColor.cyan);       Fill_K = Math.round(check_path_prop.fillColor.black);         Fill_M = Math.round(check_path_prop.fillColor.magenta);          Fill_Y = Math.round(check_path_prop.fillColor.yellow);             path_height = Math.round(check_path_prop.height);     path_area = Math.round(check_path_prop.area);        path_area_rect = Math.round(check_path_prop.width*check_path_prop.height);       path_area_circle= Math.round(3.14*(check_path_prop.height/2)*(check_path_prop.height/2));           if(path_area<0)         {      path_area*=-1;         }   if(path_height<0)         {      path_height*=-1;         }        if(check_path_prop.filled == true)          {                                     Filled_or_not = 2;         }         else          {                             Filled_or_not = 1;           }                if(check_path_prop.stroked == true)          {                                     Stroked_or_not = 2;         }         else          {                             Stroked_or_not = 1;           }            if(check_path_prop.closed == true)       {           Is_closed=1;        }       else       {           Is_closed=0;         }                      if(check_path_prop.strokeDashes.length == 2)             {                 Is_dashed = 1;            stroke_dash1=Math.round(check_path_prop.strokeDashes[0]);            stroke_dash2=Math.round(check_path_prop.strokeDashes[1]);            }            else if(check_path_prop.strokeDashes.length  == 0)            {                              Is_dashed = 0;                             }             else             {                                            Is_dashed = -1;                                   }  if((check_path_prop.pathPoints.length == 1) &&(stroke_C == 0 && stroke_M == 0 && stroke_Y == 0 && stroke_K == 100)  && (Filled_or_not ==1) && (stroke_weight==1000))  {  return("Anchor point");//points        }  if(path_area==129)  {  if((stroke_weight>=560 && stroke_weight<=570)  && (stroke_C == 0 && stroke_M == 0 && stroke_Y == 0 && stroke_K == 100) && (Is_closed==1) && (Filled_or_not ==1))  {  return("Rounded Rectangle");//callout  }  }  if((path_area==path_area_rect )&&(stroke_weight>=560 && stroke_weight<=570)&& (stroke_C == 0) && (stroke_M == 0) && (stroke_Y ==0 )&& (stroke_K == 100) &&(Is_closed==1) )  {  if( Fill_C == 0 && Fill_M == 70 && Fill_Y == 60 && Fill_K ==0)  {    return("Rectangle Type 1"); //Battery Color  }  else if ( Fill_C == 0 && Fill_M == 0 && Fill_Y == 25 && Fill_K == 0)  {    return("Rectangle Type 2");//unit color  }  else if ( Fill_C == 0 && Fill_M == 25 && Fill_Y == 25 && Fill_K == 0)  {    return("Rectangle Type 3");//fuse color  }  else if(Filled_or_not == 1 && (Is_dashed==0) && check_path_prop.pathPoints.length == 4 )  {      return("Rectangle Type 4");//ignition swithch            }    
 }
 if((stroke_weight>=560 && stroke_weight<=570)&& (stroke_C == 0) && (stroke_M == 0) && (stroke_Y ==0 )&& (stroke_K == 100) &&(Is_closed==1) && (Fill_C == 0 && Fill_M == 0 && Fill_Y == 25 && Fill_K == 0))  {    return("Rectangle Type 10"); //rectangle Color  }     if((stroke_weight>=560 && stroke_weight<=570)&& (stroke_C == 0) && (stroke_M == 0) && (stroke_Y ==0 )&& (stroke_K == 100) &&(Is_closed==1) && (Fill_C == 0 && Fill_M == 70 && Fill_Y == 60 && Fill_K == 0))  {    return("Rectangle Type 12"); //rectangle Color  }    if((stroke_weight>=560 && stroke_weight<=570)&& (stroke_C == 100) && (stroke_M == 50) && (stroke_Y ==0 )&& (stroke_K == 0) && (Is_dashed==1) && (Filled_or_not ==1) )    {        return("Rectangle Type 5");//shield unit       }  if((stroke_weight>=560 && stroke_weight<=570)&& (stroke_C == 0) && (stroke_M == 0) && (stroke_Y ==0 )&& (stroke_K == 100) && (Is_dashed==1) && (Filled_or_not ==1) )    {        return("Rectangle Type 11");//shield unit       }      if((stroke_weight>=560 && stroke_weight<=570)&& (stroke_C == 0) && (stroke_M == 0) && (stroke_Y ==0 )&& (stroke_K == 100) &&(Is_closed==1) && ( Fill_C == 0) && (Fill_M == 0) && (Fill_Y == 0) && (Fill_K ==0  ) && (path_area!=25) )    {        return("Rectangle Type 6");//Varient unit       }    if((stroke_weight>=560 && stroke_weight<=570)&& (stroke_C == 0) && (stroke_M == 0) && (stroke_Y ==0 )&& (stroke_K == 100) &&(Is_closed==1) && (Filled_or_not ==1) && check_path_prop.pathPoints.length == 4 )    {        return("Rectangle Type 13");//Varient unit       }     if((stroke_weight>=560 && stroke_weight<=570)&& (stroke_C == 0) && (stroke_M == 0) && (stroke_Y ==0 )&& (stroke_K == 100) &&(Is_closed==1) && (Filled_or_not ==1))    {        return("Rectangle Type 7");//Varient unit       }            if((stroke_weight>=560 && stroke_weight<=570)&& (stroke_C == 0) && (stroke_M == 0) && (stroke_Y ==0 )&& (stroke_K == 100) &&(Is_closed==1) && (Fill_C == 0 && Fill_M == 0 && Fill_Y == 0 && Fill_K == 100) && (check_path_prop.pathPoints.length==3) )    {        return("Rectangle Type 8");//Triangle       }             if((Filled_or_not ==1) && (Stroked_or_not ==1))    {        return("GuideLine");//Varient unit       }  if((path_area==25)&&(Is_closed==1) && (stroke_weight>=560 && stroke_weight<=570))  {  if((stroke_C == 0 && stroke_M == 0 && stroke_Y == 0 && stroke_K == 100) && (Fill_C == 0 && Fill_M == 0 && Fill_Y == 0 && Fill_K == 100))  {  return("Circle Type 1");//circle filled  }  else if((stroke_C == 100 && stroke_M == 50 && stroke_Y == 0 && stroke_K == 0) && (Fill_C == 100 && Fill_M == 50 && Fill_Y == 0 && Fill_K == 0))  {  return("Circle Type 2");//Ground unit color  }  else if((stroke_C == 0 && stroke_M == 100 && stroke_Y == 100 && stroke_K == 0) && (Fill_C == 0 && Fill_M == 100 && Fill_Y == 100 && Fill_K == 0))  {  return("Circle Type 3");//battery circle color  }  else if((stroke_C == 0 && stroke_M == 0 && stroke_Y == 0 && stroke_K == 100) && (Fill_C == 0 && Fill_M == 0 && Fill_Y == 0 && Fill_K == 0))  {  return("Circle Type 4");//unit not filled  }  else if((stroke_C == 100 && stroke_M == 50 && stroke_Y == 0 && stroke_K == 0)&& (Fill_C == 0 && Fill_M == 0 && Fill_Y == 0 && Fill_K == 0))  {  return("Circle Type 5");//ground not filled  }  else if((stroke_C == 0 && stroke_M == 100 && stroke_Y == 100 && stroke_K == 0) && (Fill_C == 0 && Fill_M == 0 && Fill_Y == 0 && Fill_K == 0))  {  return("Circle Type 6");// Battery Unit filled  }     }  if((path_area==6)&&(Is_closed==1) && (stroke_weight>=560 && stroke_weight<=570))  {  if((stroke_C == 0 && stroke_M == 0 && stroke_Y == 0 && stroke_K == 100) && (Fill_C == 0 && Fill_M == 0 && Fill_Y == 0 && Fill_K == 100))  {  return("Circle Type 8");//circle filled  }  else if((stroke_C == 100 && stroke_M == 50 && stroke_Y == 0 && stroke_K == 0) && (Fill_C == 100 && Fill_M == 50 && Fill_Y == 0 && Fill_K == 0))  {  return("Circle Type 9");//Ground unit color  }  else if((stroke_C == 0 && stroke_M == 100 && stroke_Y == 100 && stroke_K == 0) && (Fill_C == 0 && Fill_M == 100 && Fill_Y == 100 && Fill_K == 0))  {  return("Circle Type 10");//battery circle color              }    else if((stroke_C == 0 && stroke_M == 0 && stroke_Y == 0 && stroke_K == 100) && (Fill_C == 0 && Fill_M == 0 && Fill_Y == 25 && Fill_K == 0))  {  return("Circle Type 11")            }}
// Checking Line Type              if((stroke_weight>=1410 && stroke_weight<=1420 )&& (Filled_or_not == 1) && (Is_closed==0))  {  if(Is_dashed== 0)    {      if(stroke_C == 0 && stroke_M == 0 && stroke_Y == 0 && stroke_K == 100)  {    return("Line Type 1");//unit line color  }    else if (stroke_C == 100 && stroke_M == 50 && stroke_Y == 0 && stroke_K == 0 && (path_height!=6) )  {    return("Line Type 2");//ground line color  }                else if (stroke_C == 100 && stroke_M == 50 && stroke_Y == 0 && stroke_K == 0 && (path_height==6) )  {    return("Line Type 12");//ground line color  }    else if(stroke_C == 0 && stroke_M == 100 && stroke_Y == 100 && stroke_K == 0)  {    return("Line Type 3");//battery line color  }  }  else if(Is_dashed==1)  {    if((stroke_C == 0 && stroke_M == 0 && stroke_Y == 0 && stroke_K == 0)  && (stroke_dash1==3 && stroke_dash2==6))      {  return("Line Type 4");//can line color      }      }      }  if((stroke_weight>=560 && stroke_weight<=570 )&& (Filled_or_not == 1)&& (Is_closed==0))  {  if (Is_dashed== 0)  {  if(stroke_C == 0 && stroke_M == 0 && stroke_Y == 0 && stroke_K == 100)  {    return("Line Type 5");  }        else if((stroke_C == 100 && stroke_M == 50 && stroke_Y == 0 && stroke_K == 0))  {    return("Line Type 6");  }            }  else if(Is_dashed== 1)  {                     if((stroke_C == 0 && stroke_M == 0 && stroke_Y == 0 && stroke_K == 100) )  {    return("Line Type 7");  }  }  }


 if((stroke_weight>=560 && stroke_weight<=570 )&& (Is_closed==0))  {  if (Is_dashed== 0)  {  if(stroke_C == 0 && stroke_M == 0 && stroke_Y == 0 && stroke_K == 100 && Fill_C == 0 && Fill_M == 0 && Fill_Y == 25 && Fill_K == 0)  {    return("Line Type 5");  }        else if((stroke_C == 100 && stroke_M == 50 && stroke_Y == 0 && stroke_K == 0 && Fill_C == 0 && Fill_M == 0 && Fill_Y == 0 && Fill_K == 100))  {    return("Line Type 6");  }            }            }


 if((stroke_weight>=560 && stroke_weight<=570)&& (Is_closed==0) && (Is_dashed== 0))  {  if(stroke_C == 0 && stroke_M == 0 && stroke_Y == 0 && stroke_K == 100 && (Fill_C == 0 && Fill_M == 0 && Fill_Y == 0 && Fill_K ==100))  {    return("Line Type 8");  }      }  if((stroke_weight>=2260 && stroke_weight<=2268)&& (Filled_or_not == 1) && (Is_closed==0))  {  if((stroke_C == 0 && stroke_M == 0 && stroke_Y == 0 && stroke_K == 100) )  {    return("Line Type 10");  }  }
 else     {         return("Incorrect Path Properties");       }


}

Page numbers in illustrator

$
0
0

Hi,

I have the script for inserting page numbers in Illustrator, but the problem

I face is there are 2 files of about 50 pages each. The first file I can insert

the page numbers from 1-50, but the second file, am not able to insert

from 51 onwards, need help on this please. thanks

 

felix

Batch relinking broken filelinks in .ai files

$
0
0

     Hi, am wondering if it's possible to relink files in batch , my gut is saying no as all scripts ive found for relinking files references internal functions such as "app.documents". Aim is to update lots of broken links in a company fileshare (some files are 300+ links). Are there any other options?

 

Files are hosted on a windows server, but published as an apple fileshare using some software. This works fine, but I had to rename a folder and its broken lots of filelinks as a result.

 

I want to essentially find and replace a broken link path for all .ai files in the directory and all subdirectories with the new amended path.

 

The loop in red is giving me an "undefined is not an object" error. I'm guessing app.documents.length is undefined.  I presume this should be where an input box appears when run from the scripts menu in the application. What am I missing?

 

Is there a way to relink files via script outside of illustrator? if there are xml files I can find and replace manually, this would be easier for me!

 

Any suggestions welcome!

 

The script is below:

 

var i, j, searchfolder;   

for (j=0; j<app.documents.length; j++) {   

    doc = app.documents[j];   

   

    imgs = doc.links;   

    path = "afp://COMPANY-FP01 IP._afpovertcp._tcp.local/IllustratorScriptTest/";  //

    searchfolder = new Folder(path);   

 

   for (i=0; i<imgs.length; i++)   

    {   

        // Missing?   

    $.writeln("Image "+i);   

        if (imgs[i].status == LinkStatus.LINK_MISSING)   

        {   

        $.writeln("Missing: "+imgs[i].name+" lookign in "+searchfolder);   

            // Do we have a file?   

            imglist = findAnyFileDownThere(imgs[i].name, searchfolder);   

        $.writeln("Found "+imglist.length+" possible replacements.");   

            if (imglist.length == 1)   

            {   

                // Oh yeah   

                imgs[i].relink(imglist[0]);   

        $.writeln("Relinked to "+imglist[0]);   

            }   

        }   

    }   

}   

function findAnyFileDownThere (filename, path)   

{   

var result, folderList, fl;   

result = Folder(path).getFiles (filename+".*");   

if (result.length > 0)   

  return result;   

folderList = Folder(path).getFiles(function(item) { return item instanceof Folder && !item.hidden; });   

   

for (fl=0; fl<folderList.length; fl++)   

{   

        $.writeln("Looking in: "+path+"/"+folderList[fl].name);   

  result = findAnyFileDownThere (filename, path+"/"+folderList[fl].name);   

  if (result.length > 0)   

   return result;   

}   

return [];   

}   


looking for script to 'Show All Layers"

$
0
0

Dear all,

 

I'm looking script to 'Show All Layers" as below.

I searched Abobe script guide but I can not figure out.

 

Please help to save my time in work.

How to select ALL objects and get bounding box of objects???

$
0
0

I am trying to find the bounding box on a document.  In Illustrator you can select ALL objects and see the bounding box (width & height).  But I need to do this in a script.  How do you select all the objects on the document?  and How do you get the bounding box of those objects?

Open Save File Dialog with Default Path

$
0
0

Hi All,

 

 

I want to open a "Save File Dialog " with some default path.

 

Like when user run that script I want to open  a "Save As" dialog box with default path "/Volumes/<shared name>/<folder name>/.. ."

 

I am using

 

File.SaveDialog(prompt, filter);

 

but it doesn't open to the location by default that I want to open.

 

Thanks

Harsh

Script to convert CMYK color to PMS color

$
0
0

Hello All,

 

I have bunch of AI files that have thousands of objects with all different CMYK colors.

What I need to do is converting them into Pantone solid coated (PMS) colors.

 

I found a free script showing equivalent pantone color from the link blow.

10 Free and Extremely Useful Illustrator Scripts - Vectips

 

And trying to tweak to make the pantone color to be applied to the selected object.

In below script, I added line 178 and 179 like below.

 

activeDocument.selection[0].fillColor.typename = "SpotColor";
activeDocument.selection[0].fillColor.color = matchlist[0];

 

But it doesn't change the object's color.

Could you let me know how to do this?

 

I am not sure how to add script in this forum. Please download JS code from the link below.

https://www.dropbox.com/sh/qdxo1pi482h6yyx/AACeeo-ko6-ZPlzwfzpjZZQaa?dl=0

 

I am kind of new to scripting and wondering how to make this work.

If anyone can give me some advice, it would be great.

 

Thank you.

What's New in Illustrator Scripting CC2018

$
0
0

CC2018

New Class

Asset

Adobe Illustrator 22 Type Library

An (exportable) asset.

Properties

Asset.assetID  (Read Only)

Data Type: Int32

Adobe Illustrator 22 Type Library

The UID for the asset which is unique within a document.

Asset.assetName

Data Type: string

Adobe Illustrator 22 Type Library

Name of the asset.

Asset.parent  (Read Only)

Data Type: Object

Adobe Illustrator 22 Type Library

The object's container.

Asset.typename  (Read Only)

Data Type: string

Adobe Illustrator 22 Type Library

The class name of the object.

Methods

Asset.getNormalizedName (): string

Adobe Illustrator 22 Type Library

Gets the normalized name without special characters, such that it can be used as a file name.

Asset.remove ()

Adobe Illustrator 22 Type Library

Deletes this object.

Asset.removeAll ()

Adobe Illustrator 22 Type Library

Deletes all elements.

New Collection

Assets

Adobe Illustrator 22 Type Library

A collection of assets.

Properties

Assets.length  (Read Only)

Data Type: int

Adobe Illustrator 22 Type Library

Number of elements in the collection.

Assets.parent  (Read Only)

Data Type: Object

Adobe Illustrator 22 Type Library

The object's container.

Assets.typename  (Read Only)

Data Type: string

Adobe Illustrator 22 Type Library

The class name of the object.

Methods

Assets.add (sourceArt:any): Asset

Adobe Illustrator 22 Type Library

Creates an asset from the given art(s)

sourceArt: Data Type: any

The page item(s) to apply to.

Assets.addFromSelection (): Asset

Adobe Illustrator 22 Type Library

Creates an asset from the selected arts.

Assets.getByID (assetID: Int32 ): Asset

Adobe Illustrator 22 Type Library

Gets the asset with the specified AssetID.

assetID: Data Type: Int32

The UID of the asset.

Assets.getByName (name: string ): Asset

Adobe Illustrator 22 Type Library

Get the first element in the collection with the provided name.

name: Data Type: string

Assets.getByName (name: string ): Asset

Adobe Illustrator 22 Type Library

Get the first element in the collection with the provided name.

name: Data Type: string

Assets.remove (assetID: Int32 )

Adobe Illustrator 22 Type Library

Deletes the asset with specified id.

assetID: Data Type: Int32

UID of the asset to be deleted.

Assets.removeAll ()

Adobe Illustrator 22 Type Library

Deletes all elements.

Application Class

New Method

Application.getIsFileOpen (filePath: string ): Boolean

Adobe Illustrator 22 Type Library

Returns if the specified filePath is open.

filePath: Data Type: string

The filePath to be checked.

Document Class

New Method

Document.exportForScreens (exportFolder: File , exportFormat: ExportForScreensType , options:any, itemToExport: ExportForScreensItemToExport , fileNamePrefix: string )

Adobe Illustrator 22 Type Library

Export the specified document/asset(s)/artboard(s)

exportFolder: Data Type: File

The folder where the exported documents/assets/artboards are saved.

exportFormat: Data Type: ExportForScreensType

The file type in which the document is exported.

options (optional): Data Type: any

Options for the file type specified.

itemToExport (optional): Data Type: ExportForScreensItemToExport

What to export.

fileNamePrefix (optional): Data Type: string

String prepended to each file name.

DocumentPreset Class

New Properties

DocumentPreset.documentBleedOffset

Data Type: Rect

Adobe Illustrator 22 Type Library

Document bleed offset rect.

DocumentPreset.documentBleedLink

Data Type: Boolean , Default Value: true

Adobe Illustrator 22 Type Library

Document link for bleed values.

TextRange Class

New Properties

TextRange.start

Data Type: Int32

Adobe Illustrator 22 Type Library

Start index of the text range.

TextRange.end

Data Type: Int32

Adobe Illustrator 22 Type Library

End index of the text range.

New Methods

TextRange.getParagraphLength (): Int32

Adobe Illustrator 22 Type Library

Get the length of the first paragraph.

TextRange.getTextRunLength (): Int32

Adobe Illustrator 22 Type Library

Get the length of the first text run.

CharacterAttributes Class

New Properties

CharacterAttributes.kana

Data Type: Boolean

Adobe Illustrator 22 Type Library

Does the Japanese OpenType support kana?

CharacterAttributes.ruby

Data Type: Boolean

Adobe Illustrator 22 Type Library

Does the Japanese OpenType support ruby?

CharacterAttributes.kashidas

Data Type: KashidasType

Adobe Illustrator 22 Type Library

Kashidas attribute.

CharacterAttributes.dirOverride

Data Type: DirOverrideType

Adobe Illustrator 22 Type Library

Direction override attribute.

CharacterAttributes.digitSet

Data Type: DigitSetType

Adobe Illustrator 22 Type Library

Digit set attribute.

CharacterAttributes.diacVPos

Data Type: DiacVPosType

Adobe Illustrator 22 Type Library

Diacritics positioning attribute.

CharacterAttributes.diacXOffset

Data Type: number

Adobe Illustrator 22 Type Library

Diacritics x offset attribute.

CharacterAttributes.diacYOffset

Data Type: number

Adobe Illustrator 22 Type Library

Diacritics y offset attribute.

CharacterAttributes.justificationAlternates

Data Type: Boolean

Adobe Illustrator 22 Type Library

Justification alternates attribute.

CharacterAttributes.overlapSwash

Data Type: Boolean

Adobe Illustrator 22 Type Library

OpenType overlap swash attribute.

CharacterAttributes.stretchedAlternates

Data Type: Boolean

Adobe Illustrator 22 Type Library

Stretched alternates attribute.

ParagraphAttributes Class

New Properties

ParagraphAttributes.composerEngine

Data Type: ComposerEngineType

Adobe Illustrator 22 Type Library

Composer engine attribute.

ParagraphAttributes.defaultTabWidth

Data Type: number

Adobe Illustrator 22 Type Library

Default tab width attribute.

ParagraphAttributes.kashidaWidth

Data Type: KashidaWidthType

Adobe Illustrator 22 Type Library

The Kashida Width attribute.

ParagraphAttributes.paragraphDirection

Data Type: ParagraphDirectionType

Adobe Illustrator 22 Type Library

Main writing direction attribute.

 

 

 

 

 

 

Here's the xml including all Enumerations, please note it might have missing closing tags.

 

 

<map title="Adobe Illustrator 22 Type Library" time="Thu Feb 2 12:20:30 UTC+5 2017">      <topicref navtitle="JPEGCompressionMethodType" href="#/JPEGCompressionMethodType" />      <topicref navtitle="KashidasType" href="#/KashidasType" />      <topicref navtitle="DirOverrideType" href="#/DirOverrideType" />      <topicref navtitle="DigitSetType" href="#/DigitSetType" />      <topicref navtitle="DiacVPosType" href="#/DiacVPosType" />      <topicref navtitle="KashidaWidthType" href="#/KashidaWidthType" />      <topicref navtitle="ComposerEngineType" href="#/ComposerEngineType" />      <topicref navtitle="ParagraphDirectionType" href="#/ParagraphDirectionType" />      <topicref navtitle="ExportForScreensScaleType" href="#/ExportForScreensScaleType" />      <topicref navtitle="ExportForScreensType" href="#/ExportForScreensType" />      <topicref navtitle="ExportForScreensItemToExport" href="#/ExportForScreensItemToExport" />      <topicref navtitle="ExportForScreensOptionsJPEG" href="#/ExportForScreensOptionsJPEG" />      <topicref navtitle="ExportForScreensOptionsPNG8" href="#/ExportForScreensOptionsPNG8" />      <topicref navtitle="ExportForScreensOptionsPNG24" href="#/ExportForScreensOptionsPNG24" />      <topicref navtitle="ExportForScreensOptionsWebOptimizedSVG" href="#/ExportForScreensOptionsWebOptimizedSVG" />      <topicref navtitle="ExportForScreensPDFOptions" href="#/ExportForScreensPDFOptions" />    <topicref navtitle="Classes used for working with (exportable) assets in Adobe Illustrator">      <topicref navtitle="Asset" href="#/Asset" />    </topicref>      <topicref navtitle="Assets" href="#/Assets" />  </map>  <package>    <classdef name="ExportForScreensScaleType" enumeration="true">      <shortdesc>Export for screens scale type.</shortdesc>      <elements type="class">        <property name="SCALEBYFACTOR" rwaccess="readonly">          <shortdesc>Scale artwork by factors like 1x, 2x, 3x and so on, where 1x means 72 ppi.</shortdesc>          <datatype>            <type>int</type>            <value>0</value>          </datatype>        </property>        <property name="SCALEBYWIDTH" rwaccess="readonly">          <shortdesc>Scale artwork by specifying artwork width in pixels like 100px, 124px etc. Height of the artwork is adjusted automatically to maintain the aspect ratio.</shortdesc>          <datatype>            <type>int</type>            <value>1</value>          </datatype>        </property>        <property name="SCALEBYHEIGHT" rwaccess="readonly">          <shortdesc>Scale artwork by specifying artwork height in pixels like 100px, 124px etc. Width of the artwork is adjusted automatically to maintain the aspect ratio.</shortdesc>          <datatype>            <type>int</type>            <value>2</value>          </datatype>        </property>        <property name="SCALEBYRESOLUTION" rwaccess="readonly">          <shortdesc>Scale artwork by specifying resolution in ppi like 72 ppi, 100 ppi, 144 ppi etc.</shortdesc>          <datatype>            <type>int</type>            <value>3</value>          </datatype>        </property>      </elements>    </classdef>    <classdef name="ExportForScreensType" enumeration="true">      <shortdesc>Export for screens type.</shortdesc>      <elements type="class">        <property name="SE_JPEG100" rwaccess="readonly">          <shortdesc>Export file in JPEG (100% quality) format.</shortdesc>          <datatype>            <type>int</type>            <value>1</value>          </datatype>        </property>        <property name="SE_JPEG80" rwaccess="readonly">          <shortdesc>Export file in JPEG (80% quality) format.</shortdesc>          <datatype>            <type>int</type>            <value>2</value>          </datatype>        </property>        <property name="SE_JPEG50" rwaccess="readonly">          <shortdesc>Export file in JPEG (50% quality) format.</shortdesc>          <datatype>            <type>int</type>            <value>3</value>          </datatype>        </property>        <property name="SE_JPEG20" rwaccess="readonly">          <shortdesc>Export file in JPEG (20% quality) format.</shortdesc>          <datatype>            <type>int</type>            <value>4</value>          </datatype>        </property>        <property name="SE_SVG" rwaccess="readonly">          <shortdesc>Export file in SVG format.</shortdesc>          <datatype>            <type>int</type>            <value>5</value>          </datatype>        </property>        <property name="SE_PNG8" rwaccess="readonly">          <shortdesc>Export file in PNG 8-bit format.</shortdesc>          <datatype>            <type>int</type>            <value>6</value>          </datatype>        </property>        <property name="SE_PNG24" rwaccess="readonly">          <shortdesc>Export file in PNG 24-bit format.</shortdesc>          <datatype>            <type>int</type>            <value>7</value>          </datatype>        </property>        <property name="SE_PDF" rwaccess="readonly">          <shortdesc>Export file in Acrobat PDF format.</shortdesc>          <datatype>            <type>int</type>            <value>8</value>          </datatype>        </property>      </elements>    </classdef>    <classdef name="KashidasType" enumeration="true">      <shortdesc>The kashida type constants.</shortdesc>      <elements type="class">        <property name="kashidaDefault" rwaccess="readonly">          <datatype>            <type>int</type>            <value>0</value>          </datatype>        </property>        <property name="kashidaOn" rwaccess="readonly">          <datatype>            <type>int</type>            <value>0</value>          </datatype>        </property>        <property name="kashidaOff" rwaccess="readonly">          <datatype>            <type>int</type>            <value>1</value>          </datatype>        </property>      </elements>    </classdef>    <classdef name="DirOverrideType" enumeration="true">      <shortdesc>Direction override type constants.</shortdesc>      <elements type="class">        <property name="dirOverrideDefault" rwaccess="readonly">          <datatype>            <type>int</type>            <value>0</value>          </datatype>        </property>        <property name="dirOverrideLTR" rwaccess="readonly">          <datatype>            <type>int</type>            <value>1</value>          </datatype>        </property>        <property name="dirOverrideRTL" rwaccess="readonly">          <datatype>            <type>int</type>            <value>2</value>          </datatype>        </property>      </elements>    </classdef>    <classdef name="DigitSetType" enumeration="true">      <shortdesc>Digit set type constants.</shortdesc>      <elements type="class">        <property name="defaultDigits" rwaccess="readonly">          <datatype>            <type>int</type>            <value>0</value>          </datatype>        </property>        <property name="arabicDigits" rwaccess="readonly">          <datatype>            <type>int</type>            <value>1</value>          </datatype>        </property>        <property name="hindiDigits" rwaccess="readonly">          <datatype>            <type>int</type>            <value>2</value>          </datatype>        </property>        <property name="farsiDigits" rwaccess="readonly">          <datatype>            <type>int</type>            <value>3</value>          </datatype>        </property>      </elements>    </classdef>    <classdef name="DiacVPosType" enumeration="true">      <shortdesc>Diacritic vertical position type constants.</shortdesc>      <elements type="class">        <property name="diacVPosOff" rwaccess="readonly">          <datatype>            <type>int</type>            <value>0</value>          </datatype>        </property>        <property name="diacVPosLoose" rwaccess="readonly">          <datatype>            <type>int</type>            <value>1</value>          </datatype>        </property>        <property name="diacVPosMedium" rwaccess="readonly">          <datatype>            <type>int</type>            <value>2</value>          </datatype>        </property>        <property name="diacVPosTight" rwaccess="readonly">          <datatype>            <type>int</type>            <value>3</value>          </datatype>        </property>        <property name="diacVPosOpenType" rwaccess="readonly">          <datatype>            <type>int</type>            <value>4</value>          </datatype>        </property>      </elements>    </classdef>    <classdef name="KashidaWidthType" enumeration="true">      <shortdesc>The kashida width type constants.</shortdesc>      <elements type="class">        <property name="kashidaNone" rwaccess="readonly">          <datatype>            <type>int</type>            <value>0</value>          </datatype>        </property>        <property name="kashidaSmall" rwaccess="readonly">          <datatype>            <type>int</type>            <value>1</value>          </datatype>        </property>        <property name="kashidaMedium" rwaccess="readonly">          <datatype>            <type>int</type>            <value>2</value>          </datatype>        </property>        <property name="kashidaLong" rwaccess="readonly">          <datatype>            <type>int</type>            <value>3</value>          </datatype>        </property>        <property name="kashidaStylistic" rwaccess="readonly">          <datatype>            <type>int</type>            <value>4</value>          </datatype>        </property>      </elements>    </classdef>    <classdef name="ComposerEngineType" enumeration="true">      <shortdesc>The composer type constants.</shortdesc>      <elements type="class">        <property name="latinCJKComposer" rwaccess="readonly">          <datatype>            <type>int</type>            <value>0</value>          </datatype>        </property>        <property name="pptycaComposer" rwaccess="readonly">          <datatype>            <type>int</type>            <value>1</value>          </datatype>        </property>        <property name="adornment" rwaccess="readonly">          <datatype>            <type>int</type>            <value>2</value>          </datatype>        </property>      </elements>    </classdef>    <classdef name="ParagraphDirectionType" enumeration="true">      <shortdesc>The composer type constants.</shortdesc>      <elements type="class">        <property name="leftToRight" rwaccess="readonly">          <datatype>            <type>int</type>            <value>0</value>          </datatype>        </property>        <property name="rightToLeft" rwaccess="readonly">          <datatype>            <type>int</type>            <value>1</value>          </datatype>        </property>      </elements>    </classdef>    <classdef name="JPEGCompressionMethodType" enumeration="true">      <shortdesc>JPEG Compression Method type.</shortdesc>      <elements type="class">        <property name="BASELINESTANDARD" rwaccess="readonly">          <shortdesc>Select Baseline (Standard) to use a format recognized by most web browsers.</shortdesc>          <datatype>            <type>int</type>            <value>0</value>          </datatype>        </property>        <property name="BASELINEOPTIMIZED" rwaccess="readonly">          <shortdesc>Select Baseline Optimized for optimized color and a slightly smaller file size. Not supported by all web browsers.</shortdesc>          <datatype>            <type>int</type>            <value>1</value>          </datatype>        </property>        <property name="PROGRESSIVE" rwaccess="readonly">          <shortdesc>Select Progressive to display a series of increasingly detailed scans (you specify how many in ProgressiveScan) as the image downloads. Not supported by all web browsers.</shortdesc>          <datatype>            <type>int</type>            <value>2</value>          </datatype>        </property>      </elements>    </classdef>    <classdef name="Assets" dynamic="true">      <shortdesc>A collection of assets.</shortdesc>      <elements type="class">        <method name="addFromSelection">          <shortdesc>Creates an asset from the selected arts.</shortdesc>          <datatype>            <type>Asset</type>          </datatype>        </method>        <method name="add">          <shortdesc>Creates an asset from the given art(s)</shortdesc>          <parameters>            <parameter name="sourceArt">              <shortdesc>The page item(s) to apply to.</shortdesc>              <datatype>                <type>any</type>              </datatype>            </parameter>          </parameters>          <datatype>            <type>Asset</type>          </datatype>        </method>      </elements>      <elements type="instance">        <property name="parent" rwaccess="readonly">          <shortdesc>The object's container.</shortdesc>          <datatype>            <type>Object</type>          </datatype>        </property>        <property name="typename" rwaccess="readonly">          <shortdesc>The class name of the object.</shortdesc>          <datatype>            <type>string</type>          </datatype>        </property>        <property name="length" rwaccess="readonly">          <shortdesc>Number of elements in the collection.</shortdesc>          <datatype>            <type>int</type>          </datatype>        </property>        <method name="removeAll">          <shortdesc>Deletes all elements.</shortdesc>        </method>        <method name="getByName">          <shortdesc>Get the first element in the collection with the provided name.</shortdesc>          <parameters>            <parameter name="name">              <datatype>                <type>string</type>              </datatype>            </parameter>          </parameters>          <datatype>            <type href="#/Asset">Asset</type>          </datatype>        </method>        <method name="remove">          <shortdesc>Deletes the asset with specified id.</shortdesc>          <parameters>            <parameter name="assetID">              <shortdesc>UID of the asset to be deleted.</shortdesc>              <datatype>                <type href="#/Int32">Int32</type>              </datatype>            </parameter>          </parameters>        </method>        <method name="getByName">          <shortdesc>Gets the first asset with specified name.</shortdesc>          <parameters>            <parameter name="assetName">              <shortdesc>Name of the asset.</shortdesc>              <datatype>                <type>string</type>              </datatype>            </parameter>          </parameters>          <datatype>            <type href="#/Asset">Asset</type>          </datatype>        </method>        <method name="getByID">          <shortdesc>Gets the asset with the specified AssetID.</shortdesc>          <parameters>            <parameter name="assetID">              <shortdesc>The UID of the asset.</shortdesc>              <datatype>                <type href="#/Int32">Int32</type>              </datatype>            </parameter>          </parameters>          <datatype>            <type href="#/Asset">Asset</type>          </datatype>        </method>      </elements>    </classdef>    <classdef name="ExportForScreensItemToExport" dynamic="true">      <shortdesc>An item that needs to be exported; for example, a document, artboard, or asset.</shortdesc>      <elements type="class">        <property name="artboards">          <shortdesc>Range of artboards to export [possible values: '', 'all'(default), range]</shortdesc>          <datatype>            <type>string</type>            <value>all</value>          </datatype>        </property>        <property name="assets">          <shortdesc>Array of asset id to export (default:empty)</shortdesc>          <datatype>            <type href="#/Int32">Int32</type>            <array />          </datatype>        </property>        <property name="document">          <shortdesc>Whether to export the document or not.</shortdesc>          <datatype>            <type>bool</type>            <value>false</value>          </datatype>        </property>      </elements>    </classdef>    <classdef name="ExportForScreensOptionsJPEG" dynamic="true">      <shortdesc>Options which may be provided when exporting a document as a JPEG100 file.</shortdesc>      <elements type="class">        <property name="compressionMethod">          <shortdesc>Should the image be compressed.</shortdesc>          <datatype>            <type href="#/JPEGCompressionMethodType">JPEGCompressionMethodType</type>            <value>JPEGCompressionMethodType.BASELINESTANDARD</value>          </datatype>        </property>        <property name="progressiveScan">          <shortdesc>Specify the number of detailed scans when downloading a JPEG file using the Progressive option as the CompressionMethod.</shortdesc>          <datatype>            <type href="#/Int32">Int32</type>            <min>3</min>            <max>5</max>            <value>3</value>          </datatype>        </property>        <property name="antiAliasing">          <shortdesc>Should the resulting image be antialiased.</shortdesc>          <datatype>            <type href="#/AntiAliasingMethod">AntiAliasingMethod</type>            <value>AntiAliasingMethod.ARTOPTIMIZED</value>          </datatype>        </property>        <property name="embedICCProfile">          <shortdesc>Embed an ICC profile when exporting.</shortdesc>          <datatype>            <type>bool</type>            <value>false</value>          </datatype>        </property>        <property name="scaleType">          <shortdesc>How should the resulting image be scaled.</shortdesc>          <datatype>            <type href="#/ExportForScreensScaleType">ExportForScreensScaleType</type>            <value>ExportForScreensScaleType.SCALEBYFACTOR</value>          </datatype>        </property>        <property name="scaleTypeValue">          <shortdesc>The value by which the resulting image should be scaled.</shortdesc>          <datatype>            <type>number</type>            <value>1</value>          </datatype>        </property>      </elements>    </classdef>    <classdef name="ExportForScreensOptionsPNG8" dynamic="true">      <shortdesc>Options which may be provided when exporting a document as an 8 bit PNG file.</shortdesc>      <elements type="class">        <property name="colorCount">          <shortdesc>Number of colors in exported color table.</shortdesc>          <datatype>            <type href="#/Int32">Int32</type>            <min>2</min>            <max>256</max>            <value>128</value>          </datatype>        </property>        <property name="transparency">          <shortdesc>Should the resulting image use transparency.</shortdesc>          <datatype>            <type>bool</type>            <value>true</value>          </datatype>        </property>        <property name="interlaced">          <shortdesc>Should the resulting image be interlaced.</shortdesc>          <datatype>            <type>bool</type>            <value>false</value>          </datatype>        </property>        <property name="matte">          <shortdesc>Should the artboard be matted with a color.</shortdesc>          <datatype>            <type>bool</type>            <value>true</value>          </datatype>        </property>        <property name="matteColor">          <shortdesc>The color to use when matting the artboard (default: white)</shortdesc>          <datatype>            <type href="#/RGBColor">RGBColor</type>          </datatype>        </property>        <property name="antiAliasing">          <shortdesc>Should the resulting image be antialiased.</shortdesc>          <datatype>            <type href="#/AntiAliasingMethod">AntiAliasingMethod</type>            <value>AntiAliasingMethod.ARTOPTIMIZED</value>          </datatype>        </property>        <property name="scaleType">          <shortdesc>How should the resulting image be scaled.</shortdesc>          <datatype>            <type href="#/ExportForScreensScaleType">ExportForScreensScaleType</type>            <value>ExportForScreensScaleType.SCALEBYFACTOR</value>          </datatype>        </property>        <property name="scaleTypeValue">          <shortdesc>The value by which the resulting image should be scaled.</shortdesc>          <datatype>            <type>number</type>            <value>1</value>          </datatype>        </property>      </elements>    </classdef>    <classdef name="ExportForScreensOptionsPNG24" dynamic="true">      <shortdesc>Options which may be provided when exporting a document as an 24 bit PNG file.</shortdesc>      <elements type="class">        <property name="transparency">          <shortdesc>Should the resulting image use transparency.</shortdesc>          <datatype>            <type>bool</type>            <value>true</value>          </datatype>        </property>        <property name="antiAliasing">          <shortdesc>Should the resulting image be antialiased.</shortdesc>          <datatype>            <type href="#/AntiAliasingMethod">AntiAliasingMethod</type>            <value>AntiAliasingMethod.ARTOPTIMIZED</value>          </datatype>        </property>        <property name="backgroundBlack">          <shortdesc>Should the resulting image rasterize against a black background (with value true) or white background(with value false) if it doesn't use transparency.</shortdesc>          <datatype>            <type>bool</type>            <value>false</value>          </datatype>        </property>        <property name="interlaced">          <shortdesc>Should the resulting image be interlaced.</shortdesc>          <datatype>            <type>bool</type>            <value>false</value>          </datatype>        </property>        <property name="scaleType">          <shortdesc>How should the resulting image be scaled.</shortdesc>          <datatype>            <type href="#/ExportForScreensScaleType">ExportForScreensScaleType</type>            <value>ExportForScreensScaleType.SCALEBYFACTOR</value>          </datatype>        </property>        <property name="scaleTypeValue">          <shortdesc>The value by which the resulting image should be scaled.</shortdesc>          <datatype>            <type>number</type>            <value>1</value>          </datatype>        </property>      </elements>    </classdef>    <classdef name="ExportForScreensOptionsWebOptimizedSVG" dynamic="true">      <shortdesc>Options which may be provided when exporting a document as a web optimized SVG file.</shortdesc>      <elements type="class">        <property name="fontType">          <shortdesc>The type of font that should be included in the exported file.</shortdesc>          <datatype>            <type href="#/SVGFontType">SVGFontType</type>            <value>SVGFontType.SVGFONT</value>          </datatype>        </property>        <property name="coordinatePrecision">          <shortdesc>Decimal precision for element coordinate values.</shortdesc>          <datatype>            <type href="#/Int32">Int32</type>            <min>1</min>            <max>7</max>            <value>3</value>          </datatype>        </property>        <property name="cssProperties">          <shortdesc>How should the CSS properties of the document be included in the document.</shortdesc>          <datatype>            <type href="#/SVGCSSPropertyLocation">SVGCSSPropertyLocation</type>            <value>SVGCSSPropertyLocation.STYLEATTRIBUTES</value>          </datatype>        </property>        <property name="svgId">          <shortdesc>How object names (IDs) are generated in exported SVG.</shortdesc>          <datatype>            <type href="#/SVGIdType">SVGIdType</type>            <value>SVGIdType.SVGIDREGULAR</value>          </datatype>        </property>        <property name="svgMinify">          <shortdesc>Reduces the size of the svg.</shortdesc>          <datatype>            <type>bool</type>            <value>false</value>          </datatype>        </property>        <property name="svgResponsive">          <shortdesc>Makes the SVG Responsive.</shortdesc>          <datatype>            <type>bool</type>            <value>true</value>          </datatype>        </property>        <property name="rasterImageLocation">          <shortdesc>Should the raster images in the exported file be included.</shortdesc>          <datatype>            <type href="#/RasterImageLocation">RasterImageLocation</type>            <value>RasterImageLocation.PRESERVE</value>          </datatype>        </property>      </elements>    </classdef>    <classdef name="ExportForScreensPDFOptions" dynamic="true">      <shortdesc>Options which may be provided when exporting a document as a PDF file.</shortdesc>      <elements type="class">        <property name="pdfPreset">          <shortdesc>The max string length is 255 bytes. Name of PDF preset to use.</shortdesc>          <datatype>            <type>string</type>            <value>[Smallest File Size]</value>          </datatype>        </property>      </elements>    </classdef>        <property name="documentBleedOffset">          <shortdesc>Document bleed offset rect.</shortdesc>          <datatype>            <type href="#/Rect">Rect</type>          </datatype>        </property>        <property name="documentBleedLink">          <shortdesc>Document link for bleed values.</shortdesc>          <datatype>            <type>bool</type>            <value>true</value>          </datatype>        </property>        <method name="getIsFileOpen">          <shortdesc>Returns if the specified filePath is open.</shortdesc>          <parameters>            <parameter name="filePath">              <shortdesc>The filePath to be checked.</shortdesc>              <datatype>                <type>string</type>              </datatype>            </parameter>          </parameters>          <datatype>            <type>bool</type>          </datatype>        </method>            <parameter name="assetType">              <shortdesc>For internal use.</shortdesc>              <datatype>                <type>string</type>              </datatype>            </parameter>        <property name="assets" rwaccess="readonly">          <shortdesc>All assets in the document.</shortdesc>          <datatype>            <type href="#/Assets">Assets</type>          </datatype>        </property>        <method name="exportForScreens">          <shortdesc>Export the specified document/asset(s)/artboard(s)</shortdesc>          <parameters>            <parameter name="exportFolder">              <shortdesc>The folder where the exported documents/assets/artboards are saved.</shortdesc>              <datatype>                <type href="#/File">File</type>              </datatype>            </parameter>            <parameter name="exportFormat">              <shortdesc>The file type in which the document is exported.</shortdesc>              <datatype>                <type href="#/ExportForScreensType">ExportForScreensType</type>              </datatype>            </parameter>            <parameter name="options" optional="true">              <shortdesc>Options for the file type specified.</shortdesc>              <datatype>                <type>any</type>              </datatype>            </parameter>            <parameter name="itemToExport" optional="true">              <shortdesc>What to export.</shortdesc>              <datatype>                <type href="#/ExportForScreensItemToExport">ExportForScreensItemToExport</type>              </datatype>            </parameter>            <parameter name="fileNamePrefix" optional="true">              <shortdesc>String prepended to each file name.</shortdesc>              <datatype>                <type>string</type>              </datatype>            </parameter>          </parameters>        </method>        <property name="start">          <shortdesc>Start index of the text range.</shortdesc>          <datatype>            <type href="#/Int32">Int32</type>          </datatype>        </property>        <property name="end">          <shortdesc>End index of the text range.</shortdesc>          <datatype>            <type href="#/Int32">Int32</type>          </datatype>        </property>        <method name="getTextRunLength">          <shortdesc>Get the length of the first text run.</shortdesc>          <datatype>            <type href="#/Int32">Int32</type>          </datatype>        </method>        <method name="getParagraphLength">          <shortdesc>Get the length of the first paragraph.</shortdesc>          <datatype>            <type href="#/Int32">Int32</type>          </datatype>        </method>        <property name="kana">          <shortdesc>Does the Japanese OpenType support kana?</shortdesc>          <datatype>            <type>bool</type>          </datatype>        </property>        <property name="ruby">          <shortdesc>Does the Japanese OpenType support ruby?</shortdesc>          <datatype>            <type>bool</type>          </datatype>        </property>        <property name="kashidas">          <shortdesc>Kashidas attribute.</shortdesc>          <datatype>            <type href="#/KashidasType">KashidasType</type>          </datatype>        </property>        <property name="dirOverride">          <shortdesc>Direction override attribute.</shortdesc>          <datatype>            <type href="#/DirOverrideType">DirOverrideType</type>          </datatype>        </property>        <property name="digitSet">          <shortdesc>Digit set attribute.</shortdesc>          <datatype>            <type href="#/DigitSetType">DigitSetType</type>          </datatype>        </property>        <property name="diacVPos">          <shortdesc>Diacritics positioning attribute.</shortdesc>          <datatype>            <type href="#/DiacVPosType">DiacVPosType</type>          </datatype>        </property>        <property name="diacXOffset">          <shortdesc>Diacritics x offset attribute.</shortdesc>          <datatype>            <type>number</type>          </datatype>        </property>        <property name="diacYOffset">          <shortdesc>Diacritics y offset attribute.</shortdesc>          <datatype>            <type>number</type>          </datatype>        </property>        <property name="overlapSwash">          <shortdesc>OpenType overlap swash attribute.</shortdesc>          <datatype>            <type>bool</type>          </datatype>        </property>        <property name="justificationAlternates">          <shortdesc>Justification alternates attribute.</shortdesc>          <datatype>            <type>bool</type>          </datatype>        </property>        <property name="stretchedAlternates">          <shortdesc>Stretched alternates attribute.</shortdesc>          <datatype>            <type>bool</type>          </datatype>        </property>        <property name="defaultTabWidth">          <shortdesc>Default tab width attribute.</shortdesc>          <datatype>            <type>number</type>          </datatype>        </property>        <property name="paragraphDirection">          <shortdesc>Main writing direction attribute.</shortdesc>          <datatype>            <type href="#/ParagraphDirectionType">ParagraphDirectionType</type>          </datatype>        </property>        <property name="kashidaWidth">          <shortdesc>The Kashida Width attribute.</shortdesc>          <datatype>            <type href="#/KashidaWidthType">KashidaWidthType</type>          </datatype>        </property>        <property name="composerEngine">          <shortdesc>Composer engine attribute.</shortdesc>          <datatype>            <type href="#/ComposerEngineType">ComposerEngineType</type>          </datatype>        </property>          </datatype>        </method>      </elements>    </classdef>    <classdef name="Asset" dynamic="true">      <shortdesc>An (exportable) asset.</shortdesc>      <elements type="instance">        <property name="parent" rwaccess="readonly">          <shortdesc>The object's container.</shortdesc>          <datatype>            <type>Object</type>          </datatype>        </property>        <property name="typename" rwaccess="readonly">          <shortdesc>The class name of the object.</shortdesc>          <datatype>            <type>string</type>          </datatype>        </property>        <property name="assetID" rwaccess="readonly">          <shortdesc>The UID for the asset which is unique within a document.</shortdesc>          <datatype>            <type href="#/Int32">Int32</type>          </datatype>        </property>        <property name="assetName">          <shortdesc>Name of the asset.</shortdesc>          <datatype>            <type>string</type>          </datatype>        </property>        <method name="remove">          <shortdesc>Deletes this object.</shortdesc>        </method>        <method name="removeAll">          <shortdesc>Deletes all elements.</shortdesc>        </method>        <method name="getNormalizedName">          <shortdesc>Gets the normalized name without special characters, such that it can be used as a file name.</shortdesc>          <datatype>            <type>string</type>          </datatype>        </method>      </elements>    </classdef>  </package>

Auto-arrange objects by rounded Y position

$
0
0

Hi! Can someone help me? I want to sort objects on airboard from bottom to top by rounded Y for simplify sorting process. Rounding will create virtual rows (different color on pic below) highest value goes first (Top object in the layer list). Then each row I want to sort by X, from right to the left (so high value goes first - revers order)

autosave_CUT.jpg

Here is example

Bars+1_cut.jpg

Result of arranging objects in the layer should be (from top to down): 1,2,3,4,5,6 and etc

This is like sorting 2 dimensional array in revers order:

X,Y array

myobjlist= [[124,2],[23,2],[60,1],[150,1],[12,2],[20,0],[50,1],[40,0],[70,0]]

sorted(myobjlist)

will create next array
[[124,2] [23,2][12,2] [150,1] [60,1] [50,1] [70,0] [40,0] [20,0]]

 

Object with[124,2] coordinates will be first in layers list and [20,0] - last

 

Example script that doing this but with some mistakes

// JavaScript Document for Illustrator  
var dec = 20;  
if (app.documents.length > 0) {    var docRef = app.activeDocument;    var selectedItems = selection;    var nbObjSelect = selectedItems.length;      if (nbObjSelect) {        var rep, iObj, newtop;        var TabTop = [];            rep = prompt("Tolérance ?", dec);            dec= rep*1;              for (var i = 0; i < nbObjSelect; i++) {                iObj = selectedItems[i];                TabTop.push([iObj.top,i])              }            TabTop.sort();            TabTop.reverse(); //alert(TabTop.join("\r"));            newtop =  TabTop[0][0];            docRef.layers.add();            nbLayers = docRef.layers.length;              for(i = 0, k = nbLayers-1; i < nbObjSelect; i++) {                if (newtop > TabTop[i][0]-dec && newtop < TabTop[i][0]+dec) {                  iObj = selectedItems[TabTop[i][1]];                  iObj.move(docRef.layers[0],ElementPlacement.PLACEATEND);                  docRef.layers[0].name = "Rang "+k;                }                else {                  newtop = TabTop[i][0]; k++; i--;                  docRef.layers.add();                }              }        var layerAct, nbObjLayer, n, nObj, j, jObj;        var TabLeft = [];            for(i = 0; i < k; i++) {              layerAct = docRef.layers[i];              nbObjLayer = layerAct.pageItems.length;                for(n = 0; n < nbObjLayer; n++) {                  nObj = layerAct.pageItems[n];                  TabLeft.push([nObj.left,nObj]);                }              TabLeft.sort(); //TabLeft.revers(); alert(TabLeft.join("\r"));                for(j = 0; j < nbObjLayer; j++) {                  jObj = TabLeft[j][1];                  jObj.zOrder(ZOrderMethod.SENDTOBACK);                }              TabLeft = [];            }      }      else alert("Vous n'avez rien sélectionné !","De Elleere");  
}  
else alert("Pour l'exécution de ce sript un document doit être ouvert !","Script Alerte de Elleere !");

Thanks to renél80416020

Tolerance value is fine. But there is some problems:

  1. It creates last layer (virtual row) in top of the list.
  2. Each object in the row should be sorted from right to left
  3. it creates layers with objects. In finale will be good if all sorted objects will be in one layer

see pic below

Test1-Simple.jpg

Render swatch Legend Script

$
0
0

I was wondering if someone could help me edit this Script Written by John Wundes. Its almost perfect for what i need, but my problem is the text box inside of the swatch when it is rendered is to small. Ideally i'd like it to be 90% the size of the actual swatch. I've copied and pasted it here if someone could help i'd greatly appreciate it. I tried asking John on his Blog a few times but i haven't gotten any response. Also i'd like to delete the CMYK values that it returns with just the PMS name only.

 

Render Swatch Legend v1.1 -- CS, CS2, CS3, CS4, CS5

//>=--------------------------------------

//

//  This script will generate a legend of rectangles for every swatch in the main swatches palette.

//  You can configure spacing and value display by configuring the variables at the top

//  of the script.

//   update: v1.1 now tests color brightness and renders a white label if the color is dark.

//>=--------------------------------------

// JS code (c) copyright: John Wundes ( john@wundes.com ) www.wundes.com

// copyright full text here:  http://www.wundes.com/js4ai/copyright.txt

//

//////////////////////////////////////////////////////////////////

    doc = activeDocument,

    swatches = doc.swatches,

    cols = 10,

    displayAs = "CMYKColor",  //or "RGBColor"

    rectRef=null,

    textRectRef=null,

    textRef=null,

    rgbColor=null,

    w=150;

    h=150,

    h_pad = 100,

    v_pad = 100,

    t_h_pad = 100,

    t_v_pad = 100,

    x=null,

    y=null,

    black = new GrayColor(),

    white = new GrayColor()

    ;

 

    black.gray = 100;

    white.gray = 0;

 

activeDocument.layers[0].locked= false;

var newGroup = doc.groupItems.add();

newGroup.name = "NewGroup";

newGroup.move( doc, ElementPlacement.PLACEATBEGINNING );

 

for(var c=2,len=swatches.length;c<len;c++)

{

        var swatchGroup = doc.groupItems.add();

        swatchGroup.name = swatches[c].name;

      

        x= (w+h_pad)*(c% cols);

        y=(h+v_pad)*(Math.floor((c+.01)/cols))*-1 ;

        rectRef = doc.pathItems.rectangle(y,x, w,h);

        rgbColor = swatches[c].color;

        rectRef.fillColor = rgbColor;

        textRectRef =  doc.pathItems.rectangle(y- t_v_pad,x+ t_h_pad, w-(2*t_h_pad),h-(2*t_v_pad));

        textRef = doc.textFrames.areaText(textRectRef);

        textRef.contents = swatches[c].name+ "\r" + getColorValues(swatches[c].color) ;

        textRef.textRange.fillColor = is_dark(swatches[c].color)? white : black;

        //

        rectRef.move( swatchGroup, ElementPlacement.PLACEATBEGINNING );    

        textRef.move( swatchGroup, ElementPlacement.PLACEATBEGINNING );

        swatchGroup.move( newGroup, ElementPlacement.PLACEATEND );

}

 

function getColorValues(color)

{

        if(color.typename)

        {

            switch(color.typename)

            {

                case "CMYKColor":

                    if(displayAs == "CMYKColor"){

                        return ([Math.floor(color.cyan),Math.floor(color.magenta),Math.floor(color.yellow),Math.floor(co lor.black)]);}

                    else

                    {

                        color.typename="RGBColor";

                        return  [Math.floor(color.red),Math.floor(color.green),Math.floor(color.blue)] ;

                      

                    }

                case "RGBColor":

                  

                   if(displayAs == "CMYKColor"){

                        return rgb2cmyk(Math.floor(color.red),Math.floor(color.green),Math.floor(color.blue));

                   }else

                    {

                        return  [Math.floor(color.red),Math.floor(color.green),Math.floor(color.blue)] ;

                    }

                case "GrayColor":

                    if(displayAs == "CMYKColor"){

                        return rgb2cmyk(Math.floor(color.gray),Math.floor(color.gray),Math.floor(color.gray));

                    }else{

                        return [Math.floor(color.gray),Math.floor(color.gray),Math.floor(color.gray)];

                    }

                case "SpotColor":

                    return getColorValues(color.spot.color);

            }   

        }

    return "Non Standard Color Type";

}

function rgb2cmyk (r,g,b) {

var computedC = 0;

var computedM = 0;

var computedY = 0;

var computedK = 0;

 

//remove spaces from input RGB values, convert to int

var r = parseInt( (''+r).replace(/\s/g,''),10 );

var g = parseInt( (''+g).replace(/\s/g,''),10 );

var b = parseInt( (''+b).replace(/\s/g,''),10 );

 

if ( r==null || g==null || b==null ||

     isNaN(r) || isNaN(g)|| isNaN(b) )

{

   alert ('Please enter numeric RGB values!');

   return;

}

if (r<0 || g<0 || b<0 || r>255 || g>255 || b>255) {

   alert ('RGB values must be in the range 0 to 255.');

   return;

}

 

// BLACK

if (r==0 && g==0 && b==0) {

  computedK = 1;

  return [0,0,0,1];

}

 

computedC = 1 - (r/255);

computedM = 1 - (g/255);

computedY = 1 - (b/255);

 

var minCMY = Math.min(computedC,

              Math.min(computedM,computedY));

computedC = (computedC - minCMY) / (1 - minCMY) ;

computedM = (computedM - minCMY) / (1 - minCMY) ;

computedY = (computedY - minCMY) / (1 - minCMY) ;

computedK = minCMY;

 

return [Math.floor(computedC*100),Math.floor(computedM*100),Math.floor(computedY*100),Math.floor (computedK*100)];

}

 

function is_dark(color){

       if(color.typename)

        {

            switch(color.typename)

            {

                case "CMYKColor":

                    return (color.black>50 || (color.cyan>50 &&  color.magenta>50)) ? true : false;

                case "RGBColor":

                    return (color.red<100  && color.green<100 ) ? true : false;

                case "GrayColor":

                    return color.gray > 50 ? true : false;

                case "SpotColor":

                    return is_dark(color.spot.color);

               

                return false;

            }

        }

}


Find and Replace Script for multiple files

$
0
0

I am trying to find a script that will either open a selection of .ai files or run through all the open files in illustrator and complete a Find and Replace. Right now I have a script that runs the Find and Replace but I have to run it on each document instead of all my open files.

 

var openDocument = app.documents.item(0);  
var search_string = /001D/gi; // g for global search, remove i to make a case sensitive search  
var replace_string = '001E';    
var text_frames = active_doc.textFrames;    
if (text_frames.length > 0)  
{      for (var i = 0 ; i < text_frames.length; i++)        {            var this_text_frame = text_frames[i];             var new_string = this_text_frame.contents.replace(search_string, replace_string);                          if (new_string != this_text_frame.contents)                 {                      this_text_frame.contents = new_string;                 }        }  
}

 

Thanks for any help.

Script to set artboard to selected art, etc.

$
0
0

In my new work I REALLY need to learn Javascript for AI. I am trying to read through the official guide but am impatient.

 

Can someone create a script that would:

 

  1. Create rectangle based on user input
  2. Set artboard to rectangle size
  3. Scale rectangle horizontally to 1/4 current size and aligned to right

 

There is MUCH more I would like the script to do, but I realize I need to learn something and not just ask for someone to do it.

 

I'm also interested in suggestions for learning Javascript for AI.

 

Also, what resource would you suggest for hiring a freelance AI/Javascript guru?

 

Thank you,

Ray

Javascript for Illustrator svg

$
0
0

Hello,

I want to create an interactive svg map for a website with hyperlinks on different areas. I can do that, but I would also like the colour/fill of each area to change on mouseover. I believe that needs some javascript adding but that's where my skills end. Can anyone tell me what javascript I need to use to create that colour change effect?

Thanks

Script for making an object the artboard size.

$
0
0

I am looking for some help on trying to make an object the exact size of the artboard.  This is something I do on a daily basis for several different reasons and it would be very helpful if this can happen automatically for whatever size the artboard may be.  As I understand it the only way is with a script but I have no experience with making illustrator scripts, im definately no programmer.  I have set up quickkeys in the past to copy from the artboard inputs when you are on the artboard tool but these round to the nearest .01 and this is not accurate enough for what I am working with.  Also if I do this with multiple pages open illustrator is very slow to respond to the artboard tool.  If anyone has any idea where to start or has seen other such scripts I would greatly appreciate it.  Thank you.

 

Below is a script that I saw on here that I believe may contain what I need but now knowing programming I have no idea where to start on editing.  All I need is the part where an object is placed on the artboard that is the exact same size as the artboard.  If anyone can advise on editing I would greatly apprecaite it.

 

#target illustrator

function main() {
     if (app.documents.length == 0) {
          alert('Open a document before running this script');
          return; // Stop script here no doc open…
     }else{
          var docRef = app.activeDocument;
          with (docRef) {
               if (selection.length == 0) {
                    alert('No items are selected…');
                    return; // Stop script here with no selection…
               }
               if (selection.length > 1) {
                    alert('Too many items are selected…');
                    return; // Stop script here with selection Array…
               }else{                   
                    var selVB = selection[0].visibleBounds;
                    var rectTop = selVB[1] + 36;
                    var rectLeft = selVB[0] - 36;
                    var rectWidth = (selVB[2] - selVB[0]) + 72;
                    var rectHeight = (selVB[1] - selVB[3]) + 72;              
                    selection[0].parent.name = 'CC';
                    selection[0].filled = false;
                    selection[0].stroked = true;
                    var ccColor = cmykColor(0, 100, 0, 0);              
                    var ccCol = spots.add()
                    ccCol.name = 'CC';
                    ccCol.color = ccColor;
                    ccCol.tint = 100;
                    ccCol.colorType = ColorModel.SPOT;
                    var cc = new SpotColor();
                    cc.spot = ccCol;                   
                    selection[0].strokeColor = cc;
                    selection[0].strokeWidth = 1;                   
                    var tcLayer = layers.add();
                    tcLayer.name = 'TC';
                    var padBox = pathItems.rectangle(rectTop, rectLeft, rectWidth, rectHeight, false);
                    padBox.stroked = false;
                    padBox.filled = true;
                    var tcColor = cmykColor(0, 100, 90, 0);         
                    var tcCol = spots.add()
                    tcCol.name = 'TC';
                    tcCol.color = tcColor;
                    tcCol.tint = 100;
                    tcCol.colorType = ColorModel.SPOT;
                    var tc = new SpotColor();
                    tc.spot = tcCol;
                    padBox.fillColor = tc;    
                    padBox.move(docRef, ElementPlacement.PLACEATEND);
                    artboards[0].artboardRect = (padBox.visibleBounds);
                    redraw();
                    rectWidth = (rectWidth-72)/72;
                    rectWidth = roundToDP(rectWidth,1);
                    rectHeight = (rectHeight-72)/72;
                    rectHeight = roundToDP(rectHeight,1);
                    var textString = rectWidth + ' x ' + rectHeight;
                    prompt('Copy Me', textString);
               }         
          }
     }
}

main();

function roundToDP(nbr, dP) {
     dpNbr = Math.round(nbr*Math.pow(10,dP))/Math.pow(10,dP);
     return dpNbr;
}

function cmykColor(c, m, y, k) {
     var newCMYK = new CMYKColor();
     newCMYK.cyan = c;
     newCMYK.magenta = m;
     newCMYK.yellow = y;
     newCMYK.black = k;
     return newCMYK;
}

Unable to select same Graphic style on pasted eps

$
0
0

I open an eps.

Copy the whole graphic.

Open correct template and paste copied graphic.

The template has Graphic styles with same fill and stroke (no other attributes exist) as in pasted graphic.

However, I cannot select elements in pasted graphic based on Graphic Style even though pasted graphic contains elements with same stroke and fill.

I cannot select on same stroke and fill either.

 

I checked Document Colour Mode and made sure it was RGB Color.

However, when I select the element and double click Color Picker the initial window is showing New Color 1100 so I suspect even though the same style illustrator is assigning the element color and stroke as new.

 

This selection process is a step in an action for applying styles and has worked - then it doesn't.

 

Probably something simple is changing parameters but appreciate suggestions as to where the issue might lie.

 

This is old CS2 on Mac PPC G5 but still pays for itself doing simple processing of output files.

 

Any advice appreciated as many hours trying to figure this out.

 

Thank you

 

Michael

Viewing all 12845 articles
Browse latest View live