Illustrator Scripting :: How To Return Array Of Paths In The Order They Were Selected
Feb 1, 2013
Is there a method to return an array of paths in the order they were selected, instead of their descending z-index (default behaviour)?
I'm writing a script that "connects" the centers of currently selected objects through a stroked path, and I want it to follow the order in which I select the objects, regardless of the stacking order.
View 13 Replies
ADVERTISEMENT
May 1, 2013
I've got areaText rectangles that were created by various means, and the 0 index is sometimes the top left, other times the bottom right. I need to do a lot of resizing/aligning/spacing/sizing. To script the movement of the top left point of each (or any point for that matter), I'm trying to clean up the sequence of points in each objects array of pathPoints so I can move pathPoint[0].anchor for each rectangle and be sure that the top left is moving, not some other random corner.
So, testing in script alone, and I came up with the following (don't laugh at how I called out the array), which works great in extendScript:
var testArray = new Array;
testArray.push({xVal: 5, yVal:0});
testArray.push({xVal: 0, yVal:-2});
testArray.push({xVal: 5, yVal:-2});
testArray.push({xVal: 0, yVal:0});
[code]....
Which throws an error "objPoints.sort is not a function"Unlike the JS only version, my AI script is trying to sort all of the points of all of of the textAreas, which I'll fix shortly so it sorts the 4 points of each object. The problem is that the script isn't sorting the points, but providing a useful error message instead.
View 9 Replies
View Related
Jul 11, 2012
I'm trying to use indexOf to see whether an element exists within an array. However, when I try to execute my script, it comes back saying "myLayers.indexOf() is not a function"
Here is some of my code:
for (var i = 0; i < myDoc.layers.length; i++) {
if (myLayers.indexOf(myDoc.layers[i]) != -1) {
myDoc.layers[i].remove();
}
}
View 4 Replies
View Related
Feb 5, 2013
I have two shapes overlapped (a circle and a star be to be exact). A triangular are of the star is overlapping the circle.
How can I merge the two shapes in order to delete specific paths? Thus creating a pie-like shape (circle, with the triangular section cut out of it).
View 4 Replies
View Related
Apr 12, 2012
I need access to AI guides in AfterEffects shift+alt+ctrl double click doesn't always work.
Is there a script to convert all guides to paths?
View 2 Replies
View Related
Mar 11, 2014
I'm a novice here so here's my script. It works really well like it sits. It basically takes two objects in a large group and aligns them. I want to make each two objects combined into a single compound path. I have tried multiple things and they all just kick out errors and what not. I can't seem to get my head around the vocabulary for the scripting but the darkness is starting to fade the more I do.
#target Illustrator
var idoc = app.activeDocument;
var pi =idoc.compoundPathItems;
var numn = prompt ("How Many Names?", "Enter Number of Names");
var dd = prompt ("How far below name is the number?", "Enter Drop Distance");
var nH = prompt ("How tall are the names?", "Enter Name Height in Inches");
dd = parseFloat (dd);
numn = parseInt (numn);
nH = parseFloat (nH);
[code]...
Would Like to combine the aligned items into a single compound item.
View 1 Replies
View Related
May 2, 2009
I have hundreds of shapes filled with a pattern of lines. I am trying to figure out a way to clip the lines without ending up with the lines that have been converted to (outlines) closed shapes. It seems like a simple proceedure but Illustrator keeps converting them to closed shapes whenever I try any type of clipping or cropping technique.
I have attached a screen shot showing an example of the shape with tthe line.
View 11 Replies
View Related
Jul 10, 2012
I have created this script for selecting open paths in illustrator cs6 as the graffix plugin is not working under CS6.
Just save the following text in /Applications/Adobe Illustrator CS6/Presets/en_US/Scripts/Select Open Paths.js
if (documents.length > 0 && activeDocument.pathItems.length > 0){
var allPaths = activeDocument.pathItems;
var allPathsCount = allPaths.length;
var openPathsAreLocked = false;
[Code] ........
View 4 Replies
View Related
Jul 17, 2013
I need to create an action. A simple one. The idea: One path is selected, a user runs the action, it makes a copy of that path, moves the copy, select both the path and its copy and makes a blend.
I tried to record that action, but Illustrator does not record the paths selection/selecting.
Even a simplier task: How, in general, having one path selected, select an item/path above or below it? And how to select them both?
I can make a script for that, but the requirement is to keep it as simple as possible: have an Action only without any scripts, if possible.
View 2 Replies
View Related
Sep 23, 2012
I use my script to embeding a placed graphic (MyImage.embed();). Then I always get a group with the correct paths and two clipping paths in a grouped grouped groupItem.
My question is: I want to delete the two clipping paths to get only the correct paths of the graphic.
This is, what I always have:
and this is, what i want:
View 8 Replies
View Related
Jan 25, 2012
I want to extract all the texts in a illustrator file to a txt file. which could be done like this:
var docObj=app.activeDocument;
var tfObj=docObj.textFrames;
var myTextFrames = [];
for(var m=0; m < tfObj.length; m++){
myTextFrames.push(tfObj[m].contents);
}
But since the text frames were extracted by create order, not by layout, I want to ajust the oder from top left to bottom right first, then export.
I thought it could be done by selecting all the text frames first, then sorting the selection orders by loop. But I don't know how to select all the text frames, and not sure whether this is the right way...
View 10 Replies
View Related
Jan 7, 2009
I'm on Illy CS2, windows xp.
I want to open a doc, run a script that selects all paths of a color, say 255,0,0 or 50,0,20,4 and changes that color to black or another color I specify and also changes the stroke. Is this possible? I can't see how i would do it?
View 6 Replies
View Related
May 3, 2012
Code snippet to show me how to iterate through the selected text (not the frame!, not the words, only the selected chars) and make any change on the characterAttributes (size, color, etc.)?
In the property "app.activeDocument.selection" usually the selected objects are stored as an array. Now when I select characters in a textframe (or TextPath, whatever) there is a [Textrange] in it. I already tried some combinations like this snippet underneath but I still get errors, that selectedChars[i] is undefined.I'm on Illustrator CS4, Mac OS X, Javascript
var selectedChars = app.activeDocument.selection.characters;
for (i = 0; i < selectedChars.length; i++ ){
selectedChars[i].characterAttributes.fillColor = myNewCMYKColor;
View 14 Replies
View Related
Oct 4, 2012
is there a way to get position of any selected object? It seems like normally you have to dive into specific item like textFrames to get position, but was curious if there was a generic way of doing this for selected objects.
View 5 Replies
View Related
Sep 6, 2012
I'd like to draw a box around some selected text (a textRange), however I can't figure out how to detemine the size or position of the text. The overall size of a textFrame is possible to find (not sure about position), but when you've got just a few characters selected I don't see any way to get the size or position.
View 6 Replies
View Related
Nov 15, 2013
Simple solution to aligning selected items to the artboard. I was going to create an action but then realized it would be more convenient for me to include it in my script file....I have a script to align objects with each other but they dont align to the artboard.
View 11 Replies
View Related
Feb 4, 2014
It is possible to apply the Convert to Grayscale(Edit->Edit Colors->Convert to Grayscale) for the selected items in illustrator cs3 in script (javascript)?
View 12 Replies
View Related
May 30, 2013
When I run the script for an object selection, I want each object to have its color set to the underlying color as if I had used the eyedropper tool. Is this something that can be scripted?
View 1 Replies
View Related
Apr 23, 2013
How can I get width that multiple selected items? (Not grouped.)
//---------- source code ----------
var mm = 2.83464566929134 //unit conversion. (point->milimeter)
var W = docRef.selection[0].width/mm;
alert(W);
//---------- source code ----------
View 3 Replies
View Related
Jun 5, 2008
I wanted to ask if by chance any of the scripting gurus here happen to have written an AI script that will take a number of selected sublayers/sub-sublayers and move them so they become top-level layers?
I am really needing this very badly, given that After Effects can only handle AI layers as separate entities. So I find myself moving tens, even hundreds of nested sublayers to the top level all the time.
Is it possible this script exists already?
View 16 Replies
View Related
Jan 22, 2014
I am using this script to find and replace words in layers. (The script only targets particualr words, rather than the whole layer name).
I would like to make it so it targets selected layers only.
I have found this script which loops through selected layers only, but I am not sure how to add the find and replace layer name functioality.
View 7 Replies
View Related
Feb 25, 2013
I want to change my selected text to a different cmyk color using javascript. I have tried and I do not know what is missing or what I am doing wrong.
if ( app.documents.length > 0 ) {
newCMYKColor = new CMYKColor();
newCMYKColor.black = 0;
[Code]...
View 4 Replies
View Related
Mar 1, 2013
I'm trying to do some workflow enhancements. For our games we need to export to PNG at different resolutions for different mobile devices. I use a artboard per asset and currently manually export 3 times (using file/export/png with use artboards option), at 72 dpi, 144 dpi and 33.75 dpi.
I've been modifying a simple Javascript I downlaoded and have got it save to different fixed locations at different scales. All good. However exporting every artboard each time will cause issues with our version control system and take too long. It's not really a solution.
So I need a way to either only export the current selected artboards (which I believe can't be done) or somewho show the artboard range dialog that the system uses. Either of those would be a good solution.
var docRef = app.activeDocument;
var num_artboards = docRef.artboards.length;
var getName = app.activeDocument.name;
var fileName = getName.slice(0, -3);
[code]...
View 7 Replies
View Related
Sep 16, 2011
i gotta deliver some drawings. Problem is that when i move/copy/etc any Mtext/Multileader/Dimension in Autocad 2011 LT the text "thickens".
I googled the problem at first and found out that for the Mtext, i needed to set Z positition/Elevation to 0, in order for the text to return to normal. What i gotta do to fix the dimensions and multileaders.
View 9 Replies
View Related
Apr 18, 2013
I've written a script to allow you to select an image to replace any number of selected files. Each file starts out as an embeded image with a .note to determine where the basis of alignment for the new file should be (i.e. "top," "bottom," "left," "right"). You'll find the code below:
#target illustrator
if (app.documents.length > 0) {
var docRef=app.activeDocument;
var docSelection = docRef.selection;
// ** Get new file
[Code]...
For some reason, the ".note" added at the end of the script gets erased once the script is complete. I can even get it to confirm that it applied the note to the image, but once it's complete, it's gone.
View 6 Replies
View Related
Feb 20, 2013
Is there a way to send a selected textFrame item to a layer using javascript?
I don't mind if it is send to current layer or some other way to accomplish the task.
(Using Adobe Illustrator CS4)
View 5 Replies
View Related
Apr 2, 2013
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.
View 15 Replies
View Related
Oct 27, 2013
Problem:
How to read real number data from selected columns in an Excel spreadsheet into an illustrator javascript array variable, so that then I can use this information to construct an illustrator polygon.
Further information:
I am new to javascript (and not much of a programmer in the best case, but do have some basic knowledge using ancient languages like FORTRAN 88). I am sure I am just missing an important step here despite all morning browsing with Google for answers (something to do with variable definition I assume?). I have some survey data defining the outline of features in map view listed in a string of point (x,y) values in adjacent columns in excel (these x,y point values calculated from GPS data using a commercial program to converted 3D position to a 2D x,y by geoid projection, and then in excel to re-scale point locations to illustrator’s artboard). What I am trying to do is select columns of x,y value pairs in an excel spreadsheet, copy these values to the clipboard, and then develop an IA JavaScript to draw a polygon through the specified set of x,y points. It seems easy enough to script illustrator to draw the polygon once I get the values from the clipboard are in a javascript array (lots a good tips here [URL] ....), but pulling in the clipboard data seems to be beyond me. I have tried populating a defined array with various combinations of array declarations and app.paste(); or windows.clipboardData.getData('text/plain'); with no satisfaction. I then had the idea to try to pull in the clipboard to one long continuous string, place that in a text box (see see its structure), andthen read and split up the text in a loop to populate the JavaScript array…but that deposited a complex illustrator table object into my text box, and several attempts to force the clipboard to paste text did not work (again probably having problems understanding variable type declaration).
I would be happy to find any method of scripting the pull of the selected on an excel spreadsheet for use in an Illustrator script…so if I am making this all harder than it needs, be I would be grateful to know that also!
View 4 Replies
View Related
Jul 16, 2013
I can't seem to figure out a simple/direct method to identify the index of the selected item in a list box.
I feel like I'm missing something, but I can't seem to figure which (if any) property returns an index number if you use it with the .onChange callback for a ListBox.
The following code accomplishes what I need but isn't particularly efficient or elegant and can get muddled if you introduce multiple lists to check.
Any way to duplicate this same behavior with better code
var res = "palette {text: 'Example List', properties:{resizeable:true}
pnl: Panel{orientation: 'row',preferredSize: [400,600],
list1: ListBox{preferredSize: [400,550], properties:{multiselect:true,numberOfColumns:2, showHeaders:true,columnTitles: ['List 1', 'Subitem 0']}},
}}"
[Code]...
View 4 Replies
View Related
Dec 19, 2011
How to make the following script for adding serial numbers apply to multiple files in a selected folder?
var docRef = app.activeDocument;
with (docRef) {
var docName = name.substring(0, name.lastIndexOf('.'));
var artRight = visibleBounds[2];
[Code] .....
View 6 Replies
View Related
Aug 27, 2013
Rhino allows for two-rail curves and extrusions, is there anything similar in Autocad2013? I'm working on a trellis that has an undulating, slatted top - I can array the slats along one spline/polycurve, but figuring out how to rotate them to match the secondary angle/curve (it twists) is proving to be really difficult. Rotate3D I have trouble with (crossing different faces/USC which confuses me), and doing so for each slat is going to be exceptionally time consuming.
Is there a way to array a form along two paths, so that the pieces automatically adjust to match the needed angles that both rails define?
View 4 Replies
View Related