🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: adobe.scripting.indesign
Article #2580

Re: Step and Repeat Script help

#2580
From: kasicki_roland
Date: Thu, 11 Dec 2008 13:27
62 lines
3371 bytes
Just to say I have re-made a functional version of this script in Javascript.

//StepAndRepeatImposition.jsx
//An InDesign CS JavaScript
//www.theonconnection.com
//Duplicates objects in a grid. Useful to impose for print.

if (app.documents.length != 0){
  if (app.selection.length > 0){
    myObjects = app.selection;
    if(myObjects.length > 0){
      myDisplayDialog(myObjects);
    }
    else{
      alert("Please select a rectangle, polygon, graphic line, oval, or text frame and try again.");
    }
  }
  else{
    alert("Please select an object and try again.");
  }
}
else{
  alert("Please open a document, select an object, and try again.");
}

//Display dialog.
function myDisplayDialog(myObjects){
  myDialog = app.dialogs.add();
  myDialog.name = "Step And Repeat Imposition";
  //myProxyColumn = myDialog.dialogColumns.add();
  myLabelsColumn1 = myDialog.dialogColumns.add();
  myLabelsColumn1.staticTexts.add({staticLabel:"Rows:"});
  myLabelsColumn1.staticTexts.add({staticLabel:"Columns:"});
  //Spacer.
  myLabelsColumn1.staticTexts.add();
  myLabelsColumn1.staticTexts.add({staticLabel:"Horizontal Offset:"});
  myLabelsColumn1.staticTexts.add({staticLabel:"Vertical Offset:"});
  //Spacer.
  myControlsColumn1 = myDialog.dialogColumns.add();
  myRowsField = myControlsColumn1.integerEditboxes.add({editValue:2});
  myColumnsField = myControlsColumn1.integerEditboxes.add({editValue:2});
  myControlsColumn1.staticTexts.add();
  myXOffsetField = myControlsColumn1.measurementEditboxes.add({editValue:0});
  myYOffsetField = myControlsColumn1.measurementEditboxes.add({editValue:0});
  //Spacer.
  myResult = myDialog.show();
  if(myResult == true){
    //Gather the user input from the dialog controls.
    myNumberOfRows = myRowsField.editValue;
    myNumberOfColumns = myColumnsField.editValue;
    myXOffset = myXOffsetField.editValue;
    myYOffset = myYOffsetField.editValue;
    myDialog.destroy();
    myStepAndRepeat(myObjects, myNumberOfRows, myNumberOfColumns, myXOffset, myYOffset);
  }
  else{
    myDialog.destroy();
  }
}
function myStepAndRepeat(myObjects, myNumberOfRows, myNumberOfColumns, myXOffset, myYOffset){
        //looping here for the rows
  for (myYCounter = 0; myYCounter <= myNumberOfRows-1; myYCounter++){ //looping here for the cols for (myXCounter = 0; myXCounter <= myNumberOfColumns-1; myXCounter++){ if (myXCounter!=0 || myYCounter !=0) { for (myObjectCounter=0; myObjectCounter < myObjects.length; myObjectCounter++){ myObject = myObjects[myObjectCounter]; myObject = myObject.duplicate(); myObject.move(undefined, [myXOffset*myXCounter, myYOffset*myYCounter]); } } } } }
Technical Details
Message-ID: <59b72bee.3@webcrossing.la2eafNXanI>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news2.google.com!news.glorb.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newshub.sdsu.edu!webcrossing
References: <59b72bee.-1@webcrossing.la2eafNXanI>

Show Full Headers
Complete Article Headers
X-Google-Thread: f939a,28f45394fba9dde6
X-Google-Attributes: gidf939a,domainid0,public,usenet
X-Google-Language: ENGLISH,ASCII-7-bit
From: kasicki_roland@adobeforums.com
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news2.google.com!news.glorb.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newshub.sdsu.edu!webcrossing
Newsgroups: adobe.scripting.indesign
Subject: Re: Step and Repeat Script help
Message-ID: <59b72bee.3@webcrossing.la2eafNXanI>
Date: Thu, 11 Dec 2008 05:27:20 -0800
References: <59b72bee.-1@webcrossing.la2eafNXanI>
Lines: 61
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Original-Lines: 84